HarmonyOS IMKit(契约预留)
HarmonyOS 端 IMKit 在 IMLib 之上提供 10 个可组合 UI 组件(会话列表、会话页、气泡、输入区、头像、未读角标、时间分割、发送状态、主题与门面):组件语义跨端一致,只有 UI 框架与挂载方式不同。本端形态:ArkUI 声明式组件(@Component struct),预留命名路由。
契约预留 · 未实现
HarmonyOS IMKit 绑定状态为 reserved:契约已备、未实现:本文件只有 ArkTS 签名映射,无源码、无构建、无运行证据。 本页展示已冻结的组件契约与声明,不承诺可运行。
IMKit 是什么
| 层 | 职责 | 不做什么 |
|---|---|---|
| IMLib | 连接、消息、会话、群组、好友、聊天室、上传(62 个语义 op) | 不提供 UI |
| IMKit | 10 个 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 | 会话列表 | 4 | 3 | IMLib.getConversationList / CONVERSATION 事件增量更新 | 会话列表 |
ChatView | 会话详情(消息流 + 输入区) | 8 | 12 | — | 会话详情(消息流 + 输入区) |
MessageBubble | 消息气泡(按内容类型渲染) | 9 | 8 | — | 消息气泡(按内容类型渲染) |
MessageInput | 输入区 | 5 | 7 | — | 输入区 |
Avatar | 头像 | 4 | 0 | — | 头像 |
UnreadBadge | 未读/提及角标 | 3 | 0 | — | 未读/提及角标 |
TimeSeparator | 时间分隔/格式化 | 2 | 0 | — | 时间分隔/格式化 |
MessageStatusIndicator | 发送状态 | 3 | 0 | — | 发送状态 |
Theme | 主题令牌 | 2 | 0 | — | 主题令牌 |
IMKitFacade | 组件门面/挂载入口 | 1 | 2 | — | 组件门面/挂载入口 |
包与门面
| 项 | 值 |
|---|---|
| 包 / 模块 | 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) |
快速链接
- 快速开始:挂载会话列表与聊天页
- 导入 SDK:包、制品与依赖约束
- 初始化:门面挂载与幂等
- 功能列表:10 个组件能力矩阵
- 组件 API:props / events / behaviors
- 主题定制、多语言
- 状态码、更新日志
相关文档
- HarmonyOS IMLib:通信核心(IMKit 的唯一依赖)
- IMKit 集成指南
- SDK 体系 · IMKit