HarmonyOS IMKit(契约预留)

HarmonyOS 端 IMKit 在 IMLib 之上提供 10 个可组合 UI 组件(会话列表、会话页、气泡、输入区、头像、未读角标、时间分割、发送状态、主题与门面):组件语义跨端一致,只有 UI 框架与挂载方式不同。本端形态:ArkUI 声明式组件(@Component struct),预留命名路由。

契约预留 · 未实现

HarmonyOS IMKit 绑定状态为 reserved:契约已备、未实现:本文件只有 ArkTS 签名映射,无源码、无构建、无运行证据。 本页展示已冻结的组件契约与声明,不承诺可运行。

IMKit 是什么​

层职责不做什么
IMLib连接、消息、会话、群组、好友、聊天室、上传(62 个语义 op)不提供 UI
IMKit10 个 UI 组件与门面/主题/格式化不直连网络 / 数据库;只调用 IMLib 公开接口
宿主应用页面导航、业务数据装配、权限与通知不需要重复实现气泡/角标/时间分割

IMKit -> IMLib(公开接口)only;IMKit 禁止 import 内部传输层/REST 实现/服务端类型。

跨端验收口径(IDL crossPlatformAcceptance)

每个平台 IMKit 必须覆盖上述组件语义;无 UI 的平台(Native C ABI)以实现 view-model/格式化/角标/状态计算层交付,并提供可运行示例

IMKit 所有对外行为必须能仅通过 IMLib 公开接口复现(契约校验器静态扫描 import 面)

Web 与 Flutter Demo 必须只通过 IMKit/IMLib 公开接口实现页面,不得直接 fetch/WebSocket/数据库

组件总览​

组件职责Props事件数据源文档
ConversationListView会话列表43IMLib.getConversationList / CONVERSATION 事件增量更新会话列表
ChatView会话详情(消息流 + 输入区)812—会话详情(消息流 + 输入区)
MessageBubble消息气泡(按内容类型渲染)98—消息气泡(按内容类型渲染)
MessageInput输入区57—输入区
Avatar头像40—头像
UnreadBadge未读/提及角标30—未读/提及角标
TimeSeparator时间分隔/格式化20—时间分隔/格式化
MessageStatusIndicator发送状态30—发送状态
Theme主题令牌20—主题令牌
IMKitFacade组件门面/挂载入口12—组件门面/挂载入口

包与门面​

项值
包 / 模块src/main/ets/imkit(预留路径,当前版本未创建)
模块路径@rongcloud/imkit 的等价物:@ni-paas-im/harmony-imkit(预留)
门面IMKitFacade
挂载方式IMKitFacade.mount(container: ComponentContent 承载者) / update(options) / destroy()
UI 框架ArkUI 声明式组件(@Component struct),预留命名路由
导出符号(10)ConversationListView、ChatView、MessageBubble、MessageInput、Avatar、UnreadBadge、TimeSeparator、MessageStatusIndicator、Theme、IMKitFacade
约束只依赖 @ni-paas-im/harmony 的公开接口;不得直接 import @ohos.net.http / @ohos.net.webSocket / @ohos.data.relationalStore(sdk-imkit.json dependencyRule)

快速链接​

相关文档​