获取频道列表
App 可按需使用客户端 SDK 与融云服务端 API 提供的能力,采取灵活的方式维护超级群的频道列表。
提示
- 2022.10.13 及以后开通超级群服务的应用/环境:超级群业务中默认包含一个 ID 为 RCDefault 的频道。若发送消息时未指定频道 ID,消息将默认发送至 RCDefault 频道。获取该频道历史消息时,也需传入该频道 ID。
- 2022.10.13 前开通超级群服务的应用/环境:若发送消息时未指定频道 ID,消息不属于任何频道。获取历史消息时,不传入频道 ID 即可获取未归属频道的消息。 若需将现有超级群服务调整为新版行为(影响客户端、服务端的消息收发、会话管理、消息清理、禁言等功能),请联系融云提交工单,了解详细方案。
如何获取超级群全部频道列表
可通过服务端 API 获取某个超级群下的所有频道列表。
提示
- 每个用户最多可加入 100 个超级群。
- 在每个超级群内,单个用户最多可加入或创建 50 个频道。
- 服务端生成的频道列表仅包含已产生消息的频道,可能并非超级群下所有频道。
建议方案:
建议 App 业务服务端自行维护超级群的频道列表。通常,App 需要掌握:
- 当前用户已加入的超级群列表
- 各超级群下的频道列表 便于实现个性化功能,例如:为用户展示标星频道、设置频道分组(可参考超级群概述中的 UI 结构设计示例)。
获取当前登录用户的超级群会话列表
调用 getUltraGroupList 方法,获取超级群会话列表。该列表不包含未产生任何消息的会话。
接口
JavaScript
RongIMLib.getUltraGroupList(options)
参数说明
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
options | IGetUltraGroupListOption | 否 | 获取超级群会话列表参数,不传则获取全部超级群会话列表 |
示例代码
javascript
const options = {
target: 'xxx',
channelType: 0
}
// options 不传为获取所有超级群会话列表;
// 获取指定频道类型的超级群频道列表:RongIMLib.getUltraGroupList(options)
RongIMLib.getUltraGroupList()
.then((res) => {
if (res.code === 0) {
console.log(res.code, res.data)
} else {
console.log(res.code, res.msg)
}
})
.catch((error) => {
console.log(error)
})
获取当前登录用户免打扰超级群会话列表
调用 getBlockUltraGroupList 方法,获取当前用户已设置免打扰的超级群会话列表。
接口
JavaScript
RongIMLib.getBlockUltraGroupList()
参数说明
无
示例代码
javascript
RongIMLib.getBlockUltraGroupList()
.then((res) => {
if (res.code === 0) {
console.log(res.code, res.data)
} else {
console.log(res.code, res.msg)
}
})
.catch((error) => {
console.log(error)
})
批量获取超级群会话信息
调用 getUltraGroupUnreadInfoList,根据传入的超级群 ID 数组,批量获取对应超级群下所有频道的 IUltraGroupUnreadInfo 信息。
接口
JavaScript
RongIMLib.getUltraGroupUnreadInfoList(targetIds)
参数说明
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
targetIds | Array | 是 | 超级群 Id 数组,数组长度限制 [1-20] 个 |
示例代码
javascript
const targetIds = ['id01', 'id02']
RongIMLib.getUltraGroupUnreadInfoList(targetIds)
.then((res) => {
if (res.code === 0) {
console.log(res.code, res.data)
} else {
console.log(res.code, res.msg)
}
})
.catch((error) => {
console.log(error)
})