群查询
本文档旨在指导开发者如何使用融云即时通讯 Web IMLib SDK 实现获取本人已加入的群组、获取指定群组资料等功能。
提示
此功能从 5.12.0 版本开始支持。
开通服务
使用此功能前,您须在控制台开通信息托管服务。
群查询
可以查询或搜索我加入的群组。
获取群组资料
您可以调用 getGroupsInfo
方法获取群组资料。支持获取已存在的所有群组信息。
提示
- 该方法优先本地查找,本地不存在或者本地群组信息缓存超过 10 分钟的会从服务端拉取最新的群组信息。
- 单次调用最多支持获取 20 个群组资料。
// 必填项,群 ID 数组,单次查询最多支持 20 个群组。
const groupIds = ['group001','group002']
const res = await RongIMLib.getGroupsInfo(groupIds);
console.info('获取群组资料列表', res);
获取指定已加入群组的资料
您可以使用 getJoinedGroups
根据群 ID 获取当前用户已加入的群组。
const groupIds = ['group001', 'group002']; // 群组 ID 数组,一次最多查询 20 个群组
const res = await RongIMLib.getJoinedGroups(groupIds);
console.info('批量获取群组信息结果', res);
按角色获取已加入群组的资料
您可以使用 getJoinedGroupsByRole
按群成员角色分页获取已加入的群组。
提示
分页拉取说明:
- 首次拉取时,
option
的pageToken
无需设置(不传递或设置''
,效果等同)。 - 拉取第二页需要传入首次拉取返回结果 IPagingQueryResult 类型中的
pageToken
。- 如果不为
''
,则可以传入该值再次拉取,直至pageToken
返回为''
,表示全部拉取完成。 - 如果为
''
,表示没有下一页,或已拉取完成,无需在此拉取,如传递''
,拉取将视为拉取首页数据。
- 如果不为
参数名 | 类型 | 必填 | 描述 |
---|---|---|---|
option | IPagingQueryOption | 是 | 分页拉取参数,一页最多查询 100 条数据。 |
role | GroupMemberRole | 是 | 群组身份数组。 |
注意
Web 返回的 IPagingQueryResult 结构中暂不支持返回 totalCount
。
const option = {
// 必填,范围 1 ~ 100
count: 50,
}
const role = GroupMemberRole.UNDEF; // 群组身份, GroupMemberRole.UNDEF 不区分角色获取全部
const res = await RongIMLib.getJoinedGroupsByRole(option, role);
console.info('获取用户所在的群组结果', res);
// 拉取下一页
if (res && res.pageToken) {
const nextRes = await RongIMLib.getJoinedGroupsByRole({
...option,
pageToken: res.pageToken
}, role,);
console.info('获取用户所在的群组,拉取下一页', nextRes);
}
按群名称搜索已加入群组的资料(Electron)
您可以使用 searchJoinedGroups
搜索已加入的群组。
提示
分页拉取说明:
- 首次拉取时,
option
的pageToken
无需设置(不传递或设置''
,效果等同)。 - 拉取第 二页需要传入首次拉取返回结果 IPagingQueryResult 类型中的
pageToken
。- 如果不为
''
,则可以传入该值再次拉取,直至pageToken
返回为''
,表示全部拉取完成。 - 如果为
''
,表示没有下一页,或已拉取完成,无需在此拉取,如传递''
,拉取将视为拉取首页数据。
- 如果不为
参数名 | 类型 | 必填 | 描述 |
---|---|---|---|
groupName | string | 是 | 群名称搜索关键字。不能为空,最长不超过 64 个字符,支持模糊搜索,查询时需要去掉前后空格。 |
option | IPagingQueryOption | 是 | 分页拉取参数,一页最多查询 200 条数据。 |
const option = {
// 必填,范围 1 ~ 200
count: 50,
}
const groupName = 'groupName'; // 群名称搜索关键字。不能为空最长不超过 64 个字符,支持模糊搜索查询时需要去掉前后空格。
const res = await RongIMLib.searchJoinedGroups(groupName, option);
console.info('搜索已加入的群组', res);
// 拉取下一页
if (res && res.pageToken) {
const nextRes = await RongIMLib.searchJoinedGroups(groupName, {
...option,
pageToken: res.pageToken
});
console.info('搜索已加入的群组,拉取下一页', nextRes);
}