向浏览器推送用户消息怎么设计?

天使小楠 发布于 2015/06/01 09:18
阅读 1K+
收藏 2

2022首届非结构化数据峰会正在直播!矩阵革命,向量连接世界,直达峰会直播>>>

我们公司做的OA系统,需要员工填写完工作报告后,如果部门经理刚好也在线(当前也在OA系统上),则右下角弹窗提示“***日志报告“,我们目前的做法:

员工填写完报告后,会将信息保存到通知缓存中,然后根据当前登录OA的用户权限,若是经理权限,则ajax每5秒检测一下缓存,若有缓存记录,则浏览器弹窗提示,提示完就清理掉缓存。

缺点是好几个人都是经理,经常一直挂着OA系统,所以一直每5秒检测缓存,效率不太好,而且只能谁取到了谁提示,其他人取不到。

请问大家有什么好的设计方案?非常感谢!

加载中
1
朱宏青
朱宏青

别WebSocket  才几个人 无端增加复杂度

直接ajax完全没有问题 

只是需要增加一个是否已读的关联(可以考虑分级设计 第一层存是否有信息 第二层再处理信息 一层一层分开降低压力)

ray_du
ray_du
回复 @天使小楠 : 支持这个回复,确实没有必要上websocket,当然如果为了学习,也可以用
天使小楠
天使小楠
目前是这样的,有2个缓存,一个是Map<user,count>,一个是缓存详细信息Map<user,list>,浏览器每5秒轮询一次,若用户查到自己的count>0,才去读list缓存
1
hylent
hylent
通讯基本靠吼……
0
X学无止境X
X学无止境X
已读和未读,可以做一个是否已读的对应关系表。
0
天使小楠
天使小楠

引用来自“傲罗”的评论

已读和未读,可以做一个是否已读的对应关系表。
谢谢你的答案,这个可以解决每个人都能读到通知。我是想能否让员工写完报告,主动推送到每个人提醒,取消5秒自动检测这个功能。
0
李虎头
李虎头
试试websocket
0
coin_
coin_
websocket你的不二之选
0
天使小楠
天使小楠

引用来自“coin_”的评论

websocket你的不二之选
好的,我马上去看下,非常感谢
0
天使小楠
天使小楠

引用来自“coin_”的评论

websocket你的不二之选
好的,我马上去看下,非常感谢
心比天高
心比天高
websocket虽好,但浏览器得支持啊,那是html5里面的。
0
Will_awokE
Will_awokE
现在主流的浏览器都支持websocket了,当然除了万恶的xx...
0
酷酷的就
酷酷的就
该评论暂时无法显示,详情咨询 QQ 群:点此入群
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部