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

获取收到的好友申请

OpenIM React Native SDK 获取收到的好友申请。

复制

分页查询当前用户收到的好友申请列表。

const applications = await OpenIMSDK.getFriendApplicationListAsRecipient({
  handleResults: [ApplicationHandleResult.Unprocessed],
  offset: 0,
  count: 20,
});

参数说明

参数类型必填含义
handleResultsnumber[]是要查询的申请处理结果状态列表。
offsetnumber是分页偏移量,从 0 开始。
countnumber是本次获取的申请记录数量。
枚举值数值含义
ApplicationHandleResult.Unprocessed0待处理。
ApplicationHandleResult.Agree1已同意。
ApplicationHandleResult.Reject-1已拒绝。

返回结果

调用完成后返回当前页的 FriendApplicationItem[] 申请记录列表。

好友申请字段

FriendApplicationItem 常用字段如下:

字段类型含义
fromUserIDstring申请发起人的用户 ID。
fromNicknamestring申请发起人的昵称。
fromFaceURLstring申请发起人的头像地址。
toUserIDstring申请接收人的用户 ID。
toNicknamestring申请接收人的昵称。
toFaceURLstring申请接收人的头像地址。
reqMsgstring申请附言。
handleResultApplicationHandleResult当前处理结果。
handlerUserIDstring执行处理的用户 ID。
handleMsgstring处理时填写的说明。
handleTimenumber处理时间。
createTimenumber申请记录创建时间。
exstring申请记录扩展字符串。

监听好友申请变化

好友申请变化时,触发 OnFriendApplicationAdded、OnFriendApplicationAccepted、OnFriendApplicationRejected 或 OnFriendApplicationDeleted商业版 事件。事件直接携带 FriendApplicationItem:

const handleApplicationChanged = (application: FriendApplicationItem) => {
  // 按 fromUserID 和 toUserID 更新申请记录
};
const handleApplicationDeleted = (application: FriendApplicationItem) => {
  // 按 fromUserID 和 toUserID 移除申请记录
};

// 设置监听
OpenIMSDK.on(OpenIMEvent.OnFriendApplicationAdded, handleApplicationChanged);
OpenIMSDK.on(OpenIMEvent.OnFriendApplicationAccepted, handleApplicationChanged);
OpenIMSDK.on(OpenIMEvent.OnFriendApplicationRejected, handleApplicationChanged);
OpenIMSDK.on(OpenIMEvent.OnFriendApplicationDeleted, handleApplicationDeleted);

// 取消监听
OpenIMSDK.off(OpenIMEvent.OnFriendApplicationAdded, handleApplicationChanged);
OpenIMSDK.off(OpenIMEvent.OnFriendApplicationAccepted, handleApplicationChanged);
OpenIMSDK.off(OpenIMEvent.OnFriendApplicationRejected, handleApplicationChanged);
OpenIMSDK.off(OpenIMEvent.OnFriendApplicationDeleted, handleApplicationDeleted);

申请记录使用 fromUserID 和 toUserID 共同定位。退出登录、切换账号或销毁申请列表状态时,取消这些监听。