From 454ac814944cf956ff02b84b70ba2ec68e5e5ea1 Mon Sep 17 00:00:00 2001
From: JLChen <551775569@qq.com>
Date: 星期三, 15 一月 2020 19:38:47 +0800
Subject: [PATCH] 2020-01-15 1.优化MQTT连接。 2.增加本地通信加密。

---
 Crabtree/SmartHome/UI/SimpleControl/Phone/User/UserMiddle.cs |   78 ++++++++++++++++++++++++++++++---------
 1 files changed, 60 insertions(+), 18 deletions(-)

diff --git a/Crabtree/SmartHome/UI/SimpleControl/Phone/User/UserMiddle.cs b/Crabtree/SmartHome/UI/SimpleControl/Phone/User/UserMiddle.cs
index 36d7c6e..b6f273d 100644
--- a/Crabtree/SmartHome/UI/SimpleControl/Phone/User/UserMiddle.cs
+++ b/Crabtree/SmartHome/UI/SimpleControl/Phone/User/UserMiddle.cs
@@ -197,7 +197,8 @@
             UserMiddle.updateSensorhreadList.Clear ();
         }
 
-        public static void Init (bool isGuide = false)
+        //2020-01-11 
+        public static void Init (bool isGuide = false, bool bFromLogin = false)
         {
             if (MainPage.LoginUser == null)
                 MainPage.LoginUser = Newtonsoft.Json.JsonConvert.DeserializeObject<UserInfo> (System.Text.Encoding.UTF8.GetString (Shared.IO.FileUtils.ReadFile (UserInfo.GlobalRegisterFile)));
@@ -206,20 +207,26 @@
                 new AccountLogin ().Show ();
                 UserConfig.Instance.TipVersionBackup = UserConfig.Instance.VersionNumber;
             } else {
-                if (UserConfig.Instance.GatewayList.Count == 0) {
-                    UserHomePage.FrameLayoutMain.AddChidren (guidePageView);
-                    var guide = new GuideAddResidence ();
-                    guidePageView.AddChidren (guide);
-                    guide.ShowHomeList (false);
-                    guidePageView.PageIndex = 0;
-                    MainPage.LoginUser.LastTime = DateTime.MinValue;
-                    MainPage.LoginUser.SaveUserInfo ();
-                    guidePageView.PageChange += (ddf, ffd) => {
-                        if (ffd < guidePageView.ChildrenCount - 1) {
-                            guidePageView.GetChildren (guidePageView.ChildrenCount - 1).RemoveFromParent ();
-                        }
-                    };
-                    return;
+                //if (UserConfig.Instance.GatewayList.Count == 0) {
+                //2020-01-11 Mac娌$粦瀹氬苟涓斾负涓昏处鍙� 鏄惁鏉ュ彧鐧诲綍鐣岄潰
+                if (bFromLogin) {
+                    if (!UserConfig.Instance.CheckHomeGatewaysNotEmpty () && MainPage.LoginUser.AccountType == 0) {
+                        UserHomePage.FrameLayoutMain.AddChidren (guidePageView);
+                        var guide = new GuideAddResidence ();
+                        guide.IsHideBack = true;
+                        guidePageView.AddChidren (guide);
+
+                        guide.ShowHomeList (true);
+                        guidePageView.PageIndex = 0;
+                        MainPage.LoginUser.LastTime = DateTime.MinValue;
+                        MainPage.LoginUser.SaveUserInfo ();
+                        guidePageView.PageChange += (ddf, ffd) => {
+                            if (ffd < guidePageView.ChildrenCount - 1) {
+                                guidePageView.GetChildren (guidePageView.ChildrenCount - 1).RemoveFromParent ();
+                            }
+                        };
+                        return;
+                    }
                 }
                 InitHomePageView ();
                 //鍚庡彴楠岃瘉璐﹀彿
@@ -227,14 +234,16 @@
                     try {
                         var requestObj = new LoginObj () { Account = MainPage.LoginUser.AccountString, Password = MainPage.LoginUser.Password, Company = MainPage.SoftSmsType };
                         var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj);
-                        var revertObj = MainPage.RequestHttps (API.Login, requestJson, false, false);
+                        var revertObj = MainPage.RequestHttps (API.Login, requestJson);
                         if (revertObj != null) {
                             Application.RunOnMainThread (() => {
-                                if (revertObj.StateCode.ToUpper() == "SUCCESS") {
+                                if (revertObj.StateCode.ToUpper () == "SUCCESS") {
                                     var revertData = Newtonsoft.Json.JsonConvert.DeserializeObject<UserLoginRes> (revertObj.ResponseData.ToString ());
                                     MainPage.LoginUser.AllVisionRegisterDevUserNameGuid = revertData.AllVisionRegisterDevUserNameGuid;
                                     MainPage.LoginUser.LastTime = DateTime.Now;
                                     MainPage.LoginUser.SaveUserInfo ();
+                                    //2020-01-14 鐧诲綍鎴愬姛鍚庯紝鍒锋柊涓�娆″綋鍓嶄綇瀹呯綉鍏�
+                                    GetNowHomeGatewayAfterLoginSuccess ();
                                 } else if (!string.IsNullOrEmpty (revertObj.StateCode)) {
                                     MainPage.LoginUser.LastTime = DateTime.Now.AddDays (-30);
                                     MainPage.LoginUser.SaveUserInfo ();
@@ -393,6 +402,10 @@
                 if (e < SettingPageView.ChildrenCount - 1) {
                     SettingPageView.GetChildren (SettingPageView.ChildrenCount - 1).RemoveFromParent ();
                 }
+                if (e == 0) {
+                    //2020-01-15 鍥炲埌涓荤晫闈紝閲嶇疆涓哄姞瀵�
+                    UserConfig.Instance.IsLocalEncrypt = true;
+                }
             };
             RoomPageView.PageChange += (sender, e) => {
                 if (e < RoomPageView.ChildrenCount - 1) {
@@ -444,5 +457,34 @@
             UserDeviceToAC.readAllStatus (true);
             UserDeviceToFH.readAllStatus (true);
         }
+
+
+        /// <summary>
+        /// 鐧诲綍鎴愬姛鍚庯紝鏌ヨ鍒锋柊涓�娆″綋鍓嶄綇瀹� 缃戝叧鍒楄〃
+        /// 2020-01-11
+        /// </summary>
+        static void GetNowHomeGatewayAfterLoginSuccess ()
+        {
+            var requestObj3 = new GetSingleHomeGatewayPaggerObj ();
+            requestObj3.ReqDto.LoginAccessToken = MainPage.LoginUser.LoginTokenString;
+            requestObj3.ReqDto.HomeId = UserConfig.Instance.CurrentRegion.Id;
+            requestObj3.ReqDto.PageSetting.Page = 1;
+            requestObj3.ReqDto.PageSetting.PageSize = 10;
+            string urlHead = MainPage.RequestHttpsHost;
+            if (requestObj3.IsOtherAccountCtrl) {
+                urlHead = UserConfig.Instance.MasterAccountRequestBaseUrl;
+                requestObj3.ReqDto.LoginAccessToken = UserConfig.Instance.MasterAccountToken;
+            }
+
+            var requestJson3 = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj3);
+            var revertObj3 = MainPage.RequestHttps (API.GetSingleHomeGatewayPagger, requestJson3, urlHead);
+            if (revertObj3.StateCode.ToUpper () == "SUCCESS") {
+                var infoResult = Newtonsoft.Json.JsonConvert.DeserializeObject<GetGatewayResult> (revertObj3.ResponseData.ToString ());
+                //2020-01-11
+                UserConfig.Instance.SetNowHomeGateways (infoResult.PageData);
+
+            }
+        }
+
     }
-}
\ No newline at end of file
+}

--
Gitblit v1.8.0