ASP.NET SignalR 与LayIM配合,轻松实现网站客服聊天室(六)之 好友申请、同意、拒绝
不知道距离上一篇多久没有写了,可能是因为忙(lan)的关系吧。废话不多说,今天要介绍的不算什么新知识,主要是逻辑上的一些东西。什么逻辑呢,加好友,发送好友申请,对方审批通过,拒绝。(很遗憾,对方审批通过和拒绝后的通知没做,看完本博客的小伙伴有兴趣的可以尝试一下)。
抽空写了新版本的聊天室,内容和上次差不多,这次加上了数据库来处理一些逻辑,包括登录注册功能,OK,现在开始。
- 好友申请
新版本中做了一个默认分组:注册用户 的功能,即所有注册进来的人都会存在于该组中,该组和普通群组一样,可以群聊,也可以单独找人聊,添加好友的目的就是为了在茫茫人海中找到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
ASP.NET SignalR 与LayIM配合,轻松实现网站客服聊天室(六)之 好友申请、同意、拒绝的更多相关文章
- 转载 ASP.NET SignalR 与LayIM配合,轻松实现网站客服聊天室(三) 激动人心的时刻到啦,实现1v1聊天
ASP.NET SignalR 与LayIM配合,轻松实现网站客服聊天室(三) 激动人心的时刻到啦,实现1v1聊天 看起来挺简单,细节还是很多的,好,接上一篇,我们已经成功连接singalR服务器 ...
- 转载 ASP.NET SignalR 与LayIM配合,轻松实现网站客服聊天室(一) 整理基础数据
ASP.NET SignalR 与LayIM配合,轻松实现网站客服聊天室(一) 整理基础数据 最近碰巧发现一款比较好的Web即时通讯前端组件,layim,百度关键字即可,我下面要做的就是基于这个前 ...
- ASP.NET SignalR 与LayIM配合,轻松实现网站客服聊天室(二) 实现聊天室连接
上一篇已经简单介绍了layim WebUI即时通讯组件和获取数据的后台方法.现在要讨论的是SingalR的内容,之前都是直接贴代码.那么在贴代码之前先分析一下业务模型,顺便简单讲一下SingalR里的 ...
- ASP.NET SignalR 与LayIM配合,轻松实现网站客服聊天室(四) 添加表情、群聊功能
休息了两天,还是决定把这个尾巴给收了.本篇是最后一篇,也算是草草收尾吧.今天要加上表情功能和群聊.基本上就差不多了,其他功能,读者可以自行扩展或者优化.至于我写的代码方面,自己也没去重构.好的,我们开 ...
- ASP.NET SignalR 与LayIM配合,轻松实现网站客服聊天室(一) 整理基础数据
最近碰巧发现一款比较好的Web即时通讯前端组件,layim,百度关键字即可,我下面要做的就是基于这个前端组件配合后台完成即时聊天等功能.当然用到的技术就是ASP.NET SingalR框架.本人不会c ...
- ASP.NET SignalR 与LayIM配合,轻松实现网站客服聊天室(五) 补充:历史记录 和 消息提醒
有开发者提问怎么做历史记录功能和即使不打开聊天窗口有消息提醒功能.简单抽时间写了点代码.不过只是基本思路,具体细节没有实现. 正如前几篇博客中提到的,读取历史记录什么时候读取呢?按照常理,应该是打开聊 ...
- ASP.NET SignalR 与LayIM配合,轻松实现网站客服聊天室(三) 激动人心的时刻到啦,实现1v1聊天
看起来挺简单,细节还是很多的,好,接上一篇,我们已经成功连接singalR服务器了,那么剩下的内容呢,就是一步一步实现聊天功能. 我们先看看缺什么东西 点击好友弹框之后,要给服务器发消息,进入组Gro ...
- ASP.NET SignalR 与LayIM配合,轻松实现网站客服聊天室(八)之 聊天记录入队(列)
本篇也算是个番外篇了,跟之前几篇关系不算大.之前一篇 RabbitMQ .NET Client 实战实验 里有介绍过今天要用的内容. 做了一下小更改,就是在用户聊天的时候,消息记录不直接进入数据库, ...
- ASP.NET SignalR 与LayIM配合,轻松实现网站客服聊天室(七)之 图文,附件消息(2016-05-05 12:13)
上一篇介绍了加好友的流程,这里不再赘述,不过之前的聊天只能发送普通文字,那么本篇就教你如何实现发送附件和图片消息.我们先对功能进行分析: 发送图片,附件,需要实现上传图片和附件的功能. textare ...
随机推荐
- oracle 笔记---(三)__体系架构
查看控制文件位置 SQL> show parameter control_files; NAME TYPE VALUE ------------------------------------ ...
- lnmp 一键搭建脚本
转载注明出处!!!!!!!!! 不足之处望多多指教. 不明之处站内私. #!/bin/bash #################################################### ...
- TOJ 2815 Connect them (kruskal+并查集)
描述 You have n computers numbered from 1 to n and you want to connect them to make a small local area ...
- 我的博客已经迁移到csdn
博客已经迁移csdnhttp://blog.csdn.net/u013372900 博客园我很喜欢是源于他的可扩展性,可以自己去改,但遗憾的是博客园的速度似乎不是很给力.IT能有今天的 发展是源于无数 ...
- Linux抓包工具:tcpdump
tcpdump 是一个命令行实用工具,允许你抓取和分析经过系统的流量数据包.它通常被用作于网络故障分析工具以及安全工具. tcpdump 是一款强大的工具,支持多种选项和过滤规则,适用场景十分广泛.由 ...
- 数据降维(Dimensionality reduction)
数据降维(Dimensionality reduction) 应用范围 无监督学习 图片压缩(需要的时候在还原回来) 数据压缩 数据可视化 数据压缩(Data Compression) 将高维的数据转 ...
- springboot整合rabbitmq,支持消息确认机制
安装 推荐一篇博客https://blog.csdn.net/zhuzhezhuzhe1/article/details/80464291 项目结构 POM.XML <?xml version= ...
- 求大神帮忙解决一下c#winfrom bindingNavigatorPositionItem加载直接跳转问题
c# winfrom bindingNavigatorPositionItem控件问题加载直接跳转到相对应的行的问题
- 解决npm install安装慢的问题
国外镜像会很慢 可用 get命令查看registry npm congfig get registry 原版结果为 http://registry.npmjs.org 用set命令换成阿里的镜像就可以 ...
- Web程序中使用EasyUI时乱码问题
今天偶然遇见使用easyUI时,弹窗和分页都是乱码的问题,耗费了很长的时间来解决,以此记住这个坑. 相信大家都会在使用easyUI时都会设置这样一句: 那么就有可能出现设置中文后的乱码问题,如下图: ...