集成会话消息界面
更新时间: 2024/09/27 10:50:00
本文主要介绍如何构建会话消息界面。
IM UIKit 提供基于 UITableview 实现的会话消息界面,其类名为 ChatViewController
,并提供了 GroupChatViewController
(群聊会话消息) 和 P2PChatViewController
(单聊会话消息) 两个子类。
将会话界面拆分成 P2P 和 Group 两种类型,有利于解耦和添加用户自身的其他逻辑,在使用时注意区分会话类型。
方法原型(Swift)
let p2pChatVC = P2PChatViewController(session: session)
let groupVC = GroupChatViewController(session: session, anchor: anchor)
参数说明
参数 | 类型 | 说明 |
---|---|---|
session | NIMSession | 会话对象 |
anchor | NIMMessage | 锚点(用于历史消息搜索) |
代码示例(Swift)
if conversationModel?.recentSession?.session?.sessionType == .P2P {
let session = NIMSession(commonId, type: .P2P)
Router.shared.use(PushP2pChatVCRouter, parameters: ["nav": self.navigationController as Any, "session" : session as Any], closure: nil)
}else if conversationModel?.recentSession?.session?.sessionType == .team {
let session = NIMSession(commonId, type: .team)
Router.shared.use(PushTeamChatVCRouter, parameters: ["nav": self.navigationController as Any, "session" : session as Any], closure: nil)
}
使用时,根据不同的会话类型,跳转到对应的界面,开源代码中内部跳转通过 Router 路由实现。路由器的具体使用说明,请参见界面跳转。
注意事项
会话界面的部分功能需要在云信控制台开通后才能使用。具体请参见控制台功能开通。
相关参考
- IM UIKit 会话模块支持的内置消息类型参见基本消息类型。
- 如果需要在会话界面实现音视频通话功能,请参见实现音视频通话功能。
- 如果需要自定义会话消息界面的 UI 样式,请参见自定义会话消息 UI。
此文档是否对你有帮助?