跳到主要内容

鸿蒙 IMKit 架构

IMKit 分为如下核心服务

ConnectionService : 连接服务。 IMKit 的连接服务功能单薄,主要是做 IM 连接状态的监听,方便 UI 做连接状态的展示。实际的 IM 连接,由 IMLib 负责

MessageService: 消息服务。IMKit 的消息服务主要用于 UI 页面,里面调用的各种方法会触发页面的各种监听方法。IMLib 的消息相关方法并不会触发页面的各种监听

UserDataService:用户服务。和 iOS Android 用户信息提供者相同的能力,用于从 App 获取用户信息刷新会话列表,聊天页面的用户头像、名称等

ConversationService:会话服务。主要处理聊天页面相关。

  1. 会话配置
  2. 自定义消息与 provider 绑定
  3. 消息长按事件增加
  4. 各种聊天页面的事件监听
  5. 输入框 + 号扩展栏插件
  6. 会话的部分接口(如置顶、免打扰等)
  7. 聊天页面 UI

ConversationListService:会话列表服务。主要处理会话列表页面相关。

  1. 会话列表 provider 替换、移除
  2. 会话列表的事件监听
  3. 会话列表长按事件增加
  4. 会话列表页面 UI