setMessageExt method
dynamic
setMessageExt(
- List<V2TimMessageExtension> msgExts
)
Implementation
setMessageExt(List<V2TimMessageExtension> msgExts) async {
// 这里来过滤下那些不合法的key
messageExts = msgExts.takeWhile((value) => value.extensionKey == 'closed' || (value.extensionKey.split("_").length == 2 && value.extensionValue.split("_").isNotEmpty)).toList();
if (messageExts.isEmpty) {
return;
}
List<String> userids = List<String>.from([]);
for (var i = 0; i < messageExts.length; i++) {
V2TimMessageExtension ext = messageExts[i];
print(ext.toJson());
if (ext.extensionKey == 'closed') {
isClose = true;
} else {
String userid = ext.extensionKey.split("_").first;
userids.add(userid);
if (userid == TencentCloudChatVotePlugin.currentUser) {
isVoted = true;
}
}
print("isClose $isClose isVoted $isVoted");
}
// 这里获取下投票者的群成员信息
if (msg.groupID != null && userids.isNotEmpty) {
V2TimValueCallback<List<V2TimGroupMemberFullInfo>> getGroupInfosRes = await TencentImSDKPlugin.v2TIMManager.getGroupManager().getGroupMembersInfo(
groupID: msg.groupID!,
memberList: userids,
);
if (getGroupInfosRes.code == 0) {
if (getGroupInfosRes.data != null) {
if (getGroupInfosRes.data!.isNotEmpty) {
List<V2TimGroupMemberFullInfo> _groupinfos = getGroupInfosRes.data!;
for (var element in _groupinfos) {
groupInfos[element.userID] = element;
}
}
}
}
}
}