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();需要立即校准时重新查询当前用户资料。
全局消息接收方式和加好友权限分别见对应页面,不要在普通资料保存中无意覆盖。
这个页面有帮助吗?