浏览 SDKs · WASM
SDKsWASM

更新当前用户资料

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

复制

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

参数说明

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

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

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

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

setSelfInfo() 还承载账号级策略字段,但这些字段不应和普通资料一起保存:消息接收方式见设置全局消息接收方式,加好友权限见设置加好友权限

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

监听当前用户资料变化

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

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

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

openimsdk.on(SdkEvent.OnSelfInfoUpdated, handleSelfInfoUpdated);

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

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