浏览 SDKs · WASM
SDKsWASM

更新当前用户资料

更新当前登录用户的昵称、头像和扩展资料。

复制

setSelfInfo() 更新当前登录用户的基础展示资料。只传本次需要更新的 nickname、faceURL 或 ex。

参数说明

参数类型是否必填说明
nicknamestring否新昵称。
faceURLstring否新头像地址。
exstring否新扩展字符串,会完整覆盖旧值。

至少传入一个实际要更新的资料字段。

await openimsdk.setSelfInfo({
  nickname: nickname.trim(),
  faceURL,
  ex: mergedExtra,
});

ex 是完整字符串,SDK 不会自动合并 JSON;多个业务模块共用时,应先读取当前值并合并各自的命名空间。

globalRecvMsgOpt 虽然也由 setSelfInfo() 写入,但它属于账号级消息策略,不应和普通资料一起保存。设置方式、枚举值和会话级覆盖关系见设置全局消息接收方式。

Promise 成功表示设置请求完成,不等同于资料事件已经到达。最终资料通过 OnSelfInfoUpdated 或 getSelfUserInfo() 校准。

监听当前用户资料变化

本页是 OnSelfInfoUpdated 的完整监听归属页。事件携带更新后的 SelfUserInfo,应直接替换当前用户快照。

import { CbEvents } from '@openim/wasm-client-sdk';

const handleSelfInfoUpdated = ({ data }) => setCurrentUser(data);

openimsdk.on(CbEvents.OnSelfInfoUpdated, handleSelfInfoUpdated);

function removeProfileListener() {
  openimsdk.off(CbEvents.OnSelfInfoUpdated, handleSelfInfoUpdated);
}

退出登录、切换账号或销毁用户状态层时调用 removeProfileListener()。