本帖最后由 renho 于 2022-11-13 16:59 编辑
如何用活字格打造即时聊天系统
-- 用户在线列表(非一般心跳检测实现)
一、三言两语
今天抽时间用了下新版活字格的服务端通知功能
活字格的服务端通知使用websockt(简写为ws)实现的
ws只需要握手一次,这样就能一直连接,就能实现即时聊天、实时通知等功能
整体使用下来,使用起来还是比较方便,活字格把地址给封装起来了,大家使用的时候不需要去关注连接。
其实大家这样理解就容易马上上手服务端通知
1:服务端通知(设计器左下侧新增):相当于建了个微信群
2:页面订阅频道(页面加载时调用):相当于大家进入了微信群
3:服务端命令 发送通知(调用服务端命令):相当于在微信群发了条消息。
目前服务端通知 唯一不好的地方呢,就是ws实现的不完整,不过后续还有上升空间。
好了废话不多说,先上图
二、数据表
新增了一张表,专门用于记录用户在线状态
新增了1个公式字段,用于计算秒
公式为 =(now()-[onlinedate])*24*60*60
三、服务端通知
新增一个即时通讯频道,在模板页面加载的时候,进行订阅(订阅就相当于正式进入了这个频道,频道里面的用户,都能收到消息)
四、页面命令
使用了js命令,定时执行
定时点击按钮,更新当前用户在线状态
其实也就是把status设置为了1
1代表在线 0代表离线
五、定时任务
定时进行检测,获取status = 1 的用户数据
然后与当前时间进行比较,检测时间差
如果大于一定值则把status置为0
完成上述操作,基本就能实现一个在线用户列表了。
工程文件在官方商城已经上架,欢迎选购
即时聊天框架 - 葡萄城市场 (grapecity.com.cn)
|