一、功能描述
注意:说明:
注意:该功能仅对旗舰版或企业版客户开放,购买 旗舰版或企业版套餐包 后可使用。
二、会话标记
你可以调用 markConversation 接口标记或者取消标记会话。
注意:1. 当用户标记了会话,SDK 只是简单记录了会话的标记值,并不会改变会话的底层逻辑,比如标记会话为 CONV_MARK_TYPE_UNREAD,会话的底层的未读数并不会发生改变。
注意:2. SDK 提供了四个默认标记("会话标星"、"会话折叠"、"会话隐藏"、“会话标记未读”),如果已有标记不能满足你的需求,你可以自定义扩展标记,扩展标记需要满足以下两个条件:
接口
chat.markConversation(options);
参数
参数 options 为 Object 类型,包含的属性值如下:
| 名称 | 类型 | 描述 |
| conversationIDList | String | 会话 ID 列表 |
| markType | String | 会话标记类型 |
| enableMark | Boolean | true 设置标记false 取消标记 |
返回值
Promise
示例
// 会话标星let promise = chat.markConversation({ conversationIDList: ['GROUPtest', 'C2Cexample'], markType: TencentCloudChat.TYPES.CONV_MARK_TYPE_STAR, enableMark: true});promise.then(function(imResponse) { // 会话标星成功 const { successConversationIDList, failureConversationIDList } = imResponse.data; // successConversationIDList – 标星成功的会话 ID 列表 // 获取会话列表 const conversationList = TencentCloudChat.getConversationList(successConversationIDList); // failureConversationIDList – 标星失败的会话 ID 列表 failureConversationIDList.forEach((item) => { const { conversationID, code, message } = item; });}).catch(function(imError) { console.warn('markConversation error:', imError);});
三、监听会话标记变更通知
会话被标记或者取消标记后,会话 Conversation 的 markList 字段会发生变更,你可以通过事件 CONVERSATION_LIST_UPDATED 监听会话变更通知。
示例
let onConversationListUpdated = function(event) { console.log(event.data); // 包含 Conversation 实例的数组};tim.on(TencentCloudChat.EVENT.CONVERSATION_LIST_UPDATED, onConversationListUpdated);
四、拉取指定标记会话
你可以调用 getConversationList 接口拉取指定标记会话。
示例
// 获取所有的“标星”会话let promise = chat.getConversationList({ markType: TencentCloudChat.TYPES.CONV_MARK_TYPE_STAR });promise.then(function(imResponse) { const conversationList = imResponse.data.conversationList; // 会话列表});
// 获取所有折叠的 C2C 会话let promise = chat.getConversationList({ markType: TencentCloudChat.TYPES.CONV_MARK_TYPE_FOLD, type: TencentCloudChat.TYPES.CONV_C2C});promise.then(function(imResponse) { const conversationList = imResponse.data.conversationList; // 会话列表});