From c66ce32f9a14cd08129da22e2df9621014007d5a Mon Sep 17 00:00:00 2001 From: oneRain Date: Mon, 27 Apr 2020 18:19:15 +0800 Subject: [PATCH] * LCIMTextMessage.cs: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * LCIMTypedMessage.cs: chore: 调整消息数据保存 --- Realtime/Message/LCIMTextMessage.cs | 1 - Realtime/Message/LCIMTypedMessage.cs | 9 +++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Realtime/Message/LCIMTextMessage.cs b/Realtime/Message/LCIMTextMessage.cs index 65244cb..2b0fb56 100644 --- a/Realtime/Message/LCIMTextMessage.cs +++ b/Realtime/Message/LCIMTextMessage.cs @@ -30,7 +30,6 @@ namespace LeanCloud.Realtime { public override int MessageType => TextMessageType; internal override void Decode(Dictionary msgData) { - base.Decode(msgData); if (msgData.TryGetValue(MessageTextKey, out object value)) { Text = value as string; } diff --git a/Realtime/Message/LCIMTypedMessage.cs b/Realtime/Message/LCIMTypedMessage.cs index 3c1b677..6199642 100644 --- a/Realtime/Message/LCIMTypedMessage.cs +++ b/Realtime/Message/LCIMTypedMessage.cs @@ -109,11 +109,8 @@ namespace LeanCloud.Realtime { } internal virtual void Decode(Dictionary msgData) { + // 直接保存 data = msgData; - MessageType = (int)msgData[MessageTypeKey]; - if (msgData.TryGetValue(MessageAttributesKey, out object attrObj)) { - customProperties = LCDecoder.Decode(attrObj) as Dictionary; - } } internal static LCIMTypedMessage Deserialize(string json) { @@ -128,6 +125,10 @@ namespace LeanCloud.Realtime { // 未注册的类型消息 message = new LCIMTypedMessage(); } + message.MessageType = msgType; + if (msgData.TryGetValue(MessageAttributesKey, out object attrObj)) { + message.customProperties = LCDecoder.Decode(attrObj) as Dictionary; + } message.Decode(msgData); return message; }