圈组页面
更新时间: 2024/07/26 13:39:23
网易云信圈组 UIKit 提供圈组场景下各模块完整 UI,包括广场、社区-话题二级结构、公告频道、身份组等。
集成圈组相关界面后,支持个性化定制界面 UI。
本文介绍如何集成圈组各模块界面视图。
界面视图
社区-话题
页面 | 页面类 |
需传递目标界面参数 |
界面视图 |
---|---|---|---|
社区列表页面 | QChatHomeViewController 展示所有社区及包含的话题列表 |
否 | |
社区创建选择页面 | QChatCreateServerViewController 支持创建和加入社区 |
否 | |
社区创建页面 | QChatMineCreateServerController 创建社区 |
否 | |
社区搜索加入页面 | QChatJoinOtherServiceController 支持搜索并加入社区 |
可设参数:Bool型isAnnouncement(是否是公告频道) | |
社区设置页面 | QChatServerSettingViewController 支持设置社区头像、社区名称和主题 |
必填参数:QChatServer型server(社区对象) | |
社区设置成员列表页面 | QChatMemberListViewController 支持查看、添加、移除社区成员 |
必设参数:UInt64型serverId(社区ID) | |
社区身份组列表页面 | QChatIdGroupViewController 支持查看、添加、移除身份组 |
必设参数:UInt64型serverId(社区ID) | |
社区身份组设置页面 | QChatPermissionViewController 支持设置身份组权限、修改身份组名称等 |
必填参数:QChatIdGroupModel型idGroup | |
社区身份组成员管理页面 | QChatMemberManagerController 支持添加、移除身份组中的成员 |
必填参数:UInt64型serverId(社区ID)、UInt64型roleId(身份组ID)、Int型memberCount(成员数量) | |
话题聊天页面 | QChatViewController 话题会话,支持文本消息、表情、语音、图片和视频消息 |
必填参数:ChatChannel型channel(话题对象) | |
话题设置页面 | QChatChannelSettingVC 支持设置话题名称和主题、管理话题权限和管理话题黑白名单 |
必填参数:QChatUpdateChannelViewModel型viewModel(话题更新数据模型) |
公告频道
页面 | 页面类 |
需传递目标界面参数 |
界面视图 |
---|---|---|---|
公告频道列表页面 | QChatHomeViewController 展示所有公告频道服务器和包含的频道(可通过广播图标区分公告频道和社区) |
否 | |
公告频道创建选择页面 | QChatCreateServerViewController 支持创建和加入公告频道 |
否 | |
公告频道创建页面 | QChatMineCreateServerController 支持创建公告频道 |
否 | |
公告频道搜索加入页面 | QChatJoinOtherServiceController 支持搜索并加入公告频道 |
可设参数:Bool型isAnnouncement(是否是公告频道) | |
公告频道会话页面 | QChatViewController 公告频道聊天页面,支持发送文本消息、表情、图片、语音、视频以及表情评论。创建者或者管理员可以查看和编辑,订阅制只能查看 |
必填参数:QChatServer型server(社区对象) | |
公告频道设置页面 | QChatAnncSettingViewController 支持设置公告频道属性。创建者可以设置频道信息、解散频道、管理订阅者、管理员及其权限 |
必填参数:QChatServer型server(社区对象)、Bool型isAdministrator(是否为管理员) | |
管理员管理页面 | QChatAnncManagerViewController 创建者可以添加、移除管理员。管理员仅支持查看 |
必设参数:Bool型isManager(是否为管理员)、QChatServer型qchatServer(社区对象) | |
管理员权限设置页面 | QChatAnncMemberEditViewController 创建者可以设置管理员的操作权限 |
必填参数:QChatServer型server(社区对象)、ServerMemeber型member(管理员信息) | |
订阅制管理 | QChatAnncManagerViewController 支持查看、添加、移除订阅者 |
必设参数:Bool型isManager(是否为管理员)、QChatServer型qchatServer(社区对象) |
广场
页面 | 页面类 |
需传递目标界面参数 |
界面视图 |
---|---|---|---|
圈组广场 | QChatSquareHomeViewController 展示所有公开社区 |
否 |
-
SquareDataSourceHelper
提供圈组广场的数据网络请求和结果回调方法,您可以根据自身业务逻辑修改该类实现。 -
用户未加入社区则进入游客模式,该模式下不允许发言和操作。相关页面会根据是否为游客模式进行 UI 展示和逻辑处理。游客模式判断示例代码如下:
//根据提供的社区ID(即serverId)来判断,当前登录账号是否在这个社区中为游客 if (ServerVisitorInfoMgr.getInstance().isVisitor(serverId)) { //游客模式 } else { //非游客模式 }
前提条件
已完成登录。
实现方法
使用 pushViewController 方法集成圈组页面
调用 pushViewController
方法实现目标页面的集成和展示。以话题聊天页面 Controller 为例:
swiftlet chatVC = QChatViewController(channel: nil, server: server)
navigationController?.pushViewController(chatVC, animated: true)
使用 present 方法集成圈组页面
调用 present
方法实现目标界面的集成和展示。以话题设置页面 Controller 为例:
swiftlet settingVC = QChatChannelSettingVC()
settingVC.viewModel = QChatUpdateChannelViewModel(channel: channel)
let nav = UINavigationController(rootViewController: settingVC)
nav.modalPresentationStyle = .fullScreen
present(nav, animated: true, completion: nil)
此文档是否对你有帮助?