Conversation
,然后再把所有的 Conversation
的 unreadCount
相加起来,展示在 UI 上。
SDK 现在为您提供了直接查询所有会话未读消息总数的 API getTotalUnreadMessageCount。
当会话未读总数发生变更时,SDK 会通过 TencentCloudChat.EVENT.TOTAL_UNREAD_MESSAGE_COUNT_UPDATED 事件将最新的未读总数通知出来。chat.getTotalUnreadMessageCount();
Number
// 获取单聊和群聊会话的未读总数let totalUnreadCount = chat.getTotalUnreadMessageCount();
let onTotalUnreadMessageCountUpdated = function(event) {console.log(event.data); // 当前单聊和群聊会话的未读总数};chat.on(TencentCloudChat.EVENT.TOTAL_UNREAD_MESSAGE_COUNT_UPDATED, onTotalUnreadMessageCountUpdated);
chat.setMessageRead(options);
Name | Type | Description |
conversationID | String | 会话 ID。会话 ID 组成方式: C2C${userID}(单聊) GROUP{groupID}(群聊) GROUP${topicID}(话题) @TIM#SYSTEM(系统通知会话) |
Promise
// 将某会话下所有未读消息已读上报let promise = chat.setMessageRead({conversationID: 'C2Cexample'});promise.then(function(imResponse) {// 已读上报成功,指定 ID 的会话的 unreadCount 属性值被置为0}).catch(function(imError) {// 已读上报失败console.warn('setMessageRead error:', imError);});
chat.setAllMessageRead(options);
Name | Type | Description |
scope | String | undefined | 设置消息处理的范围。详细类型如下: TencentCloudChat.TYPES.READ_ALL_C2C_MSG (设置所有 C2C 会话未读消息为已读)TencentCloudChat.TYPES.READ_ALL_GROUP_MSG (设置所有群会话未读消息为已读)TencentCloudChat.TYPES.READ_ALL_MSG (默认值,设置所有 C2C 和群会话未读消息为已读) |
Promise
// 将所有会话的未读消息全部设置为已读let promise = chat.setAllMessageRead(); // 等同于 chat.setAllMessageRead({scope: TIM.TYPES.READ_ALL_MSG})promise.then(function(imResponse) {// 已读上报成功,所有会话的 unreadCount 属性值被置为0}).catch(function(imError) {// 已读上报失败console.warn('setAllMessageRead error:', imError);});
// 将所有 C2C 会话的未读消息全部设置为已读let promise = chat.setAllMessageRead({scope: TencentCloudChat.TYPES.READ_ALL_C2C_MSG});promise.then(function(imResponse) {// 已读上报成功,所有 C2C 会话的 unreadCount 属性值被置为0}).catch(function(imError) {// 已读上报失败console.warn('setAllMessageRead error:', imError);});
// 将所有群会话的未读消息全部设置为已读let promise = chat.setAllMessageRead({scope: TencentCloudChat.TYPES.READ_ALL_GROUP_MSG});promise.then(function(imResponse) {// 已读上报成功,所有 C2C 会话的 unreadCount 属性值被置为0}).catch(function(imError) {// 已读上报失败console.warn('setAllMessageRead error:', imError);});
chat.sendMessage(message, {messageControlInfo: {excludedFromUnreadCount: true, // 消息不更新会话 unreadCount(消息存漫游)excludedFromLastMessage: true // 消息不更新会话 lastMessage(消息存漫游)}});
本页内容是否解决了您的问题?