Get Conversations

功能描述

Chat SDK 提供获取会话的接口,可以获取指定的单个、多个会话的 Conversation 对象信息。

获取会话列表

说明:
1. 该接口获取的会话列表中的资料是不完整的(仅包括头像、昵称等,能够满足会话列表的渲染需求),若要查询详细会话资料,可参考 getConversationProfile
2. 客户端默认可从云端拉取 100 个最近联系人会话,升级专业版、专业版plus或企业版后可配置从云端拉取最多 500 个最近联系人会话。会话保存时长跟会话最后一条消息保存时间一致,消息默认保存7天,即会话默认保存7天。请参见计费说明
3. 会话保存时长跟会话最后一条消息保存时间一致,消息默认保存7天,即会话默认保存7天。
4. 支持获取指定的多个会话。
5. 支持根据会话类型、会话标记值、会话分组名过滤会话列表。
6. 该接口的返回数据字段 isSyncCompleted,用于标识从云端同步会话列表是否完成。
7. 登录成功后,SDK 会以【分页请求】的方式主动拉取会话列表。此接口的返回结果即为 SDK 拉取到的会话列表。如果 SDK 尚未从云端拉取到数据,调用此接口 SDK 将返回空数组。
接口
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; // 全量的会话列表,用该列表覆盖原有的会话列表
}).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; // 会话列表
});
// 获取所有的无标记的会话
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; // 会话列表
});
// 获取不属于任何分组的会话
let promise = chat.getConversationList({ groupName: '' });
promise.then(function(imResponse) {
const conversationList = imResponse.data.conversationList; // 会话列表
});
// 获取有未读数的会话
let promise = chat.getConversationList({ hasUnreadCount: true });
promise.then(function(imResponse) {
const conversationList = imResponse.data.conversationList; // 会话列表
});
// 获取有群 @ 消息的会话
let promise = chat.getConversationList({ hasGroupAtInfo: true });
promise.then(function(imResponse) {
const conversationList = imResponse.data.conversationList; // 会话列表
});

获取会话详细资料

接口
chat.getConversationProfile(conversationID);
参数
Name
Type
Description
conversationID
String
会话 ID。
会话 ID 组成方式:
C2C${userID}(单聊)
GROUP{groupID}(群聊)
@TIM#SYSTEM(系统通知会话)
返回值
Promise
示例
let promise = chat.getConversationProfile(conversationID);
promise.then(function(imResponse) {
// 获取成功
console.log(imResponse.data.conversation); // 会话资料
}).catch(function(imError) {
console.warn('getConversationProfile error:', imError); // 获取会话资料失败的相关信息
});