tencent cloud

文档反馈

React Native

最后更新时间:2024-11-20 15:50:48

    功能描述

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

    获取会话列表

    说明:
    1. 该接口获取的会话列表中的资料是不完整的(仅包括头像、昵称等,能够满足会话列表的渲染需求),若要查询详细会话资料,可参考 getConversationProfile
    2. 客户端默认可从云端拉取 100 个最近联系人会话,升级进阶版后可配置从云端拉取最多 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); // 获取会话资料失败的相关信息
    });
    
    联系我们

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

    技术支持

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

    7x24 电话支持