From cc8749fe1d158ee21670bde77fad237be2f0c416 Mon Sep 17 00:00:00 2001
From: JLChen <551775569@qq.com>
Date: 星期五, 08 一月 2021 11:47:06 +0800
Subject: [PATCH] 2021-01-08 1.去掉无关文件

---
 Crabtree/SmartHome/UI/SimpleControl/MqttCommon.cs |   64 ++++++++++++++++++++++---------
 1 files changed, 45 insertions(+), 19 deletions(-)

diff --git a/Crabtree/SmartHome/UI/SimpleControl/MqttCommon.cs b/Crabtree/SmartHome/UI/SimpleControl/MqttCommon.cs
index 8b013e7..d6bf05b 100644
--- a/Crabtree/SmartHome/UI/SimpleControl/MqttCommon.cs
+++ b/Crabtree/SmartHome/UI/SimpleControl/MqttCommon.cs
@@ -65,6 +65,8 @@
                         System.Threading.Thread.Sleep (200);
                         if (!CommonPage.IsRemote) continue;
 
+                        if (Control.IsEnterBackground) continue;
+
                         await StartCloudMqtt ();
                         await CheckingSubscribeTopics ();
                     } catch { }
@@ -98,6 +100,7 @@
             try {
                 if (!isSubscribeTopicSuccess) {
 
+
                     var topicFilterCommon = new TopicFilter () {
                         Topic = $"/BusGateWayToClient/{CurRemoteMACInfo.macMark}/Common/#",
                         QualityOfServiceLevel = MQTTnet.Protocol.MqttQualityOfServiceLevel.ExactlyOnce
@@ -121,12 +124,30 @@
                         QualityOfServiceLevel = MQTTnet.Protocol.MqttQualityOfServiceLevel.ExactlyOnce
                     };
 
-                    
+
                     var topicFilters = new TopicFilter [] { topicFilterCommon, topicFilterGateWayInfoChange, topicFilterNotifySqueeze, topicFilterNotifyGateWayOffline };
                     var result = await RemoteMqttClient.SubscribeAsync (topicFilters);
                     if (result.Items [0].ResultCode == MQTTnet.Client.Subscribing.MqttClientSubscribeResultCode.GrantedQoS2) {
                         isSubscribeTopicSuccess = true;
                     }
+
+                    ////2020-06-22 閫氱敤涓婚
+                    //var topicFilterMacMark = new TopicFilter () {
+                    //    Topic = $"/BusGateWayToClient/{CurRemoteMACInfo.macMark}/#",
+                    //    QualityOfServiceLevel = MQTTnet.Protocol.MqttQualityOfServiceLevel.ExactlyOnce
+                    //};
+
+                    ////鎸や笅绾夸富棰�
+                    //var topicFilterNotifySqueeze = new TopicFilter () {
+                    //    Topic = $"/BusGateWayToClient/{mMqttInfo.connEmqClientId}/Push/NotifySqueeze",
+                    //    QualityOfServiceLevel = MQTTnet.Protocol.MqttQualityOfServiceLevel.ExactlyOnce
+                    //};
+
+                    //var topicFilters = new TopicFilter [] { topicFilterMacMark, topicFilterNotifySqueeze };
+                    //var result = await RemoteMqttClient.SubscribeAsync (topicFilters);
+                    //if (result.Items [0].ResultCode == MQTTnet.Client.Subscribing.MqttClientSubscribeResultCode.GrantedQoS2) {
+                    //    isSubscribeTopicSuccess = true;
+                    //}
                 }
             } catch (Exception ex) {
 
@@ -190,6 +211,9 @@
                     //琛ㄧず鍚庨潰灏嗚繘琛岃繛鎺�
 
                     #region 鍒濆鍖栬繙绋婱qtt
+                    //2020-06-22 澧炲姞
+                    RemoteMqttClient = new MqttFactory ().CreateMqttClient ();
+
                     //(3)褰揫杩炴帴浜戠鐨凪qtt鎴愬姛鍚嶿鎴栬�匸浠ュ強鍚庨潰App閫氳繃浜戠Mqtt杞彂鏁版嵁缁欑綉鍏虫垚鍔熷悗],澶勭悊鎺ユ敹鍒颁簯绔暟鎹寘鍝嶅簲鏃跺湪mqttServerClient_ApplicationMessageReceived杩欎釜鏂规硶澶勭悊
                     if (RemoteMqttClient.ApplicationMessageReceivedHandler == null) {
                         RemoteMqttClient.UseApplicationMessageReceivedHandler (async (e) => {
@@ -289,7 +313,7 @@
                 } catch (Exception ex) {
                     //Utlis.WriteLine ($"============>Mqtt 杩滅▼杩炴帴閫氳杩炴帴鍑哄紓甯�:{ex.Message}");
 
-                    MainPage.LoadingSetText ("Connect error, trying to reconnect.");
+                    MainPage.LoadingTipShow ("Connect error, trying to reconnect.");
 
                     if (IfDEBUG) {
                         MainPage.ShowAlertOnMainThread ("error: " + ex.Message);
@@ -299,7 +323,9 @@
                     //鏈�缁堣閲婃斁杩炴帴鐘舵��
                     remoteMqttIsConnecting = false;
 
-                    MainPage.LoadingHide ();
+                    MainPage.LoadingTipHide ();
+
+                    //MainPage.LoadingHide ();
                 }
             });
         }
@@ -340,15 +366,15 @@
                             } else {
                                 //Utlis.WriteLine ("============>Mqtt CurRemoteMACInfo null");
 
-                                MainPage.LoadingSetText ("Please wait, failed to get gateway parameters.");
+                                MainPage.LoadingTipShow ("Please wait, failed to get gateway parameters.");
                             }
                         }
 
                     } else {
                         //Utlis.WriteLine ("============>Mqtt mqttInfoRequestResult_Obj null");
 
-                        MainPage.LoadingSetText ("Please wait, failed to get user parameters.");
-                        //MainPage.LoadingSetText ("Please wait, failed to get parameters.");
+                        MainPage.LoadingTipShow ("Please wait, failed to get user parameters.");
+                        //MainPage.LoadingTipShow ("Please wait, failed to get parameters.");
                     }
                 } catch {
 
@@ -356,7 +382,7 @@
             } else {
                 //Utlis.WriteLine ("============>Mqtt GetInfo 澶辫触");
                 MainPage.AddTip ("Please wait, failed to get parameters.");
-                //MainPage.LoadingSetText ("Please wait, failed to get parameters.");
+                //MainPage.LoadingTipShow ("Please wait, failed to get parameters.");
             }
 
         }
@@ -371,7 +397,7 @@
                 LoginAccessToken = mqttRequestParToken,
                 PlatformStr = "L1",
                 PublishPayloadJsonStr = PushSignStr,
-                MainUserDistributedMark = UserConfig.Instance.CurrentRegion.MainUserDistributedMark,
+                //MainUserDistributedMark = UserConfig.Instance.CurrentRegion.MainUserDistributedMark,
                 HomeId = UserConfig.Instance.CurrentRegion.Id
             };
             var mqttInfoRequestResult = MainPage.RequestHttps (API.ShareMemberConnMqttInfo, Newtonsoft.Json.JsonConvert.SerializeObject (mqttInfoRequestPar));
@@ -383,7 +409,7 @@
                     //--绗簩姝ワ細鑾峰彇褰撳墠浣忓垎浜畢缃戝叧淇℃伅骞惰繛鎺QTT
                     await GetSingleHomeGatewayPaggerAndMQTTConnectAsync ();
                 } else {
-                    MainPage.LoadingSetText ("Please wait, failed to get user parameters.");
+                    MainPage.LoadingTipShow ("Please wait, failed to get user parameters.");
                 }
             }
         }
@@ -399,7 +425,7 @@
                 //鑾峰彇鍙傛暟鎴愬姛锛屽紑濮嬭繛鎺�...
                 //MainPage.AddTip ("Successfully obtained parameters, starting to connect...");
 
-                MainPage.LoadingStart ("Please wait, connecting remotely...");
+                MainPage.LoadingTipShow ("Please wait, connecting remotely...");
 
                 //try {
                 //    var url = mMqttInfo.connEmqDomainPort;
@@ -454,7 +480,7 @@
                     remoteIsConnected = true;
                     IsDisConnectingWithSendCatch = false;
 
-                    MainPage.LoadingSetText ("Remote connection succeeded.");
+                    MainPage.LoadingTipShow ("Remote connection succeeded.");
 
                     //MainPage.AddTip ("Connection succeeded!");
                     //await MqttRemoteSend (new byte [] { 0 }, 1);
@@ -466,7 +492,7 @@
                     //options1 寮傚父鎻愮ず
                     //Console.WriteLine ("Connect error: " + ex.Message);
 
-                    MainPage.LoadingSetText ("Connect error.");
+                    MainPage.LoadingTipShow ("Connect error.");
 
                     if (IfDEBUG) {
                         MainPage.ShowAlertOnMainThread ("Connect error: " + ex.Message);
@@ -492,7 +518,7 @@
                 bNeedStartTip = false;
                 if (CommonPage.IsRemote) {
                     //MainPage.AddTip ("Getting remote connection parameters...");
-                    MainPage.LoadingStart ("Please wait, getting connection parameters...");
+                    MainPage.LoadingTipShow ("Please wait, getting connection parameters...");
                 }
             }
         }
@@ -561,7 +587,7 @@
 
             var requestJson3 = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj3);
             var revertObj3 = MainPage.RequestHttps (API.GetSingleHomeGatewayPagger, requestJson3, urlHead);
-            if (revertObj3.StateCode.ToUpper () == "SUCCESS") {
+            if (revertObj3.StateCode.ToUpper () == StateCode.SUCCESS) {
                 var infoResult = Newtonsoft.Json.JsonConvert.DeserializeObject<GetGatewayResult> (revertObj3.ResponseData.ToString ());
                 if (bNeedConnect) {
                     //2020-01-11
@@ -570,7 +596,7 @@
                     //var gatewayListRequestResult_Obj = Newtonsoft.Json.JsonConvert.DeserializeObject<MqttRemoteInfo> (revertObj3.ResponseData.ToString ());
                     //--鎵惧嚭鏄惁瀛樺湪鍖归厤褰撳墠浣忓畢鐨刴ac锛屽瓨鍦ㄥ啀杩涜杩滅▼銆�
                     if (UserConfig.Instance.CheckHomeGatewaysNotEmpty ()) {
-                        var mGatewayRes = infoResult.PageData.Find ((obj) => obj.GatewayUniqueId == UserConfig.Instance.CurrentRegion.HomeGateways [0].GatewayUniqueId);
+                        var mGatewayRes = infoResult.PageData.Find ((obj) => obj.GatewayUniqueId == UserConfig.Instance.HomeGateway.mac);
                         if (mGatewayRes != null) {
                             CurRemoteMACInfo = new RemoteMACInfo ();
                             CurRemoteMACInfo.aesKey = mGatewayRes.AesKey;
@@ -586,12 +612,12 @@
                         Utlis.WriteLine ("============>Mqtt 鍙栨秷杩炴帴锛屽綋鍓嶄綇瀹呮病缁戝畾缃戝叧");
                     }
                 } else {
-                    var mGatewayRes = infoResult.PageData.Find ((obj) => obj.GatewayUniqueId == UserConfig.Instance.CurrentRegion.HomeGateways [0].GatewayUniqueId);
+                    var mGatewayRes = infoResult.PageData.Find ((obj) => obj.GatewayUniqueId == UserConfig.Instance.HomeGateway.mac);
                     if (mGatewayRes != null) {
                         CurRemoteMACInfo.aesKey = mGatewayRes.AesKey;
                         mqttEncryptKey = CurRemoteMACInfo.aesKey;
                     } else {
-                        MainPage.LoadingSetText ("Please wait, failed to get gateway parameters.");
+                        MainPage.LoadingTipShow ("Please wait, failed to get gateway parameters.");
                     }
 
                 }
@@ -1057,7 +1083,7 @@
                         var requestObj3 = new GatewayByRegionListObj () { RegionID = UserConfig.Instance.CurrentRegion.RegionID };
                         var requestJson3 = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj3);
                         var revertObj3 = MainPage.RequestHttps ("GatewayByRegionList", requestJson3, true, false);
-                        if (revertObj3.StateCode.ToUpper() == "SUCCESS") {
+                        if (revertObj3.StateCode.ToUpper() == StateCode.SUCCESS) {
                             var responseDataObj = Newtonsoft.Json.JsonConvert.DeserializeObject<List<GatewayRes>> (revertObj3.ResponseData.ToString ());
                             var gatewayList = responseDataObj;
                             if (gatewayList != null && gatewayList.Count > 0) {
@@ -1136,7 +1162,7 @@
                                         Shared.SimpleControl.Phone.UserMiddle.LinkStatusTip.BackgroundColor = SkinStyle.Current.DelColor;
                                     });
                                     break;
-                                case "Success":
+                                case StateCode.SUCCESS:
                                     CommonPage.IsRemote = true;
                                     Application.RunOnMainThread (() => {
                                         MainPage.Loading.Hide ();

--
Gitblit v1.8.0