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/Phone/Register/AccountLogin.cs |  255 ++++++++++++++++++++++++++++++---------------------
 1 files changed, 150 insertions(+), 105 deletions(-)

diff --git a/Crabtree/SmartHome/UI/SimpleControl/Phone/Register/AccountLogin.cs b/Crabtree/SmartHome/UI/SimpleControl/Phone/Register/AccountLogin.cs
index 0949f63..dc4b14f 100644
--- a/Crabtree/SmartHome/UI/SimpleControl/Phone/Register/AccountLogin.cs
+++ b/Crabtree/SmartHome/UI/SimpleControl/Phone/Register/AccountLogin.cs
@@ -76,8 +76,8 @@
                 TextColor = SkinStyle.Current.TextColor1,
                 //Text = account,
 #if DEBUG
-                //Text = "18926269190@189.cn"
-                Text = "721343314@qq.com"
+                Text = "18926269190@189.cn"
+                //Text = "721343314@qq.com"
 #endif
             };
             accountView.AddChidren (etAccount);
@@ -414,19 +414,9 @@
         /// <param name="password">Password.</param>
         private void Login (string account, string password, AccountListDB accountListDB)
         {
-            //string pattern = @"(http|https)://(?<domain>[^(:|/]*)";
-            //Regex reg = new Regex (pattern, RegexOptions.IgnoreCase);
-            //Match m = reg.Match (MainPage.RequestHttpsHost);
-            //string mResult = m.Groups ["domain"].Value;
-            //if (!string.IsNullOrEmpty (mResult)) {
-            //    MainPage.RequestHttpsHostMqtt = "https://" + mResult;
-            //}
-
-            //return;
-
             var requestObj = new LoginObj () { Account = account, Password = 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.StateCode.ToUpper() == "SUCCESS") {
 
                 if (!accountListDB.account.Contains (account)) {
@@ -460,115 +450,37 @@
                 var revertObj2 = MainPage.RequestHttps (API.GetHomePager, requestJson2);
 
                 if (revertObj2.StateCode.ToUpper () == "SUCCESS") {
-
-                    //var DD = Newtonsoft.Json.Linq.JObject.Parse ("GFGFDG");
-                    //DD["ResponseData"]["PageData"];
                     var mResidenceRes = Newtonsoft.Json.JsonConvert.DeserializeObject<ResidenceRes> (revertObj2.ResponseData.ToString ());
                     //if (mResidenceRes.TotalCount != 0) {
                     //    //褰撲綇瀹呬负绌烘椂鍏堟彁绀虹敤鎴锋柊寤轰綇瀹�
-
                     //} else {
-
                     var revertRoomData = mResidenceRes.PageData;
                     if (revertRoomData.Find ((obj) => obj.Id == UserConfig.Instance.CurrentRegion.Id) == null) {
                         if (revertRoomData != null && revertRoomData.Count > 0) {
                             UserConfig.Instance.CurrentRegion = revertRoomData [0];
-                            if (UserConfig.Instance.CheckHomeGateways ()) {
-                                UserConfig.Instance.GatewayMAC = revertRoomData [0].HomeGateways [0].GatewayUniqueId;
-                            }
+                            //if (UserConfig.Instance.CheckHomeGateways ()) {
+                            //    UserConfig.Instance.GatewayMAC = revertRoomData [0].HomeGateways [0].GatewayUniqueId;
+                            //}
+                            //CheckIfNeedGetMasterAccountToken ();
+                      
                             IO.FileUtils.DeleteAllFile ();
                         }
                     } else {
                         Room.InitAllRoom ();
                     }
 
-                    var gatewayListObj = new GetAllBindGatewarysPaggerObj ();
-                    gatewayListObj.ReqDto.LoginAccessToken = MainPage.LoginUser.LoginTokenString;
-
-                    //var gatewayListObj = new GatewayListObj ();
-                    var gatewayListJson = Newtonsoft.Json.JsonConvert.SerializeObject (gatewayListObj);
-                    var gatewayListRevertObj = MainPage.RequestHttps (API.GetAllBindGatewarysPagger, gatewayListJson);
-                    if (gatewayListRevertObj.StateCode.ToUpper () == "SUCCESS") {
-                        UserConfig.Instance.GatewayList.Clear ();
-                        
-                        var mGateRes = Newtonsoft.Json.JsonConvert.DeserializeObject<AllBindGatewarysPaggerRes> (gatewayListRevertObj.ResponseData.ToString ());
-                        //var responseGatewayDataObj = mGateRes.PageData;
-                        UserConfig.Instance.GatewayList.AddRange (mGateRes.PageData);
-                        UserConfig.Instance.SaveUserConfig ();
-                        MainPage.LoginUser.LastTime = DateTime.Now;
-                        if (UserConfig.Instance.GatewayList.Count == 0) {
-                            Application.RunOnMainThread (() => {
-                                UserMiddle.Init ();
-                                Close ();
-                            });
-                            return;
-                        } else {
-                            UserConfig.Instance.HomeLists = revertRoomData;
-                            MainPage.LoginUser.SaveUserInfo ();
-                            UserConfig.Instance.SaveUserConfig ();
-                            Scene.Refresh ();
-                            A31MusicModel.Refresh ();
-                            Application.RunOnMainThread (() => {
-                                Close ();
-                                UserMiddle.Init ();
-                                EquipmentPublicClass.CheckLinkRemote (2);
-                            });
-                        }
-                    } else {
-                        //GetAllBindGatewarysPagger 澶辫触鎻愮ず
-                        ShowGetAllBindGatewarysPaggerErrorInfo (gatewayListRevertObj.StateCode);
-                    }
+                    ////鍘熸柟妗�
+                    //GetAllBindGatewarysPagger (revertRoomData);
+                    ////鑾峰彇褰撳墠浣忓畢缃戝叧鏂规
+                    //GetNowHomeGateway (revertRoomData);
+                    SaveUserConfig (revertRoomData);
                     //}
                 } else {
                     //GetHomePager 澶辫触鎻愮ず
                     ShowGetHomePagerErrorInfo (revertObj2.StateCode);
                 }
-
-                //var requestObj2 = new HomeListObj ();
-                //var requestJson2 = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj2);
-                //var revertObj2 = MainPage.RequestHttps ("HomeList", requestJson2);
-                //if (revertObj2.StateCode.ToUpper() == "SUCCESS") {
-                //    var responseDataObj2 = Newtonsoft.Json.JsonConvert.DeserializeObject<List<RegionInfoRes>> (revertObj2.ResponseData.ToString ());
-                //    var revertRoomData = responseDataObj2;
-                //    if (revertRoomData.Find ((obj) => obj.RegionID == UserConfig.Instance.CurrentRegion.RegionID) == null) {
-                //        UserConfig.Instance.CurrentRegion = revertRoomData [0];
-                //        UserConfig.Instance.GatewayMAC = revertRoomData [0].MAC;
-                //        IO.FileUtils.DeleteAllFile ();
-                //    } else {
-                //        Room.InitAllRoom ();
-                //    }
-
-                //    var gatewayListObj = new GatewayListObj ();
-                //    var gatewayListJson = Newtonsoft.Json.JsonConvert.SerializeObject (gatewayListObj);
-                //    var gatewayListRevertObj = MainPage.RequestHttps ("GatewayList", gatewayListJson);
-                //    if (gatewayListRevertObj.StateCode.ToUpper() == "SUCCESS") {
-                //        UserConfig.Instance.GatewayList.Clear ();
-                //        var responseGatewayDataObj = Newtonsoft.Json.JsonConvert.DeserializeObject<List<GatewayRes>> (gatewayListRevertObj.ResponseData.ToString ());
-                //        UserConfig.Instance.GatewayList.AddRange (responseGatewayDataObj);
-                //        UserConfig.Instance.SaveUserConfig ();
-                //        MainPage.LoginUser.LastTime = DateTime.Now;
-                //        if (UserConfig.Instance.GatewayList.Count == 0) {
-                //            Application.RunOnMainThread (() => {
-                //                UserMiddle.Init ();
-                //                Close ();
-                //            });
-                //            return;
-                //        } else {
-                //            UserConfig.Instance.HomeLists = revertRoomData;
-                //            MainPage.LoginUser.SaveUserInfo ();
-                //            UserConfig.Instance.SaveUserConfig ();
-                //            Scene.Refresh ();
-                //            A31MusicModel.Refresh ();
-                //            Application.RunOnMainThread (() => {
-                //                Close ();
-                //                UserMiddle.Init ();
-                //                EquipmentPublicClass.CheckLinkRemote (2);
-                //            });
-                //        }
-                //    }
-                //}
-                //
             } else {
+
                 string stateCodeStr = revertObj.StateCode;
                 string mes = "";
                 if (stateCodeStr == "NOTVERIFY") {
@@ -616,13 +528,146 @@
 
         private void SetMqttHost (string URL) {
             string pattern = @"(http|https)://(?<domain>[^(:|/]*)";
+
             Regex reg = new Regex (pattern, RegexOptions.IgnoreCase);
             Match m = reg.Match (URL);
-            string mResult = m.Groups ["domain"].Value;
+            string mResult = m.Value;
             if (!string.IsNullOrEmpty (mResult)) {
-                MainPage.RequestHttpsHostMqtt = "https://" + mResult;
+                MainPage.RequestHttpsHostMqtt = mResult;
             }
         }
-        //
+
+        /// <summary>
+        /// 淇濆瓨鏁版嵁 骞跺姞杞介〉闈�
+        /// </summary>
+        /// <param name="revertRoomData"></param>
+        void SaveUserConfig (List<RegionInfoRes> revertRoomData)
+        {
+            UserConfig.Instance.SaveUserConfig ();
+            MainPage.LoginUser.LastTime = DateTime.Now;
+
+            if (UserConfig.Instance.CheckHomeGatewaysNotEmpty ()) {
+                UserConfig.Instance.HomeLists = revertRoomData;
+                MainPage.LoginUser.SaveUserInfo ();
+                UserConfig.Instance.SaveUserConfig ();
+                Scene.Refresh ();
+                A31MusicModel.Refresh ();
+                Application.RunOnMainThread (() => {
+                    Close ();
+                    UserMiddle.Init ();
+                    EquipmentPublicClass.CheckLinkRemote (2);
+                });
+            } else {
+
+                Application.RunOnMainThread (() => {
+                    UserMiddle.Init ();
+                    Close ();
+                });
+            }
+
+        }
+
+        ///// <summary>
+        ///// 鏌ヨ褰撳墠浣忓畢 缃戝叧鍒楄〃
+        ///// </summary>
+        //void GetNowHomeGateway (List<RegionInfoRes> revertRoomData)
+        //{
+
+        //    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 = 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, urlHead);
+        //    if (revertObj3.StateCode.ToUpper () == "SUCCESS") {
+        //        var mGateRes = Newtonsoft.Json.JsonConvert.DeserializeObject<GetGatewayResult> (revertObj3.ResponseData.ToString ());
+        //        //var responseGatewayDataObj = mGateRes.PageData;
+        //        UserConfig.Instance.GatewayList.AddRange (mGateRes.PageData);
+        //        UserConfig.Instance.SaveUserConfig ();
+        //        MainPage.LoginUser.LastTime = DateTime.Now;
+        //        if (UserConfig.Instance.GatewayList.Count == 0) {
+        //            Application.RunOnMainThread (() => {
+        //                UserMiddle.Init ();
+        //                Close ();
+        //            });
+        //            return;
+        //        } else {
+        //            UserConfig.Instance.HomeLists = revertRoomData;
+        //            MainPage.LoginUser.SaveUserInfo ();
+        //            UserConfig.Instance.SaveUserConfig ();
+        //            Scene.Refresh ();
+        //            A31MusicModel.Refresh ();
+        //            Application.RunOnMainThread (() => {
+        //                Close ();
+        //                UserMiddle.Init ();
+        //                EquipmentPublicClass.CheckLinkRemote (2);
+        //            });
+        //        }
+        //    } else {
+        //        Application.RunOnMainThread (() => {
+        //            new Alert ("", ErrorCode.FailedGetGatewaysForHome, Language.StringByID (R.MyInternationalizationString.Close)).Show ();
+        //        });
+               
+        //    }
+
+
+        //}
+
+        ///// <summary>
+        ///// GetAllBindGatewarysPagger
+        ///// </summary>
+        ///// <param name="revertRoomData"></param>
+        //void GetAllBindGatewarysPagger (List<RegionInfoRes> revertRoomData) {
+
+        //    var gatewayListObj = new GetAllBindGatewarysPaggerObj ();
+        //    gatewayListObj.ReqDto.LoginAccessToken = MainPage.LoginUser.LoginTokenString;
+
+        //    //var gatewayListObj = new GatewayListObj ();
+        //    var gatewayListJson = Newtonsoft.Json.JsonConvert.SerializeObject (gatewayListObj);
+        //    var gatewayListRevertObj = MainPage.RequestHttps (API.GetAllBindGatewarysPagger, gatewayListJson);
+        //    if (gatewayListRevertObj.StateCode.ToUpper () == "SUCCESS") {
+        //        UserConfig.Instance.GatewayList.Clear ();
+
+        //        var mGateRes = Newtonsoft.Json.JsonConvert.DeserializeObject<AllBindGatewarysPaggerRes> (gatewayListRevertObj.ResponseData.ToString ());
+        //        //var responseGatewayDataObj = mGateRes.PageData;
+        //        UserConfig.Instance.GatewayList.AddRange (mGateRes.PageData);
+        //        UserConfig.Instance.SaveUserConfig ();
+        //        MainPage.LoginUser.LastTime = DateTime.Now;
+        //        if (UserConfig.Instance.GatewayList.Count == 0) {
+        //            Application.RunOnMainThread (() => {
+        //                UserMiddle.Init ();
+        //                Close ();
+        //            });
+        //            return;
+        //        } else {
+        //            UserConfig.Instance.HomeLists = revertRoomData;
+        //            MainPage.LoginUser.SaveUserInfo ();
+        //            UserConfig.Instance.SaveUserConfig ();
+        //            Scene.Refresh ();
+        //            A31MusicModel.Refresh ();
+        //            Application.RunOnMainThread (() => {
+        //                Close ();
+        //                UserMiddle.Init ();
+        //                EquipmentPublicClass.CheckLinkRemote (2);
+        //            });
+        //        }
+        //    } else {
+        //        //GetAllBindGatewarysPagger 澶辫触鎻愮ず
+        //        ShowGetAllBindGatewarysPaggerErrorInfo (gatewayListRevertObj.StateCode);
+        //    }
+        //}
+        
+
+
+
     }
 }
\ No newline at end of file

--
Gitblit v1.8.0