fetchJoinedGroupsFromServer method

Future<List<EMGroup>> fetchJoinedGroupsFromServer({
  1. int pageSize = 20,
  2. int pageNum = 0,
  3. bool needMemberCount = false,
  4. bool needRole = false,
})

~english Gets the groups joined by the current user from the server with pagination.

Param pageNum The current page number, starting from 0. The SDK queries in reverse order of group joining. Param pageSize The number of groups to get per page. Value range: 1,20. Param needMemberCount Whether to get the group member count. Param needRole Whether to get the role of the current user in the group.

Returns The list of retrieved groups.

Throws Exception description, see EMError. ~end

~chinese 从服务器分页获取当前用户加入的群组。

Param pageNum 当前页码,从 0 开始,SDK 按照加入群组逆序查询。 Param pageSize 每页获取的群组数量,取值范围 1,20。 Param needMemberCount 是否需要群组成员数。 Param needRole 是否需要当前用户在群组内的角色。

Return 获取到的群组列表。

Throws 如果有异常会在这里抛出,包含错误码和错误描述,详见 EMError. ~end

Implementation

Future<List<EMGroup>> fetchJoinedGroupsFromServer({
  int pageSize = 20,
  int pageNum = 0,
  bool needMemberCount = false,
  bool needRole = false,
}) async {
  try {
    Map req = {
      'pageSize': pageSize,
      'pageNum': pageNum,
      "needMemberCount": needMemberCount,
      "needRole": needRole,
    };
    Map result = await Client.instance.groupManager
        .callNativeMethod(ChatMethodKeys.getJoinedGroupsFromServer, req);
    EMError.hasErrorFromResult(result);
    List<EMGroup> list = [];
    result[ChatMethodKeys.getJoinedGroupsFromServer]
        ?.forEach((element) => list.add(EMGroup.fromJson(element)));
    return list;
  } catch (e) {
    rethrow;
  }
}