From f46be160caed45c67e8980173d29ed48d525a4d3 Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期二, 28 三月 2023 14:49:52 +0800
Subject: [PATCH] 2023年03月28日14:49:50

---
 HDL_ON/Common/HDLCommon.cs |   74 +++++++++++++++++++++++++++---------
 1 files changed, 55 insertions(+), 19 deletions(-)

diff --git a/HDL_ON/Common/HDLCommon.cs b/HDL_ON/Common/HDLCommon.cs
index 41a8562..cbcb32f 100644
--- a/HDL_ON/Common/HDLCommon.cs
+++ b/HDL_ON/Common/HDLCommon.cs
@@ -91,7 +91,7 @@
                     {
                         if (revertObj.Data != null)
                         {
-                            var appVersionRes = Newtonsoft.Json.JsonConvert.DeserializeObject<AppVersionRes>(revertObj.Data.ToString());
+                            var appVersionRes = Newtonsoft.Json.JsonConvert.DeserializeObject<AppVersionResNew>(revertObj.Data.ToString());
                             if (appVersionRes != null)
                             {
 
@@ -99,29 +99,33 @@
                                 {
                                     UpdateType = appVersionRes.isEnforce ? 2 : 1,
                                     NewVersion = appVersionRes.version,
-                                    NewVersionUrl = appVersionRes.androidUrl
+                                    NewVersionUrl = appVersionRes.packageUrl
                                 };
 #if __IOS__
-                                mForceUpdateInfo.NewVersionUrl = appVersionRes.iosUrl;
+                                mForceUpdateInfo.NewVersionUrl = appVersionRes.packageUrl;
 #endif
                                 //瑙f瀽鏇存柊鍐呭璇︽儏
-                                var reasonStrJson = GetReasonStrJson(appVersionRes.updateDescription);
-                                if (reasonStrJson != null)
-                                {
-                                    if (Language.CurrentLanguage == "Chinese")
-                                    {
-                                        mForceUpdateInfo.ReasonStr = reasonStrJson.Chinese;
-                                    }
-                                    else
-                                    {
-                                        mForceUpdateInfo.ReasonStr = reasonStrJson.English;
-                                    }
-                                }
+                                //var reasonStrJson = GetReasonStrJson(appVersionRes.remark);
+                                //if (reasonStrJson != null)
+                                //{
+                                //    if (Language.CurrentLanguage == "Chinese")
+                                //    {
+                                //        mForceUpdateInfo.ReasonStr = reasonStrJson.Chinese;
+                                //    }
+                                //    else
+                                //    {
+                                //        mForceUpdateInfo.ReasonStr = reasonStrJson.English;
+                                //    }
+                                //}
+                                mForceUpdateInfo.ReasonStr = appVersionRes.remark;
 
-                                Application.RunOnMainThread(() =>
+                                if (appVersionRes.version != MainPage.VersionString)
                                 {
-                                    ShowForceUpdateDialog(mForceUpdateInfo);
-                                });
+                                    Application.RunOnMainThread(() =>
+                                    {
+                                        ShowForceUpdateDialog(mForceUpdateInfo);
+                                    });
+                                }
                             }
                         }
                     }
@@ -300,10 +304,25 @@
                     }
                     else if (jpushMessageInfo.messageType.Contains(PushMessageType.HDL_INTERPHONE.ToString()))
                     {
+
                         if (string.IsNullOrEmpty(jpushMessageInfo.expantContent)) return;
 
                         //瀛楁鍏煎闂锛屽彧鑳界洿鎺ュ彇鍊间簡
                         var json = Newtonsoft.Json.Linq.JObject.Parse(jpushMessageInfo.expantContent);
+                        try
+                        {
+                            var pushTime = json["pushTime"];
+                            if (!string.IsNullOrEmpty(pushTime.ToString()))
+                            {
+                                var pushDateTime = Utlis.UnixToDateTimeMS(Convert.ToInt64(pushTime));
+                                if (pushDateTime.AddSeconds(30) < DateTime.Now)
+                                {
+                                    return;
+                                }
+                            }
+                        }
+                        catch { }
+
                         //1.瑙嗗璁插巶瀹剁被鍨�
                         string interphoneTypeEnum = json["interphoneTypeEnum"].ToString();
                         if (string.IsNullOrEmpty(interphoneTypeEnum)) return;
@@ -367,6 +386,21 @@
                     else if (jpushMessageInfo.messageType.Contains(PushMessageType.Prompt.ToString()))
                     {
                         ShowAlarmPushMessage(jpushMessageInfo, false);
+                    }
+                    else if (jpushMessageInfo.messageType.Contains(PushMessageType.DOOR_BELL.ToString()))
+                    {
+                        try
+                        {
+                            if (string.IsNullOrEmpty(jpushMessageInfo.expantContent)) return;
+                            var expantContent = Newtonsoft.Json.JsonConvert.DeserializeObject<UI.UI2.FuntionControlView.VideoDoorLock.ExpantContent>(jpushMessageInfo.expantContent);
+                            if (expantContent == null)
+                            {
+                                return;
+                            }
+                            ///瑙嗛闂ㄩ攣
+                            HDL_ON.UI.UI2.FuntionControlView.VideoDoorLock.CommonMethod.Current.SkipRTVActivity(expantContent.devSerial, expantContent.deviceId,expantContent.spk);
+                        }
+                        catch { }
                     }
                 }
             }
@@ -541,7 +575,7 @@
 
 
             //闃叉澶氭寮圭獥澶勭悊
-            if (alarmPushConfirmDialog == null)
+            if (alarmPushConfirmDialog == null) 
             {
                 alarmPushConfirmDialog = new ConfirmDialog(isAlarm);
                 alarmPushConfirmDialog.ShowDialog(Language.StringByID(StringId.Tip), jpushMessageInfo.Content, goAction, cancelAction, StringId.Cancel, StringId.LookOver);
@@ -607,6 +641,7 @@
         public void UpdateInternetStatus(int internetStatus, bool IsEnterBackground = false)
         {
             MainPage.Log($"缃戠粶鐘舵�佸彉鍖栵紝褰撳墠缃戠粶:{internetStatus} 鏄惁鍚庡彴:{IsEnterBackground.ToString()}");
+            MainPage.LinkHdlMqttCount = 0;
             //缃戠粶鐘舵�佸彉鍖� 閲嶇疆缃戝叧鐘舵�侀噸鏂版悳绱�
             Control.Ins.GatewayOnline_Cloud = false;
             Control.Ins.GatewayOnline_Local = false;
@@ -616,6 +651,7 @@
             if (internetStatus == 0)//娌℃湁缃戠粶杩炴帴 0
             {
                 MainPage.InternetStatus = 0;
+                DAL.Mqtt.MqttClient.InitState();
             }
             else if (internetStatus == 1)//3,4G鐨勭綉缁滆繛鎺� 1
             {

--
Gitblit v1.8.0