浏览 SDKs · HarmonyOS
平台
SDKsHarmonyOS商业版

更新当前用户资料

更新当前登录用户的昵称、头像或账号级扩展字段。

复制

只提交本次确实要修改的字段。userID 必须是当前登录用户;昵称、头像和扩展字段不应与账号级接收策略混在一次界面操作中更新。

import sdk, { EventOnSelfInfoUpdatedData, OpenIMSDKEvent, SetSelfInfoReq } from '@openimsdk/imsdk';

const request: SetSelfInfoReq = {
  userID: currentUserID,
  nickname: nickname.trim(),
  faceURL: avatarURL,
  ex: mergedExtra,
};
await sdk.setSelfInfo(request);

const handleSelfInfoUpdated = (data: EventOnSelfInfoUpdatedData): void => {
  setCurrentUser(data.user);
};
const unsubscribeSelfInfo = sdk.on(OpenIMSDKEvent.EventOnSelfInfoUpdated, handleSelfInfoUpdated);

export function removeSelfInfoListener(): void {
  unsubscribeSelfInfo();
}

ex 是完整字符串,SDK 不会自动合并 JSON。多个业务模块共用时,应先在业务层合并命名空间,再提交完整新值。

Promise 成功表示更新请求完成,不表示事件已经到达。退出登录或销毁用户状态层时调用 unsubscribeSelfInfo();需要立即校准时重新查询当前用户资料。

全局消息接收方式和加好友权限分别见对应页面,不要在普通资料保存中无意覆盖。