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

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

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

  1. 好友申请

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

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

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

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

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

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

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

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

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

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

  2.好友审批

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

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

  点击头像,弹出对话框:

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

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

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

  在换回zhangsan用户,看看吧

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

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

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

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

上一篇:java支持跨平台获取cpuid、主板id、硬盘id、mac地址 (兼容windows、Linux)


下一篇:Activiti工作流学习-----基于5.19.0版本(2)