浏览 SDKs · React Native
SDKsReact Native

获取收到的好友申请

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

复制

调用 getFriendApplicationListAsRecipient() 分页查询当前用户收到的好友申请。

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申请记录扩展字符串。

监听好友申请变化

好友申请变化时,触发 OnFriendApplicationAddedOnFriendApplicationAcceptedOnFriendApplicationRejectedOnFriendApplicationDeleted商业版 事件。事件直接携带 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);

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