fetchMemberListFromServer method
~english Gets the member list of the group with pagination.
For example:
ChatCursorResult<String> result = await ChatClient.getInstance.groupManager.fetchMemberListFromServer(groupId); // search 1
result = await ChatClient.getInstance.groupManager.fetchMemberListFromServer(groupId, cursor: result.cursor); // search 2
Param groupId
The group ID.
Param pageSize
The number of group members per page.
Param cursor
The cursor position from which to start to get data next time. Sets the parameter as null for the first time.
Return The result of ChatCursorResult
, including the cursor for getting data next time and the group member list.
If ChatCursorResult.cursor is an empty string (""), all data is fetched.
Throws A description of the exception. See ChatError. ~end
~chinese 以分页方式获取群组成员列表。
例如:
ChatCursorResult<String> result = await ChatClient.getInstance.groupManager.fetchMemberListFromServer(groupId); // search 1
result = await ChatClient.getInstance.groupManager.fetchMemberListFromServer(groupId, cursor: result.cursor); // search 2
Param groupId
群组 ID。
Param pageSize
每页返回的群组成员数。
Param cursor
从这个游标位置开始取数据,首次获取数据时传 null 即可。
Return 分页获取结果 ChatCursorResult
,包含用于下次获取数据的 cursor 以及群组成员列表。返回的结果中,当 ChatCursorResult.cursor 为空字符串 ("") 时,表示没有更多数据。
Throws 如果有异常会在此抛出,包括错误码和错误信息,详见 ChatError。 ~end
Implementation
Future<ChatCursorResult<String>> fetchMemberListFromServer(
String groupId, {
int pageSize = 200,
String? cursor,
}) async {
Map req = {
'groupId': groupId,
'pageSize': pageSize,
};
req.putIfNotNull("cursor", cursor);
Map result = await _channel.invokeMethod(
ChatMethodKeys.getGroupMemberListFromServer,
req,
);
try {
ChatError.hasErrorFromResult(result);
return ChatCursorResult<String>.fromJson(
result[ChatMethodKeys.getGroupMemberListFromServer],
dataItemCallback: (value) => value);
} on ChatError catch (e) {
throw e;
}
}