From 01c46e7bfe9aa8fb20b29f70c83c03a307af548a Mon Sep 17 00:00:00 2001
From: JLChen <551775569@qq.com>
Date: 星期二, 22 十二月 2020 16:35:16 +0800
Subject: [PATCH] 2020-12-22 1.更新。

---
 HDL_ON/DAL/Mqtt/MqttClient.cs |   51 +++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 37 insertions(+), 14 deletions(-)

diff --git a/HDL_ON/DAL/Mqtt/MqttClient.cs b/HDL_ON/DAL/Mqtt/MqttClient.cs
index bbd535a..9246240 100644
--- a/HDL_ON/DAL/Mqtt/MqttClient.cs
+++ b/HDL_ON/DAL/Mqtt/MqttClient.cs
@@ -119,7 +119,7 @@
         /// <summary>
         /// 澶栫綉鐨凪QTT鏄惁姝e湪杩炴帴
         /// </summary>
-        public static bool remoteMqttIsConnecting;
+        public static bool RemoteMqttIsConnecting;
         static bool remoteIsConnected;
 
         static MqttClient()
@@ -138,6 +138,8 @@
                     {
                         System.Threading.Thread.Sleep(500);
                         if (!Control.Ins.IsRemote) continue;
+                        //杩涘叆鍚庡彴涓嶅鐞�
+                        if (MainPage.IsEnterBackground) continue;
 
                         await StartCloudMqtt();
                         await SubscribeTopics();
@@ -221,7 +223,7 @@
             }
 
             //杩藉姞锛氭病鏈夎繙绋嬭繛鎺ョ殑鏉冮檺
-            if (remoteMqttIsConnecting || remoteIsConnected)
+            if (RemoteMqttIsConnecting || remoteIsConnected)
             {
                 return;
             }
@@ -232,7 +234,7 @@
                 try
                 {
                     #region 鍒濆鍖栬繙绋婱qtt
-                    remoteMqttIsConnecting = true;
+                    RemoteMqttIsConnecting = true;
                     RemoteMqttClient = new MqttFactory().CreateMqttClient();
 
 
@@ -267,6 +269,7 @@
                                 }
                                 else
                                 {
+                                    MainPage.Log($"mqtt data");
                                     SetGatewayOnlineResetCheck();
                                     var bytes = Securitys.EncryptionService.AesDecryptPayload(e.ApplicationMessage.Payload, DB_ResidenceData.Instance.HomeGateway.aesKey);
                                     
@@ -289,7 +292,7 @@
                                     {
                                         //A鍗忚鏁版嵁澶勭悊
                                         var revString = Encoding.UTF8.GetString(bytes);
-                                        Control.Ins.UpdataFunctionStatus(revString);
+                                        Control.Ins.UpdataFunctionStatus(revString,null);
                                     }
                                 }
                             }
@@ -310,11 +313,27 @@
                     if (RemoteMqttClient.ConnectedHandler == null)
                     {
                         RemoteMqttClient.UseConnectedHandler(async (e) => {
-                            Control.Ins.GatewayOnline = true;
+                            if (DB_ResidenceData.Instance.HomeGateway.gatewayStatus)
+                            {
+                                Control.Ins.GatewayOnline = true;
+                            }
+                            else
+                            {
+                                //new System.Threading.Thread(() => {
+                                //    while(true)
+                                //    {
+                                //        System.Threading.Thread.Sleep(1000);
+                                //        if (DB_ResidenceData.Instance.HomeGateway.GatewayOnline)
+                                //        {
+                                //            Control.Ins.GatewayOnline = true;
+                                //            break;
+                                //        }
+                                //    }
+                                //}) { IsBackground = true }.Start();
+                            }
                             IfNeedReadAllDeviceStatus = true;
                             Utlis.WriteLine($"============>Mqtt杩滅▼杩炴帴鎴愬姛");
                             SendPushSignOut();
-                            //FunctionList.List.ReadAllFunctionStatus();
                         });
                     }
                     #endregion
@@ -341,7 +360,7 @@
                 finally
                 {
                     //鏈�缁堣閲婃斁杩炴帴鐘舵��
-                    remoteMqttIsConnecting = false;
+                    RemoteMqttIsConnecting = false;
 
                     Utlis.WriteLine($"StartCloudMqtt: 缁撴潫");
                 }
@@ -524,7 +543,9 @@
         /// </summary>
         static void ReceiveNotifySqueezeAsync(string mMes)
         {
-
+#if DEBUG
+            return;
+#endif
             if (mMes == PushSignStr) return;//鏄嚜宸辩殑鐧诲綍鎺ㄩ�佷笉澶勭悊
 
             //鏂紑杩滅▼杩炴帴
@@ -536,13 +557,15 @@
 
             DisConnectRemoteMqttClient("鎸や笅绾�");
 
-            UserInfo.Current.LastTime = DateTime.MinValue;
-            UserInfo.Current.SaveUserInfo();
+            HDLCommon.Current.CheckLogout();
 
-            Application.RunOnMainThread(() => {
-                MainPage.GoLoginPage(UserInfo.Current);
-                //寮圭獥鎻愮ず琚尋涓嬬嚎
-            });
+            //UserInfo.Current.LastTime = DateTime.MinValue;
+            //UserInfo.Current.SaveUserInfo();
+
+            //Application.RunOnMainThread(() => {
+            //    MainPage.GoLoginPage(UserInfo.Current);
+            //    //寮圭獥鎻愮ず琚尋涓嬬嚎
+            //});
 
             //2020-08-11 鍒犻櫎鎺ㄩ�佹暟鎹�
             //HDLRequest.Current.PushserivceSignOut ();

--
Gitblit v1.8.0