getWKMsg method
Implementation
WKMsg getWKMsg() {
WKMsg msg = WKMsg();
msg.channelID = channelID;
msg.channelType = channelType;
msg.messageID = messageID;
msg.messageSeq = messageSeq;
msg.clientMsgNO = clientMsgNO;
msg.fromUID = fromUID;
msg.timestamp = timestamp;
msg.orderSeq = msg.messageSeq * WKIM.shared.messageManager.wkOrderSeqFactor;
msg.voiceStatus = voiceStatus;
msg.isDeleted = isDeleted;
msg.status = WKSendMsgResult.sendSuccess;
msg.wkMsgExtra = WKMsgExtra();
msg.wkMsgExtra!.revoke = revoke;
msg.wkMsgExtra!.revoker = revoker;
msg.wkMsgExtra!.unreadCount = unreadCount;
msg.wkMsgExtra!.readedCount = readedCount;
msg.wkMsgExtra!.readed = readed;
// msg.reactionList = reactions;
// msg.receipt = receipt;
msg.wkMsgExtra!.extraVersion = extraVersion;
//处理消息设置
msg.setting = msg.setting.decode(setting);
//如果是单聊先将channelId改成发送者ID
if (msg.channelID != '' &&
msg.fromUID != '' &&
msg.channelType == WKChannelType.personal &&
msg.channelID == WKIM.shared.options.uid) {
msg.channelID = msg.fromUID;
}
if (payload != null) {
msg.content = jsonEncode(payload);
msg.contentType = WKDBConst.readInt(payload, 'type');
}
WKIM.shared.messageManager.parsingMsg(msg);
// 处理消息回应
if (reactions != null && reactions!.isNotEmpty) {
msg.reactionList = getMsgReaction(reactions!);
}
if (msg.contentType != WkMessageContentType.contentFormatError) {
msg.messageContent =
WKIM.shared.messageManager.getMessageModel(msg.contentType, payload);
}
return msg;
}