即时通讯
客户端 SDK
发布日志
升级指南
错误码
当前页

查询会话

2026-11-06

功能简介

ZIM 支持通过指定会话 ID 查询单个会话的详细信息,也支持批量查询多个指定会话的详细信息。

查询单个会话

用户登录后,可以调用 queryConversation 接口,指定会话 ID 及会话类型,获取对应会话的详细信息(包括会话名称、会话未读数、会话通知状态等)。

// 查询会话信息
zim_->queryConversation(
    "conv_id", conv_type,
    [=](std::shared_ptr<zim::ZIMConversation> conv, const zim::ZIMError &errorInfo) {
        // 查询会话操作的结果回调
        if (errorInfo.code == zim::ZIMErrorCode::ZIM_ERROR_CODE_SUCCESS) {

        } else {
            // 可以打印错误码和错误信息,参考 ZIM 官网错误码文档排查错误原因
        }
    });

批量查询会话

自 3.3.0 版本起,ZIM 支持批量查询会话。

用户登录后,可以调用 queryConversations 接口,传入待查询的会话基础信息(ZIMConversationBaseInfo)列表,一次性获取多个指定会话的详细信息(包括会话名称、会话未读数、会话通知状态等),无需多次调用 queryConversation。

  • 单次最多可查询 100 个会话,登录后可用,登出后不可用。
  • 查询成功的会话通过回调中的 conversations 返回,查询失败的会话基础信息通过 errorConversationInfos 返回,开发者可据此进行重试或降级处理。
// 构造待查询的会话基础信息列表
std::vector<zim::ZIMConversationBaseInfo> conversationInfos;
zim::ZIMConversationBaseInfo info;
info.conversationID = "conv_id";
info.conversationType = zim::ZIMConversationType::ZIM_CONVERSATION_TYPE_PEER;
conversationInfos.push_back(info);

// 批量查询会话信息
zim_->queryConversations(
    conversationInfos,
    [=](const std::vector<std::shared_ptr<zim::ZIMConversation>> &conversations,
        const std::vector<zim::ZIMConversationBaseInfo> &errorConversationInfos,
        const zim::ZIMError &errorInfo) {
        // 批量查询会话操作的结果回调
        if (errorInfo.code == zim::ZIMErrorCode::ZIM_ERROR_CODE_SUCCESS) {
            // conversations 为查询成功的会话列表
        } else {
            // 可以打印错误码和错误信息,参考 ZIM 官网错误码文档排查错误原因
        }
        // errorConversationInfos 为查询失败的会话基础信息列表,可据此重试或降级处理
    });

上一篇

置顶会话

下一篇

保存会话草稿

当前页

返回到顶部