From 365eadb33ee86b05ac74d408025d102a758c2efd Mon Sep 17 00:00:00 2001 From: 陈嘉乐 <cjl@hdlchina.com.cn> Date: 星期五, 10 一月 2020 15:27:17 +0800 Subject: [PATCH] 2020-01-10 2020-01-10 1.修改切换本地和远程问题。 2.修改判断住宅网关方案。 3.其它优化修改。 --- Crabtree/SmartHome/UI/SimpleControl/MqttCommon.cs | 52 ++++++++++++++++++++++++++++++---------------------- 1 files changed, 30 insertions(+), 22 deletions(-) diff --git a/Crabtree/SmartHome/UI/SimpleControl/MqttCommon.cs b/Crabtree/SmartHome/UI/SimpleControl/MqttCommon.cs index 04a2de8..ae7399e 100644 --- a/Crabtree/SmartHome/UI/SimpleControl/MqttCommon.cs +++ b/Crabtree/SmartHome/UI/SimpleControl/MqttCommon.cs @@ -68,13 +68,13 @@ public static async System.Threading.Tasks.Task StartCloudMqtt () { - Application.RunOnMainThread (() => { - if (5 < (DateTime.Now - dateTime).TotalSeconds) { - return; - } - //MainPage.Loading.Start (Language.StringByID (Shared.SimpleControl.R.MyInternationalizationString.Connecting)); - dateTime = DateTime.Now; - }); + //Application.RunOnMainThread (() => { + // if (5 < (DateTime.Now - dateTime).TotalSeconds) { + // return; + // } + // //MainPage.Loading.Start (Language.StringByID (Shared.SimpleControl.R.MyInternationalizationString.Connecting)); + // dateTime = DateTime.Now; + //}); if (!MainPage.LoginUser.IsLogin) { return; } @@ -104,10 +104,11 @@ //Console.WriteLine ("Topic={0}", aesDecryptTopic); if (aesDecryptTopic == $"NotifyBusGateWayInfoChagne/{CurRemoteMACInfo.md5_mac_string}") {//缃戝叧涓婄嚎锛岄渶瑕佹洿鏂癮eskey - //----绗簩姝ワ細璇诲彇璐﹀彿涓嬮潰鐨勭綉鍏冲垪琛� + Console.WriteLine ("缃戝叧涓婄嚎锛岄渶瑕佹洿鏂癮eskey"); + //----绗簩姝ワ細璇诲彇璐﹀彿涓嬮潰鐨勭綉鍏冲垪琛� var gatewayListUrl = $"{MainPage.RequestHttpsHostMqtt}/Center/Center/GetGatewayPagger"; //App銆丅uspro杞欢鐧诲綍鍚庤幏鍙栫綉鍏冲垪琛� http 璇锋眰 var gatewayListRequestPar = new RemoteRequestParameters () { Mac = CurRemoteMACInfo.mac, LoginAccessToken = mqttRequestParToken, RequestVersion = "RequestVersion1", RequestProtocolType = 0, RequestSource = 1 }; - var gatewayListRequestResult = MainPage.RequestHttps ("", Newtonsoft.Json.JsonConvert.SerializeObject (gatewayListRequestPar), false, false, gatewayListUrl); + var gatewayListRequestResult = MainPage.RequestHttps ("", Newtonsoft.Json.JsonConvert.SerializeObject (gatewayListRequestPar),gatewayListUrl); var gatewayListRequestResult_Obj = Newtonsoft.Json.JsonConvert.DeserializeObject<MqttRemoteInfo> (gatewayListRequestResult.ResponseData.ToString ()); if (gatewayListRequestResult_Obj != null && gatewayListRequestResult_Obj.pageData.Count > 0) { CurRemoteMACInfo.aesKey = gatewayListRequestResult_Obj.pageData [0].aesKey; @@ -189,8 +190,9 @@ //}); Shared.SimpleControl.Phone.UserMiddle.ReadAllDeviceStatus (); System.Console.WriteLine ($"杩滅▼杩炴帴鎴愬姛"); - - Utlis.ShowAppLinkStatus (AppLinkStatus.CloudLink); + if (CommonPage.IsRemote) { + Utlis.ShowAppLinkStatus (AppLinkStatus.CloudLink); + } //MainPage.WiFiStatus = "CrabtreeAdd/CloudLink.png"; //UserMiddle.btnLinkStatus.UnSelectedImagePath = MainPage.WiFiStatus; @@ -222,7 +224,7 @@ //鏂紑鍚庨噸鏂伴摼鎺ラ渶瑕侀噸鏂扮櫥褰曡幏鍙栬繛鎺ョ殑瀵嗙爜 var requestObj = new LoginObj () { Account = MainPage.LoginUser.AccountString.ToLower (), Password = MainPage.LoginUser.Password }; var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj); - var tempResult = MainPage.RequestHttps (API.Login, requestJson, false); + var tempResult = MainPage.RequestHttps (API.Login, requestJson); if (tempResult == null) { Application.RunOnMainThread (() => { MainPage.Loading.Hide (); @@ -250,10 +252,16 @@ requestObj3.ReqDto.HomeId = UserConfig.Instance.CurrentRegion.Id; requestObj3.ReqDto.PageSetting.Page = 1; requestObj3.ReqDto.PageSetting.PageSize = 999; + string urlHead = MainPage.RequestHttpsHost; + if (requestObj3.IsOtherAccountCtrl) { + urlHead = UserConfig.Instance.MasterAccountRequestBaseUrl; + requestObj3.ReqDto.LoginAccessToken = UserConfig.Instance.MasterAccountToken; + } + //var requestObj3 = new GatewayByRegionListObj () { RegionID = UserConfig.Instance.CurrentRegion.Id }; var requestJson3 = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj3); - var revertObj3 = MainPage.RequestHttps (API.GetSingleHomeGatewayPagger, requestJson3); + var revertObj3 = MainPage.RequestHttps (API.GetSingleHomeGatewayPagger, requestJson3, urlHead); if (revertObj3.StateCode.ToUpper() == "SUCCESS") { var infoResult = Newtonsoft.Json.JsonConvert.DeserializeObject<GetGatewayResult> (revertObj3.ResponseData.ToString ()); var gatewayList = infoResult.PageData; @@ -280,7 +288,7 @@ //--绗竴姝ワ細鑾峰彇mqtt閾炬帴鍙傛暟 var mqttInfoUrl = $"{MainPage.RequestHttpsHostMqtt}/Center/Center/GetConnMqttInfo";//鑾峰彇杩炴帴杩滅▼浜戠Emq Mqtt 鏈嶅姟鍣ㄨ繛鎺ヤ俊鎭� var mqttInfoRequestPar = new RemoteRequestParameters () { LoginAccessToken = mqttRequestParToken, RequestVersion = MainPage.RequestVersion, RequestProtocolType = 0, RequestSource = 1 }; - var mqttInfoRequestResult = MainPage.RequestHttps ("", Newtonsoft.Json.JsonConvert.SerializeObject (mqttInfoRequestPar), false, false, mqttInfoUrl); + var mqttInfoRequestResult = MainPage.RequestHttps ("", Newtonsoft.Json.JsonConvert.SerializeObject (mqttInfoRequestPar), mqttInfoUrl); if (mqttInfoRequestResult != null && mqttInfoRequestResult.ResponseData != null) { var mqttInfoRequestResult_Obj = Newtonsoft.Json.JsonConvert.DeserializeObject<MqttInfo> (mqttInfoRequestResult.ResponseData.ToString ()); if (mqttInfoRequestResult_Obj != null) { @@ -291,7 +299,7 @@ //----绗簩姝ワ細璇诲彇璐﹀彿涓嬮潰鐨勭綉鍏冲垪琛� var gatewayListUrl = $"{MainPage.RequestHttpsHostMqtt}/Center/Center/GetGatewayPagger"; //App銆丅uspro杞欢鐧诲綍鍚庤幏鍙栫綉鍏冲垪琛� http 璇锋眰 var gatewayListRequestPar = new RemoteRequestParameters () { LoginAccessToken = mqttRequestParToken, RequestVersion = "RequestVersion1", RequestProtocolType = 0, RequestSource = 1 }; - var gatewayListRequestResult = MainPage.RequestHttps ("", Newtonsoft.Json.JsonConvert.SerializeObject (gatewayListRequestPar), false, false, gatewayListUrl); + var gatewayListRequestResult = MainPage.RequestHttps ("", Newtonsoft.Json.JsonConvert.SerializeObject (gatewayListRequestPar), gatewayListUrl); var gatewayListRequestResult_Obj = Newtonsoft.Json.JsonConvert.DeserializeObject<MqttRemoteInfo> (gatewayListRequestResult.ResponseData.ToString ()); //--鎵惧嚭鏄惁瀛樺湪鍖归厤褰撳墠浣忓畢鐨刴ac锛屽瓨鍦ㄥ啀杩涜杩滅▼銆� if (UserConfig.Instance.CheckHomeGateways ()) { @@ -370,7 +378,7 @@ } //base64鍔犲瘑 var m = new MqttApplicationMessage { Topic = topicName, Payload = messageSend, Retain = false, QualityOfServiceLevel = MQTTnet.Protocol.MqttQualityOfServiceLevel.ExactlyOnce }; - if (remoteIsConnected) { + //if (remoteIsConnected) { try { await RemoteMqttClient.PublishAsync (m); } catch (Exception e) { @@ -380,11 +388,11 @@ await RemoteMqttClient.PublishAsync (m); } } - } + //} break; case 1: topicName = $"/BusGateWayToClient/{CurRemoteMACInfo.macMark}/Common/#"; - if (remoteIsConnected) { + //if (remoteIsConnected) { try { await RemoteMqttClient.SubscribeAsync (topicName); } catch (Exception e) { @@ -394,7 +402,7 @@ await RemoteMqttClient.SubscribeAsync (topicName); } } - } + // } break; case 2: var macStr = CurRemoteMACInfo.mac.ToUpper (); @@ -412,7 +420,7 @@ } topicName = $"/NotifyBusGateWayInfoChagne/{CurRemoteMACInfo.md5_mac_string}"; - if (remoteIsConnected) { + //if (remoteIsConnected) { try { await RemoteMqttClient.SubscribeAsync (topicName); } catch (Exception e) { @@ -422,7 +430,7 @@ await RemoteMqttClient.SubscribeAsync (topicName); } } - } + //} break; case 3: @@ -1111,4 +1119,4 @@ } } -*/ \ No newline at end of file +*/ -- Gitblit v1.8.0