群成员管理
本文档旨在指导开发者如何使用融云即时通讯 Web IMLib SDK 实现设置或查询群组成员资料, 添加或删除群管理员等功能。
提示
此功能从 5.12.0 版本开始支持。
开通服务
使用此功能前,您须在控制台开通信息托管服务。
群成员
可以查询指定群的群成员,也可以设置群成员信息。
群成员资料变更回调
调用 setGroupMemberInfo 方法,设置指定群的群成员信息成功后,群内所有人会收到群成员资料变更事件 Events.GROUP_MEMBER_INFO_CHANGED
回调。
提示
- 事件监听器应全局注册,且仅注册一次,避免重复接收事件通知。
- 事件回调数据类型为 IGroupMemberInfoChanged
示例代码
javascript
RongIMLib.addEventListener(Events.GROUP_MEMBER_INFO_CHANGED, (data) => {
console.log('群成员资料变更回调', data);
});
分页获取群成员信息
调用 getGroupMembersByRole 方法,可按群成员角色分页获取指定群组中的成员信息,角色类型请参考 GroupMemberRole。
注意
Web 端返回的 IPagingQueryResult 结构中暂不包含 totalCount 字段。
接口
JavaScript
RongIMLib.getGroupMembersByRole(groupId, role, option)
参数说明
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
groupId | string | 是 | 群组 ID。 |
role | GroupMemberRole | 是 | 群成员角色。设置为 GroupMemberRole.UNDEF 不区分角色或位置角色获取所有群成员。 |
option | IPagingQueryOption | 是 | 分页请求参数。 一页最多查询 100 条数据。 |
分页拉取说明
- 首次拉取时,
option
的pageToken
参数可不传或传''
,效果等同。 - 拉取下一页数据时,需传入上次接口返回结果中的 pageToken。
- 当
pageToken
不为''
,表示存在下一页,可继续拉取。 - 当
pageToken
为''
,表示数据已全部拉取完毕,继续传 '' 会视为拉取首页数据。
示例代码
javascript
const groupId = 'group001';
// 设置为 '' 代表移除。字符串长度不超过 64 个字符,如群备注名已存在则做替换处理,以最后一次设置为准
const role = RongIMLib.GroupMemberRole.UNDEF;
const option = {
// 必填,范围 1 ~ 100
count: 50,
}
const res = await RongIMLib.getGroupMembersByRole(groupId, role, option);
console.info('分页获取群成员信息', res);
// 拉取下一页
if (res && res.pageToken) {
const nextRes = await RongIMLib.getGroupMembersByRole(groupId, role, {
...option,
pageToken: res.pageToken
});
console.info('分页获取群成员信息,拉取下一页', nextRes);
}
获取群成员信息
调用 getGroupMembers 方法,获取指定群组内某些成员的详细信息。