fetchOwnInfo method

Future<ChatUserInfo?> fetchOwnInfo({
  1. int expireTime = 0,
})

获取当前用户的属性信息。

Param expireTime 获取的用户属性到期时间。如果在到期时间内再次调用该方法,则 SDK 直接返回上次获取到的缓存数据。例如,将该参数设为 120,即 2 分钟,则如果你在 2 分钟内再次调用该方法获取用户属性,SDK 仍将返回上次获取到的属性。否则需从服务器获取。

Return 用户属性。请参见 ChatUserInfo

Throws 如果有方法调用的异常会在这里抛出,可以看到具体错误原因。请参见 ChatError

Implementation

Future<ChatUserInfo?> fetchOwnInfo({int expireTime = 0}) async {
  try {
    String? currentUser = await ChatClient.getInstance.getCurrentUserId();
    if (currentUser == null) {
      throw ChatError.fromJson({
        "code": 201,
        "description": "Not login",
      });
    }
    Map<String, ChatUserInfo> ret = await fetchUserInfoById(
      [currentUser],
      expireTime: expireTime,
    );
    _effectiveUserInfoMap[ret.values.first.userId] = ret.values.first;
    return ret.values.first;
  } catch (e) {
    rethrow;
  }
}