syncUserInfo method
同步用户信息,调用手动登录IM的时候会自动调用 如果使用IM的自动登录功能,成功之后可以调用此方法同步用户信息
Implementation
@override
Future<void> syncUserInfo(String account) async {
//如果是自动登录,先设置监听
if (isAutoLogin) {
setUserListener();
_onLoginStatusChanged.add(NIMLoginStatus.loginStatusLogined);
status = NIMLoginStatus.loginStatusLogined;
}
//1, 先从本地取
var localUserInfoResult =
await NimCore.instance.userService.getUserList([account]);
if (localUserInfoResult.data != null &&
localUserInfoResult.data?.isNotEmpty == true) {
userInfo = localUserInfoResult.data?.first;
} else {
//本地取不到再从云端取
var userResult =
await NimCore.instance.userService.getUserListFromCloud([account]);
if (userResult.isSuccess && userResult.data != null) {
userInfo = userResult.data?.first;
}
}
Alog.i(
tag: 'LoginService',
content: 'syncUserInfo result ==> ${userInfo?.toJson()}');
}