SDKsWASM
获取收到的好友申请
分页查询当前用户收到的好友申请。
调用 getFriendApplicationListAsRecipient() 并传入 handleResults、offset 和 count,分页查询当前用户收到的好友申请。
参数说明
| 参数 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
handleResults | number[] | 是 | 要查询的申请处理结果;传空数组表示不限制处理结果。 |
offset | number | 是 | 分页偏移量,首页传 0。 |
count | number | 是 | 本次请求的申请数量。 |
| 枚举值 | 数值 | 含义 |
|---|---|---|
ApplicationHandleResult.Unprocessed | 0 | 待处理。 |
ApplicationHandleResult.Accepted | 1 | 已同意。 |
ApplicationHandleResult.Rejected | -1 | 已拒绝。 |
import {
ApplicationHandleResult,
SdkEvent,
} from '@openim/wasm-client-sdk';
const { data: applications } =
await openimsdk.getFriendApplicationListAsRecipient({
handleResults: [ApplicationHandleResult.Unprocessed],
offset: 0,
count: 20,
});Promise 成功后,data 是当前页 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 | 处理时间,Unix 毫秒时间戳;未处理时不应作为有效时间使用。 |
createTime | number | 申请记录创建时间,Unix 毫秒时间戳。 |
ex | string | 申请记录扩展字符串。 |
attachedInfo | string(可选) | SDK 附加信息;只按已确认的业务约定解析。 |
使用 fromUserID:toUserID 识别一条好友申请。昵称和头像记录的是申请创建或同步时的资料;需要展示最新账号资料时,再按 userID 查询。
同步好友申请变化
使用 fromUserID:toUserID 找到对应的好友申请。本页集中提供 OnFriendApplicationAdded、OnFriendApplicationAccepted、OnFriendApplicationRejected 和 OnFriendApplicationDeleted商业版 的完整监听示例。
const handleApplicationChanged = ({ data }) =>
mergeFriendApplication(data);
const handleApplicationDeleted = ({ data }) =>
removeFriendApplication(data.fromUserID, data.toUserID);
openimsdk.on(
SdkEvent.OnFriendApplicationAdded,
handleApplicationChanged,
);
openimsdk.on(
SdkEvent.OnFriendApplicationAccepted,
handleApplicationChanged,
);
openimsdk.on(
SdkEvent.OnFriendApplicationRejected,
handleApplicationChanged,
);
openimsdk.on(
SdkEvent.OnFriendApplicationDeleted,
handleApplicationDeleted,
);
function removeFriendApplicationListeners() {
openimsdk.off(
SdkEvent.OnFriendApplicationAdded,
handleApplicationChanged,
);
openimsdk.off(
SdkEvent.OnFriendApplicationAccepted,
handleApplicationChanged,
);
openimsdk.off(
SdkEvent.OnFriendApplicationRejected,
handleApplicationChanged,
);
openimsdk.off(
SdkEvent.OnFriendApplicationDeleted,
handleApplicationDeleted,
);
}根据当前用户是否为 toUserID,将事件更新到收到或发出的申请列表。分页期间收到变化时应重置分页;申请被同意后,通过分页获取好友列表说明的 OnFriendAdded 更新好友列表。
这个页面有帮助吗?