浏览 SDKs · uni-app / uni-app x
平台
SDKsuni-app / uni-app x含商业版能力

用户

了解 uni-app / uni-app x SDK 中的用户资料、账号级设置和在线状态。

复制

uni-app / uni-app x SDK 使用 userID 标识 OpenIMSDK 用户。用户领域负责当前账号资料、其他用户的公开资料、账号级消息接收策略、加好友权限和在线状态;好友、好友申请与黑名单属于独立的“关系链”领域,群内昵称和成员角色则属于群组领域。

用户资料类型

UTS 插件公开的用户资料主要包括以下类型:

类型适用场景获取方式
OpenIMUserInfo当前登录用户资料,也作为公开用户资料的基础结构getSelfUserInfo()getUsersInfo()
OpenIMPublicUserItem其他应用用户的公开资料,是 OpenIMUserInfo 的类型别名getUsersInfo()
OpenIMFriendUserItem好友关系中的资料、备注、置顶状态和关系扩展字段关系链中的好友查询 API
OpenIMBlackUserItem当前账号黑名单中的用户资料关系链中的黑名单查询 API
OpenIMUserStatusItem指定用户的汇总在线状态和在线平台在线状态订阅与查询 API

同一个 userID 可能同时出现在公开资料、好友资料、黑名单和群成员资料中。陌生人资料卡使用 OpenIMPublicUserItem;联系人列表优先使用 OpenIMFriendUserItem;群成员列表使用 OpenIMGroupMemberItem;会话列表和聊天页标题使用会话对象的 showName,不要把不同领域的数据直接互相覆盖。

用户资料

在线状态

在线状态表示用户是否连接 OpenIMServer,不表示用户正在查看应用、某个会话或某条消息。需要展示“最近活跃”“正在输入”或业务在线状态时,应分别使用对应的业务数据,不能根据 OpenIMSDK 在线状态自行推断。

数据更新原则

首次进入页面时通过查询 API 建立数据;后续通过对应事件合并增量。当前用户资料使用 userID 替换缓存记录,在线状态事件可能一次携带多个 OpenIMUserStatusItem,应逐项按 userID 更新。

Promise 成功、事件到达和重新查询是三个不同阶段。状态修改 API 的 Promise 成功后,可以等待对应事件更新界面;需要立即确认最终值时,再调用查询 API 获取最新数据。