getWKMsg method

WKMsg getWKMsg()

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;
}