统一路由(宿主可替换)(ChatRouter)

统一路由(宿主可替换):ChatRouter 属于 Router(路由,宿主可替换)。本页的 props / events / behaviors 来自 sdk-imkit.json → globalUIKit,声明与示例来自 bindings.ios.uikit,不手写漂移。

契约属性(props)​

属性类型可选说明
navigationany否宿主导航控制器;默认实现 push / present

事件(events)​

事件参数说明
openChatconversation打开会话
openProfileuserId打开用户资料

行为(behaviors)​

  • 默认 push/present 实现
  • 可注入自定义 router 支持深链
  • 路由失败回调

公开符号与声明​

语言声明
SwiftIMPChatRouter(navigation: UINavigationController?)
Objective-C- (instancetype)initWithNavigation:(UINavigationController *)navigation;

使用示例(Swift / Objective-C)​

IMPChatRouter(navigation: navigationController)
IMPOSGlobalChatRouter *chatRouter =
    [[IMPOSGlobalChatRouter alloc] initWithNavigation:self.navigationController];
示例口径

示例由绑定签名与契约类型生成:构造函数参数、协议方法、属性名均来自契约;实际业务中把示例变量替换为宿主实例即可。

在架构中的位置​

项值
层Router(路由,宿主可替换)
依赖GlobalUIKit -> IMKit -> IMLib(公开接口)
相关组件ChatListViewController、ChatViewController

错误处理​

ViewModel 层通过事件上报错误(如 error(err));错误码与处理建议见 Global IM UIKit 错误处理、状态码(运行时 43 条)与 状态码全量对照(440 条)。

相关文档​