SDKsReact Native
分页查询群成员
分页查询指定群组的成员。
分页查询指定群组的成员列表,并可按成员角色进行筛选。
const members = await OpenIMSDK.getGroupMemberList({
groupID: 'group-001',
filter: GroupMemberFilter.All,
offset: 0,
count: 50,
});参数说明
| 参数 | 类型 | 必填 | 含义 |
|---|---|---|---|
groupID | string | 是 | 目标群组 ID。 |
filter | GroupMemberFilter | 是 | 成员角色筛选条件。 |
offset | number | 是 | 分页偏移量,第一页传 0。 |
count | number | 是 | 本次读取的成员数量。 |
GroupMemberFilter 的取值如下:
| 枚举值 | 数值 | 含义 |
|---|---|---|
GroupMemberFilter.All | 0 | 全部成员。 |
GroupMemberFilter.Owner | 1 | 仅群主。 |
GroupMemberFilter.Admin | 2 | 仅管理员。 |
GroupMemberFilter.Normal | 3 | 仅普通成员。 |
GroupMemberFilter.AdminAndNormal | 4 | 管理员和普通成员。 |
GroupMemberFilter.AdminAndOwner | 5 | 管理员和群主。 |
继续读取下一页时,将 offset 设置为已读取的成员数量。
返回结果
调用完成后返回当前页的 GroupMemberItem[]。返回数量少于 count 时表示已拉取到最后一页;客户端在合并群成员列表时,必须使用复合标识 groupID:userID 作为唯一合并标识。各字段详细说明见群组概览。
监听群成员变化
成员加入、退出或资料变化时,分别触发 OnGroupMemberAdded、OnGroupMemberDeleted 和 OnGroupMemberInfoChanged 事件。客户端在处理增量更新时,同样使用 groupID:userID 复合键定位并更新具体群成员:
const handleMemberAdded = (member: GroupMemberItem) => {
// 将 member 添加到对应群组的成员列表,按 member.groupID 和 member.userID 识别
};
const handleMemberDeleted = (member: GroupMemberItem) => {
// 根据 member.groupID 和 member.userID 删除对应成员
};
const handleMemberChanged = (member: GroupMemberItem) => {
// 根据 member.groupID 和 member.userID 更新对应成员资料
};
// 设置监听
OpenIMSDK.on(OpenIMEvent.OnGroupMemberAdded, handleMemberAdded);
OpenIMSDK.on(OpenIMEvent.OnGroupMemberDeleted, handleMemberDeleted);
OpenIMSDK.on(OpenIMEvent.OnGroupMemberInfoChanged, handleMemberChanged);
// 取消监听
OpenIMSDK.off(OpenIMEvent.OnGroupMemberAdded, handleMemberAdded);
OpenIMSDK.off(OpenIMEvent.OnGroupMemberDeleted, handleMemberDeleted);
OpenIMSDK.off(OpenIMEvent.OnGroupMemberInfoChanged, handleMemberChanged);退出登录、切换账号或销毁成员列表页面时,应使用同一函数引用取消监听。
这个页面有帮助吗?