ConversationType 枚举(HarmonyOS IMLib)

会话类型枚举:共 5 个取值,定义来自 domain.json → enums.ConversationType。

契约预留平台

HarmonyOS 当前为契约预留:本页的类、方法签名、枚举与示例全部来自冻结 IDL 与 sdk-bindings.json,SDK 尚未交付;实现后签名不会变化。

基本信息​

项值
枚举ConversationType
取值数5
本平台常量名ConversationType
IDL 来源domain.json → enums.ConversationType
跨端一致性取值跨端一致;常量名与成员名按平台绑定
平台状态契约预留

枚举常量摘要​

名称值说明
PRIVATE1单聊(1 对 1)
GROUP2群组(普通群;存量超级群以 2 + groupType=super 读取)
CHATROOM3聊天室
SYSTEM4系统通知会话(固定 targetId=system)
SUPER_GROUP10超级群(rev22 新增;存量 2 + groupType=super 仍可读)

使用说明​

几乎所有会话相关接口的第一个参数;取值同时决定 targetId 的语义(userId / groupId / chatroomId / system)。rev22 起新增 SUPER_GROUP(10):超级群会话用 10 表达,存量超级群仍以 GROUP(2) + groupType=super 读取;两者共用同一群会话键(g:{groupId}),历史、未读、回执等群语义一致。

  • 判断超级群时不要只比较 conversationType === 2:应接受 10,或 2 且会话 groupType === "super"。
  • 发送超级群消息传 10;读取历史传 2 或 10 都指向同一会话(消息自带发送时的类型)。
  • 服务端回调载荷没有 channelType 字段;机器人/集成回调的 channelType 中 10 与存量 2+super 都映射 ULTRAGROUP。
rev22 兼容(additive)

新增取值不改动 1/2/3/4 的语义;存量 2+super 数据不需要改写。迁移步骤、判断函数与回滚方式见「超级群类型迁移与兼容 FAQ」。

示例​

TypeScript
const result = await client.sendTextMessage(
  ConversationType.PRIVATE,
  'user_001',
  { type: 'text', text: 'Hello, NI PaaS!' },
);

相关链接​