用户名显示成“用户”

x86 4月前 131

原因

调用getUserInfo获取用户信息时,如果本地没有当前用户信息,这时候会先返回一个NullUserInfo,里面的displayName就是用户

解决办法

有两种方案可以解决这个问题,如下:

  1. 通过getUserInfoEx获取用户信息,该函数通过callback返回用户信息,当本地不存在时,会等待从服务端拉取,然后返回。
  2. 监听用户信息更新事件通知,收到通知之后,再次获取用户信息,参考代码如下:
// 在合适的地方添加事件监听,比如组件创建的时候
wfc.eventEmitter.on(EventType.UserInfosUpdate, this.onUserInfosUpdate);

// ....

onUserInfosUpdate(userInfos){
// 业务代码,比如更新 UI 等
}

// 组件销毁的时候,记得删除监听,否则会造成内存泄漏
wfc.eventEmitter.removeListener(EventType.UserInfosUpdate, this.onUserInfosUpdate);
最新回复 (1)
  • x86 4月前
    引用 2
    补充,群信息也是一样的处理
返回