会话列表

功能描述

用户在登录 App 后,可以展示最近会话列表,方便找到目标会话。
会话列表功能主要分为获取会话列表、监听会话列表更新事件。
核心数据结构 Conversation

获取会话列表

接入侧可通过调用 getConversationList 接口主动获取会话列表。
接口
chat.getConversationList(options);
参数
名称
类型
描述
options
undefined | Array | Object
options 不传表示获取全部会话
options 传入数组参数表示获取指定的多个会话,如果传入空数组,则接口不返回数
options 传入 { type, markType, groupName, hasUnreadCount, hasGroupAtInfo }表示按这些条件过滤会话列表。

返回值
Promise
示例
// 获取全量的会话列表
let promise = chat.getConversationList();
promise.then(function(imResponse) {
// 全量的会话列表,用该列表覆盖原有的会话列表
const conversationList = imResponse.data.conversationList;
// 从云端同步会话列表是否完成
const isSyncCompleted = imResponse.data.isSyncCompleted;
}).catch(function(imError) {
// 获取会话列表失败的相关信息
console.warn('getConversationList error:', imError);
});
// 获取指定的会话列表
let promise = chat.getConversationList([
conversationID1,
conversationID2
]);
promise.then(function(imResponse) {
// 缓存中已存在的指定的会话列表
const conversationList = imResponse.data.conversationList;
}).catch(function(imError) {
// 获取会话列表失败的相关信息
console.warn('getConversationList error:', imError);
});
// 获取所有的群会话
let promise = chat.getConversationList({
type: TencentCloudChat.TYPES.CONV_GROUP
});
promise.then(function(imResponse) {
const conversationList = imResponse.data.conversationList; // 会话列表
});
// 获取所有的“标星”会话
let promise = chat.getConversationList({
markType: TencentCloudChat.TYPES.CONV_MARK_TYPE_STAR
});
promise.then(function(imResponse) {
const conversationList = imResponse.data.conversationList; // 会话列表
});
// 获取所有的无标记的会话(v3.3.0起支持)
let promise = chat.getConversationList({ markType: 0 });
promise.then(function(imResponse) {
const conversationList = imResponse.data.conversationList; // 会话列表
});
// 获取指定会话分组下的所有会话
let promise = chat.getConversationList({ groupName: 'Suppliers' });
promise.then(function(imResponse) {
const conversationList = imResponse.data.conversationList; // 会话列表
});
// 获取不属于任何分组的会话(v3.3.0起支持)
let promise = chat.getConversationList({ groupName: '' });
promise.then(function(imResponse) {
const conversationList = imResponse.data.conversationList; // 会话列表
});
// 获取有未读数的会话(v3.3.0起支持)
let promise = chat.getConversationList({ hasUnreadCount: true });
promise.then(function(imResponse) {
const conversationList = imResponse.data.conversationList; // 会话列表
});
// 获取有群 @ 消息的会话(v3.3.0起支持) let promise = chat.getConversationList({ hasGroupAtInfo: true }); promise.then(function(imResponse) { const conversationList = imResponse.data.conversationList; // 会话列表 });

监听会话列表更新事件

接入侧监听 TencentCloudChat.EVENT.CONVERSATION_LIST_UPDATED 事件,获取会话列表更新的通知。
示例
let onConversationListUpdated = function(event) {
console.log(event.data); // 包含 Conversation 实例的数组
};
chat.on(TencentCloudChat.EVENT.CONVERSATION_LIST_UPDATED, onConversationListUpdated);