更新时间: 2020-08-26
# 获取所有会话未读数
会话未读数指某一个会话中未读消息的数量
- 清除浏览器缓存会导致会话未读数不准确
- 会话消息未读数存储在 WebStorage 中, 若浏览器不支持或禁用 WebStorage,未读消息数将不会保存,浏览器页面刷新未读消息数将不会存在
# 代码示例
im.Conversation.getTotalUnreadCount().then(function(totalUnreadCount) { console.log('获取未读总数成功', totalUnreadCount); });
已复制
1
2
3
2
3
# 清除单个会话未读数
# 代码示例
var conversation = im.Conversation.get({ targetId: '接收方的 userId', type: RongIMLib.CONVERSATION_TYPE.PRIVATE }); conversation.read().then(function(){ console.log('清除未读数成功'); // im.watch conversation 将被触发 });
已复制
1
2
3
4
5
6
7
2
3
4
5
6
7
# 获取指定会话未读数
# 代码示例
let conversation = im.Conversation.get({ targetId: '接收方的 userId', type: RongIMLib.CONVERSATION_TYPE.PRIVATE }); conversation.getUnreadCount().then(function(count) { console.log('获取指定会话未读数成功', count); })
已复制
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
# 多端同步未读数
未读消息存在 localStorage 中,未读消息数是针对当前端的未读消息数,服务器不存未读消息数量。
# 实现方案
- 调用 conversation.read() 清除未读数。
- 清除成功后发送
RC:SRSMsg
类型消息进行未读数同步。 - 其他端接受到
RC:SRSMsg
类型消息,掉用 conversation.read() 方法进行本地未读数清除。