• ASP.NET SignalR 与LayIM配合,轻松实现网站客服聊天室(六)之 好友申请、同意、拒绝


      不知道距离上一篇多久没有写了,可能是因为忙(lan)的关系吧。废话不多说,今天要介绍的不算什么新知识,主要是逻辑上的一些东西。什么逻辑呢,加好友,发送好友申请,对方审批通过,拒绝。(很遗憾,对方审批通过和拒绝后的通知没做,看完本博客的小伙伴有兴趣的可以尝试一下)。

      抽空写了新版本的聊天室,内容和上次差不多,这次加上了数据库来处理一些逻辑,包括登录注册功能,OK,现在开始。

    1. 好友申请

      新版本中做了一个默认分组:注册用户 的功能,即所有注册进来的人都会存在于该组中,该组和普通群组一样,可以群聊,也可以单独找人聊,添加好友的目的就是为了在茫茫人海中找到TA。O(∩_∩)O,先上一个图:

     

      我当前的用户是zhangsan,点击一下GD,可以看到如下窗口:

      我们就从这一步开始吧。首先,当前用户和要聊天的用户建立连接之后,在后台检查是否是好友并且是否存在好友申请记录(后续会提到 ),逻辑很简单,建立一个好友表,查一下,有没有好友关系即可,我们具体看一下,客户端连接成功之后,返回的json是什么:

      解释一下,每个字段的含义。

    gid 聊天室唯一id
    history 聊天历史记录集合
    isfriend 是否是好友,handle,申请处理结果
    rid 对方id
    sid 本人id
    type one代表单聊  group代表群组

      可以看到isfriend中的friend为0,那么就会弹出“还不是好友,是否添加对方为好友”的提示。如果isfriend中的handle(0代表对方申请成为好友,1代表对方同意,2代表对方拒绝),当你点击发送的时候会弹出如下框,添加备注,并且发送成功之后,提示文字会更改:

      2.好友审批

      好友申请已经完成了,我们换成GD用户登录,点击钟表图标,会看到如下效果:

      点击头像,弹出对话框:

      点击是,加为好友,否,拒绝添加好友。拒绝我就不演示了。点击是之后呢,再看看我们的好友列表是不是多了一个好友呢,而且默认分组就是我的好友哦。

      在换回zhangsan用户,看看吧

      PS:虽然不加好友也能聊天。但毕竟多了一层好友关系嘛。其实这个web聊天室可以把很多QQ的功能模仿出来。这次就先介绍加好友吧。(至于为什么拿GD做示范。。。大概是脑子抽了吧。)

      总结:本期简单介绍了加好友的逻辑流程.也作为此系列的终结篇。抽空研究一下,权限验证等其他高级功能。为大家奉献出来,希望大家喜欢,本期就到这里啦。( ^_^ )/~~拜拜

      代码地址:https://github.com/fanpan26/LayIM_SignalR_Chat

  • 相关阅读:
    maven第三章 maven使用入门
    各个软件产生的原因
    maven的pom.xml深入理解
    批量同步订单信息(包括状态)到订单中心心得
    数据库连接超时和go away、如何检测数据库的最大连接数
    记录错误日志的技巧
    架构思想总结同步和事务的具体应用
    业务逻辑复杂性处理
    日志系统总结
    php捕获异常的处理
  • 原文地址:https://www.cnblogs.com/panzi/p/5461364.html
Copyright © 2020-2023  润新知