浏览 SDKs · React Native
平台
SDKsReact Native含商业版能力

获取收到的入群申请

查询当前账号收到的入群申请。

复制

群主或管理员可以分页查询收到的入群申请列表,并可按群组 ID 和处理状态进行筛选。

const applications = await OpenIMSDK.getGroupApplicationListAsRecipient({
  groupIDs: ['group-001'],
  handleResults: [ApplicationHandleResult.Unprocessed],
  offset: 0,
  count: 20,
});

参数说明

参数类型必填含义
groupIDsstring[]是要查询的群组 ID 数组;传空数组表示不按群组筛选。
handleResultsnumber[]是要查询的申请处理结果;传空数组表示不按处理结果筛选。
offsetnumber是分页偏移量,第一页传 0。
countnumber是本次读取的申请数量。

ApplicationHandleResult 的常用值如下:

枚举值数值含义
ApplicationHandleResult.Unprocessed0待处理。
ApplicationHandleResult.Agree1已同意。
ApplicationHandleResult.Reject-1已拒绝。

返回结果

调用完成后返回当前账号有权处理的 GroupApplicationItem[]。返回数量少于 count 时表示已拉取到最后一页;客户端在合并申请列表时,应以 groupID:userID 复合标识定位并合并申请项。

入群申请字段

字段类型说明
groupIDstring申请加入的群组 ID。
userIDstring申请人的用户 ID。
nicknamestring申请记录中的申请人昵称。
userFaceURLstring申请记录中的申请人头像地址。
reqMsgstring入群申请附言。
reqTimenumber申请时间。
joinSourceGroupJoinSource入群申请来源。
handleResultApplicationHandleResult当前处理结果。
handleUserIDstring处理申请的用户 ID。
handledMsgstring处理申请时填写的说明。
handledTimenumber处理时间。
groupNamestring申请记录中的群组名称。
groupFaceURLstring申请记录中的群组头像地址。
groupTypeGroupType群组类型。
ownerUserIDstring群主用户 ID。
creatorUserIDstring群组创建者用户 ID。
introductionstring申请记录中的群组简介。
notificationstring申请记录中的群组公告。
memberCountnumber申请记录中的群成员数量。
statusGroupStatus申请记录中的群组状态。
createTimenumber申请记录创建时间,Unix 毫秒时间戳。
exstring申请记录扩展字符串。

申请记录中的昵称、头像和群组资料以记录创建时的内容为准。需要展示最新资料时,分别查询当前用户资料或群组资料。

监听入群申请变化

新增、处理或删除入群申请时,分别触发 OnGroupApplicationAdded、OnGroupApplicationAccepted、OnGroupApplicationRejected 或 OnGroupApplicationDeleted商业版 事件。客户端在处理增量更新时,必须使用复合标识 groupID:userID 定位与更新具体申请项:

const handleApplicationChanged = (application: GroupApplicationItem) => {
  // 按 application.groupID 和 application.userID 更新申请记录
};

const handleApplicationDeleted = (application: GroupApplicationItem) => {
  // 按 application.groupID 和 application.userID 删除申请记录
};

// 设置监听
OpenIMSDK.on(OpenIMEvent.OnGroupApplicationAdded, handleApplicationChanged);
OpenIMSDK.on(OpenIMEvent.OnGroupApplicationAccepted, handleApplicationChanged);
OpenIMSDK.on(OpenIMEvent.OnGroupApplicationRejected, handleApplicationChanged);
OpenIMSDK.on(OpenIMEvent.OnGroupApplicationDeleted, handleApplicationDeleted);

// 取消监听
OpenIMSDK.off(OpenIMEvent.OnGroupApplicationAdded, handleApplicationChanged);
OpenIMSDK.off(OpenIMEvent.OnGroupApplicationAccepted, handleApplicationChanged);
OpenIMSDK.off(OpenIMEvent.OnGroupApplicationRejected, handleApplicationChanged);
OpenIMSDK.off(OpenIMEvent.OnGroupApplicationDeleted, handleApplicationDeleted);

退出登录、切换账号或销毁申请列表页面时,应使用同一函数引用取消监听。