浏览 SDKs · WASM
SDKsWASM

更新当前用户资料

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

复制

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

参数说明

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

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

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

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

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

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

监听当前用户资料变化

本页是 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()