getMessageExtDatas method
void
getMessageExtDatas()
Implementation
void getMessageExtDatas() async {
if (widget.message.msgID == null) {
return;
}
String msgID = widget.message.msgID!;
TencentCloudChatVoteLogic? originData = Provider.of<TencentCloudChatVoteMessageModel>(
context,
listen: false,
).getTencentCloudChatVoteLogic(msgID);
if (originData == null) {
return;
}
String originmsgId = originData.voteData.content.original_msg_id ?? "";
int originMsgSeq = originData.voteData.content.original_msg_seq ?? 0;
V2TimValueCallback<List<V2TimMessageExtension>> extRes = await TencentImSDKPlugin.v2TIMManager.getMessageManager().getMessageExtensions(
msgID: msgID,
);
List<V2TimMessageExtension> originExtList = List<V2TimMessageExtension>.from([]);
if (extRes.code == 0) {
if (extRes.data != null) {
if (originmsgId.isNotEmpty && originMsgSeq != 0) {
// 这是个重复发的消息,需要把原始消息的扩展设置过来
V2TimValueCallback<List<V2TimMessageExtension>> originExtRes = await TencentImSDKPlugin.v2TIMManager.getMessageManager().getMessageExtensions(
msgID: originmsgId,
);
if (originExtRes.code == 0) {
if (originExtRes.data != null) {
if (originExtRes.data!.isNotEmpty) {
originExtList = originExtRes.data!;
await TencentImSDKPlugin.v2TIMManager.getMessageManager().setMessageExtensions(
msgID: msgID,
extensions: originExtRes.data!,
);
}
}
}
}
// if (extRes.data!.isNotEmpty) {
List<V2TimMessageExtension> extList = extRes.data!;
await originData.setMessageExt(
originExtList.isNotEmpty ? originExtList : extList,
);
Provider.of<TencentCloudChatVoteMessageModel>(context, listen: false).updateTencentCloudChatVoteLogic(originData);
// }
}
}
}