tencent cloud

文档反馈

JavaScript

最后更新时间:2024-11-13 18:11:51

    功能描述

    用户在登录 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);
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持