• UIKit
  • SDK
  • 服务端 API
Chat/
SDK/
React Native/
Conversation/
SDK
  • Overview
    • Product Features
    • Pricing
      • Billing Overview
      • Chat Monthly Package
      • Billing of Chat Out-of-Package Usage
  • Quick Start
  • Init and Login
    • SDK 集成
    • Step 2: Initialize Chat SDK
    • Step 3: Login and Logout
  • 消息
    • 消息概述
    • 发送消息
    • 接收消息
    • 历史消息
    • 转发消息
    • 修改消息
    • 消息插入
    • 删除消息
    • 清空消息
    • 撤回消息
    • 在线消息
    • 已读回执
    • 查询消息
    • 群 @ 消息
    • 定向群消息
    • 通知免打扰
    • 消息扩展
    • Translation
    • Voice-to-Text
  • Conversation
    • Overview
    • Conversation List
    • Get Conversations
    • Unread Count
    • Pin Conversations
    • Delete Conversations
    • Draft
    • Mark
    • Conversation Group
  • 群组
    • 产品概述
    • 群组管理
    • 群资料
    • 群成员管理
    • 群成员资料
    • 自定义群属性
    • 社群管理
  • Community and Topic
    • Manage Community
  • 用户
    • 用户资料
    • User Status
    • 好友管理
    • 好友列表
    • 黑名单
    • Follow
  • 信令管理
  • Client APIs
  • Changelog
  • 生成 UserSig
  • 控制台指南
    • New Console Introduction
    • 创建和升级应用
    • 基本配置
    • 功能配置
    • 账号管理
    • 群组管理
    • 回调配置
    • Real-Time Monitor
    • Auxiliary Development Tools
  • 产品介绍
    • 消息管理
      • 单聊消息
      • 消息存储
      • 离线推送
      • 群消息
      • 消息格式
    • 账号系统
      • 登陆验证
      • 在线状态管理
    • 群相关
      • 群组系统
      • 群组管理
    • 用户资料和关系链
      • 资料管理
      • 关系链管理
  • Push Service
    • Overview
    • Activate the Service
    • Quick Start
    • Manufacturer Channel
      • Manufacturer Configuration
        • Android
        • iOS
        • Flutter
        • React-Native
      • Quick Integration
        • Android
        • iOS
        • Flutter
        • React-Native
    • Statistics
    • Troubleshooting Tool
    • Client APIs
      • Android
      • iOS
      • Flutter
      • React Native
    • REST API
      • Pushing to All/Tagged Users
      • UserID-Targeted Push
      • Obtaining Application Attribute Names
      • Setting Application Attribute Names
      • Obtaining User Attributes
      • Setting User Attributes
      • Deleting User Attributes
      • Obtaining User Tags
      • Adding User Tags
      • Deleting User Tags
      • Deleting All User Tags
      • Recalling Push
    • Push Callback
      • All Users / Tags / UserID Push Callback
      • Other Push Callbacks
    • Advanced Features
      • Custom Definition Badge
      • Custom Definition Ringtone
      • Customized Icon
      • Custom Definition Click Redirect
      • Push Message Categorization
    • Release Notes
      • Android
      • iOS
      • Flutter
      • React Native
    • FAQS
  • 错误码

Conversation List

功能描述

用户在登录 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);

向社区提问!
开始技术讨论并获取即时专家支持!