fetchPublicGroupsFromServer method

Future<ChatCursorResult<ChatGroupInfo>> fetchPublicGroupsFromServer({
  1. int pageSize = 200,
  2. String? cursor,
})

以分页方式从服务器获取当前用户加入的所有公开群组。

Param pageSize 每页返回的群组数。

Param cursor 从这个游标位置开始取数据,首次获取数据时传 null,按照用户加入公开群组时间的顺序还是逆序获取数据。

Return 包含用于下次获取数据的 cursor 以及群组列表。返回的结果中,当 ChatCursorResult.getCursor() 为空字符串 ("") 时,表示没有更多数据。

Throws 如果有异常会在此抛出,包括错误码和错误信息,详见 ChatError

Implementation

Future<ChatCursorResult<ChatGroupInfo>> fetchPublicGroupsFromServer({
  int pageSize = 200,
  String? cursor,
}) async {
  Map req = {'pageSize': pageSize};
  req.putIfNotNull("cursor", cursor);
  Map result = await _channel.invokeMethod(
      ChatMethodKeys.getPublicGroupsFromServer, req);
  try {
    ChatError.hasErrorFromResult(result);
    return ChatCursorResult<ChatGroupInfo>.fromJson(
        result[ChatMethodKeys.getPublicGroupsFromServer],
        dataItemCallback: (value) {
      return ChatGroupInfo.fromJson(value);
    });
  } on ChatError catch (e) {
    throw e;
  }
}