updateUserInfo method
修改当前用户的属性信息。
Param nickname
用户昵称。该昵称与推送设置中的昵称设置不同,我们建议这两种昵称的设置保持一致。设置推送昵称详见 EMPushManager.updatePushNickname。
Param avatarUrl
用户头像。
Param mail
用户邮箱。
Param phone
用户手机号。
Param gender
用户性别。
0
: (默认) 未知;1
: 男;2
: 女.
Param sign
用户签名。
Param birth
用户的生日。
Param ext
用户的自定义属性字段。该字段可为空,或设置为自定义扩展信息,封装为 JSON 字符串。
Return 用户属性信息。
Throws 如果有方法调用的异常会在这里抛出,可以看到具体错误原因。请参见 EMError。
Implementation
Future<EMUserInfo> updateUserInfo({
String? nickname,
String? avatarUrl,
String? mail,
String? phone,
int? gender,
String? sign,
String? birth,
String? ext,
}) async {
Map req = {};
req.putIfNotNull("nickName", nickname);
req.putIfNotNull("avatarUrl", avatarUrl);
req.putIfNotNull("mail", mail);
req.putIfNotNull("phone", phone);
req.putIfNotNull("gender", gender);
req.putIfNotNull("sign", sign);
req.putIfNotNull("birth", birth);
req.putIfNotNull("ext", ext);
try {
Map result =
await _channel.invokeMethod(ChatMethodKeys.updateOwnUserInfo, req);
EMError.hasErrorFromResult(result);
EMUserInfo info =
EMUserInfo.fromJson(result[ChatMethodKeys.updateOwnUserInfo]);
_effectiveUserInfoMap[info.userId] = info;
return info;
} on EMError catch (e) {
throw e;
}
}