跳到主要内容

群查询

本文档旨在指导开发者如何使用融云即时通讯 Web IMLib SDK 实现获取本人已加入的群组、获取指定群组资料等功能。

提示

此功能从 5.12.0 版本开始支持。

开通服务

使用此功能前,您须在控制台开通信息托管服务。

群查询

可以查询或搜索我加入的群组。

获取群组资料

您可以调用 getGroupsInfo 方法获取群组资料。支持获取已存在的所有群组信息。

提示
  1. 该方法优先本地查找,本地不存在或者本地群组信息缓存超过 10 分钟的会从服务端拉取最新的群组信息。
  2. 单次调用最多支持获取 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 按群成员角色分页获取已加入的群组。

提示

分页拉取说明:

  1. 首次拉取时,optionpageToken 无需设置(不传递或设置 '',效果等同)。
  2. 拉取第二页需要传入首次拉取返回结果 IPagingQueryResult 类型中的 pageToken
    • 如果不为 '',则可以传入该值再次拉取,直至 pageToken 返回为 '',表示全部拉取完成。
    • 如果为 '',表示没有下一页,或已拉取完成,无需在此拉取,如传递 '',拉取将视为拉取首页数据。
参数名类型必填描述
optionIPagingQueryOption分页拉取参数,一页最多查询 100 条数据。
roleGroupMemberRole群组身份数组。
注意

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 搜索已加入的群组。

提示

分页拉取说明:

  1. 首次拉取时,optionpageToken 无需设置(不传递或设置 '',效果等同)。
  2. 拉取第二页需要传入首次拉取返回结果 IPagingQueryResult 类型中的 pageToken
    • 如果不为 '',则可以传入该值再次拉取,直至 pageToken 返回为 '',表示全部拉取完成。
    • 如果为 '',表示没有下一页,或已拉取完成,无需在此拉取,如传递 '',拉取将视为拉取首页数据。
参数名类型必填描述
groupNamestring群名称搜索关键字。不能为空,最长不超过 64 个字符,支持模糊搜索,查询时需要去掉前后空格。
optionIPagingQueryOption分页拉取参数,一页最多查询 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);
}