SDKsReact Native含商业版能力
获取收到的好友申请
OpenIM React Native SDK 获取收到的好友申请。
分页查询当前用户收到的好友申请列表。
const applications = await OpenIMSDK.getFriendApplicationListAsRecipient({
handleResults: [ApplicationHandleResult.Unprocessed],
offset: 0,
count: 20,
});参数说明
| 参数 | 类型 | 必填 | 含义 |
|---|---|---|---|
handleResults | number[] | 是 | 要查询的申请处理结果状态列表。 |
offset | number | 是 | 分页偏移量,从 0 开始。 |
count | number | 是 | 本次获取的申请记录数量。 |
| 枚举值 | 数值 | 含义 |
|---|---|---|
ApplicationHandleResult.Unprocessed | 0 | 待处理。 |
ApplicationHandleResult.Agree | 1 | 已同意。 |
ApplicationHandleResult.Reject | -1 | 已拒绝。 |
返回结果
调用完成后返回当前页的 FriendApplicationItem[] 申请记录列表。
好友申请字段
FriendApplicationItem 常用字段如下:
| 字段 | 类型 | 含义 |
|---|---|---|
fromUserID | string | 申请发起人的用户 ID。 |
fromNickname | string | 申请发起人的昵称。 |
fromFaceURL | string | 申请发起人的头像地址。 |
toUserID | string | 申请接收人的用户 ID。 |
toNickname | string | 申请接收人的昵称。 |
toFaceURL | string | 申请接收人的头像地址。 |
reqMsg | string | 申请附言。 |
handleResult | ApplicationHandleResult | 当前处理结果。 |
handlerUserID | string | 执行处理的用户 ID。 |
handleMsg | string | 处理时填写的说明。 |
handleTime | number | 处理时间。 |
createTime | number | 申请记录创建时间。 |
ex | string | 申请记录扩展字符串。 |
监听好友申请变化
好友申请变化时,触发 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 共同定位。退出登录、切换账号或销毁申请列表状态时,取消这些监听。
这个页面有帮助吗?