Native (C ABI) IMKit

Native (C ABI) 端 IMKit 在 IMLib 之上提供 10 个可组合 UI 组件(会话列表、会话页、气泡、输入区、头像、未读角标、时间分割、发送状态、主题与门面):组件语义跨端一致,只有 UI 框架与挂载方式不同。本端形态:view-model / 格式化 / 角标 / 状态计算层(不访问网络,不渲染 UI)。

平台状态

契约 IDL v1.0.0(frozen,冻结修订 35);组件数 10;绑定状态:ga。IMKit -> IMLib(公开接口)only;IMKit 禁止 import 内部传输层/REST 实现/服务端类型。

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—组件门面/挂载入口

包与门面​

项值
包 / 模块im-kit + include/im_kit.h
模块路径im-kit + include/im_kit.h
门面IMKit
挂载方式—
UI 框架view-model / 格式化 / 角标 / 状态计算层(不访问网络,不渲染 UI)
导出符号(0)—
约束IMKit -> IMLib(公开接口)only;IMKit 禁止 import 内部传输层/REST 实现/服务端类型。

快速链接​

相关文档​