fetchMembersAttributes method
根据指定的属性 key 获取多个群成员的自定义属性。
Param groupId 群组 ID。
Param userIds 要获取属性的群成员用户 ID 列表(最多 10 个)。
Param keys 要获取的自定义属性 key 列表。
Return 群成员属性,格式为 { 用户ID: { 属性键值对 } }。
Throws 如果有异常会在这里抛出,包含错误码和错误描述,详见 ChatError。
Implementation
Future<Map<String, Map<String, String>>> fetchMembersAttributes({
required String groupId,
required List<String> userIds,
List<String>? keys,
}) async {
try {
Map req = {'groupId': groupId, 'userIds': userIds};
req.putIfNotNull("keys", keys);
Map result = await platform_interface.Client.instance.groupManager.callNativeMethod(
ChatMethodKeys.fetchMembersAttributesFromGroup, req);
ChatError.hasErrorFromResult(result);
var map = result[ChatMethodKeys.fetchMembersAttributesFromGroup];
Map<String, Map<String, String>> ret = {};
if (map is Map) {
for (var element in map.keys) {
if (map[element] is Map) {
Map<String, String> value =
Map<String, String>.from(map[element] ?? {});
ret[element] = value;
}
}
}
return ret;
} catch (e) {
rethrow;
}
}