前端通过一个简单的true/false判断是否显示红点ui。
后端:
每当有消息事件的时候(公告/更新/访问记录)
向用户的rediskey中存入这个数据,并且每条数据给出一个时间戳。(有效时间自行设置)
设置一个lastread。
每次打开有消息的界面的时候,从redis读取消息。。通过比对,筛选出时间戳大于lastread的消息。。
如果数量大于0,则样式控制true。展示红点
同时把数据存入消息列表
如果是其他类型,比如更新提示,或者内容较多,不常更新。。可以只保存关键字。以及时间戳。。读取时筛选时间戳大于lastread的关键字次数,大于零则展示样式。。同时把关键信息(url之类的)进行展示。。。
更新提示的话,使用字符串类型保存,每次覆盖即可
访问记录使用zset类型,每次读取进行追加后存入,排序因子使用时间戳。达到时间线展示的效果
好友消息使用同样的方法