Flutter IMKit

Flutter 端 IMKit 在 IMLib 之上提供 10 个可组合 UI 组件(会话列表、会话页、气泡、输入区、头像、未读角标、时间分割、发送状态、主题与门面):组件语义跨端一致,只有 UI 框架与挂载方式不同。本端形态:Material Widget 组合;IMKit.start 提供默认主页,也可单独组合组件。

平台状态

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

包与门面​

项值
包 / 模块impaas_imkit
模块路径imkit
门面IMKit
挂载方式—
UI 框架Material Widget 组合;IMKit.start 提供默认主页,也可单独组合组件
导出符号(11)ChatView、ConversationListView、MessageBubble、MessageInput、AvatarWidget、UnreadBadge、TimeSeparator、ImkitTheme、IMKit.start、ChatController、ConversationListController
约束只依赖 impaas_imlib 公开 API;不得依赖 http/websocket 直接访问服务端

快速链接​

相关文档​