Get Conversations
功能描述
获取会话列表
说明:
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); // 获取会话资料失败的相关信息});