From f60ce72c3c29c7d31a046795c88ec39a69e73d45 Mon Sep 17 00:00:00 2001
From: JLChen <551775569@qq.com>
Date: 星期三, 06 一月 2021 17:33:54 +0800
Subject: [PATCH] 2021-01-06 1.替换新云端前期准备相关接口,和修改相关参数。

---
 Crabtree/SmartHome/UI/SimpleControl/Phone/Guide/GuideAddResidence.cs |  150 +++++++++++++++++++++++++++++++++++++------------
 1 files changed, 113 insertions(+), 37 deletions(-)

diff --git a/Crabtree/SmartHome/UI/SimpleControl/Phone/Guide/GuideAddResidence.cs b/Crabtree/SmartHome/UI/SimpleControl/Phone/Guide/GuideAddResidence.cs
index f91a70d..6ccbb99 100644
--- a/Crabtree/SmartHome/UI/SimpleControl/Phone/Guide/GuideAddResidence.cs
+++ b/Crabtree/SmartHome/UI/SimpleControl/Phone/Guide/GuideAddResidence.cs
@@ -116,7 +116,7 @@
 
                     var requestJson2 = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj2);
                     var revertObj2 = MainPage.RequestHttps (API.GetHomePager, requestJson2);
-                    if (revertObj2.StateCode.ToUpper () == "SUCCESS") {
+                    if (revertObj2.StateCode.ToUpper () == StateCode.SUCCESS) {
                         var mResidenceRes = Newtonsoft.Json.JsonConvert.DeserializeObject<ResidenceRes> (revertObj2.ResponseData.ToString ());
                         var responseDataObj = mResidenceRes.PageData;
                         //if(responseDataObj == null && responseDataObj.Count == 0) {
@@ -289,7 +289,7 @@
 
             var btnPoint = new Button () {
                 Width = Application.GetRealWidth (10),
-                Height = Application.GetRealHeight (10),
+                Height = Application.GetRealWidth (10),
                 X = Application.GetRealWidth (50),
                 Gravity = Gravity.CenterVertical,
                 UnSelectedImagePath = "Item/Point.png",
@@ -313,7 +313,7 @@
                 Button FromSharingButton = new Button () {
                     X = Application.GetRealWidth (480),
                     Width = Application.GetRealWidth (30),
-                    Height = Application.GetRealHeight (30),
+                    Height = Application.GetRealWidth (30),
                     Gravity = Gravity.CenterVertical,
                     UnSelectedImagePath = "CrabtreeAdd/FromSharing.png",
                     SelectedImagePath = "CrabtreeAdd/FromSharing.png",
@@ -375,7 +375,7 @@
                 };
                 rowView.AddChidren (btnCheck);
             }
-            if (UserConfig.Instance.CurrentRegion.Id != home.Id && MainPage.LoginUser.AccountType != 1) {
+            if (UserConfig.Instance.CurrentRegion.Id != home.Id) {
                 Button btnDel = new Button () {
                     TextID = R.MyInternationalizationString.Del,
                     BackgroundColor = SkinStyle.Current.DelColor,
@@ -475,10 +475,11 @@
                                 Application.RunOnMainThread (() => {
                                     MainPage.Loading.Start ("Please wait...");
                                 });
-                                var requestObj = new LoginObj () { Account = MainPage.LoginUser.AccountString, Password = password };
-                                var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj);
-                                var revertObj = MainPage.RequestHttps (API.Login, requestJson);
-                                if (revertObj.StateCode.ToUpper () == "SUCCESS") {
+                                //var requestObj = new LoginObj () { Account = MainPage.LoginUser.AccountString, Password = password };
+                                //var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj);
+                                //var revertObj = MainPage.RequestHttps (API.Login, requestJson);
+                                var revertObj = HttpServerRequest.Current.LoginByPassword (MainPage.LoginUser.AccountString, MainPage.LoginUser.Password);
+                                if (revertObj.Code== StateCode.SUCCESS) {
 
                                     var requestObj2 = new DelHomeObj () {
                                         HomeId = home.Id,
@@ -486,7 +487,7 @@
                                     };
                                     var requestJson2 = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj2);
                                     var revertObj2 = MainPage.RequestHttps (API.DelHome, requestJson2);
-                                    if (revertObj2.StateCode.ToUpper () == "SUCCESS") {
+                                    if (revertObj2.StateCode.ToUpper () == StateCode.SUCCESS) {
                                         Application.RunOnMainThread (() => {
                                             GetHomeList ();
                                         });
@@ -538,11 +539,42 @@
         }
 
         /// <summary>
+        /// 鍚姩鏈湴妯″紡
+        /// </summary>
+        void EnableLocalMode () {
+            MainPage.AddTip ("Enable local mode.");
+            Utlis.ShowAppLinkStatus (AppLinkStatus.WiFiOffline);
+            CommonPage.IsRemote = false;
+            SmartHome.MqttCommon.DisConnectRemoteMqttClient ("EnableLocalMode");
+        }
+
+        /// <summary>
+        /// 鍚姩杩滅▼妯″紡
+        /// </summary>
+        void EnableRemoteMode ()
+        {
+            MainPage.AddTip ("Restore remote mode.");
+            Utlis.ShowAppLinkStatus (AppLinkStatus.CloudUnlink);
+            CommonPage.IsRemote = true;
+        }
+
+        /// <summary>
         ///  璺宠浆缃戝叧鎼滅储椤甸潰
         /// </summary>
         /// <param name="home"></param>
         void GotoGuideAddGatewayView (RegionInfoRes home) {
             try {
+                //杩滅▼杩炴帴鐨勬椂鍊欑姝� 鎼滅储缃戝叧鍜屾坊鍔犺澶�
+                if (CommonPage.IsRemote) {
+                    ////褰撳墠澶勪簬杩滅▼杩炴帴妯″紡锛屾棤娉曡繘鍏ユ悳绱㈢綉鍏抽〉闈€�傝鍏堝垏鎹㈠洖鏈湴杩炴帴妯″紡銆�
+                    //new Alert ("", "Currently in remote connection mode, unable to enter the search gateway page. Please switch back to local connection mode first.", Language.StringByID (R.MyInternationalizationString.Close)).Show ();
+                    //return;
+
+                    //2020-06-29 鍚姩鏈湴閫氫俊妯″紡
+                    EnableLocalMode ();
+                }
+
+
                 var addGatewayDialog = new GuideAddGateway ();
                 (Parent as PageLayout).AddChidren (addGatewayDialog);
                 addGatewayDialog.ShowPage (home);
@@ -563,8 +595,9 @@
         void ChangeRegion (RegionInfoRes home, bool goHomePage = true, bool bNeedCheckAddRoom = false, bool goToGuideAddGatewayView = false)
         {
             if (home == null || string.IsNullOrEmpty (home.Id)) return;
-
-            MainPage.Loading.Start ("Please wait...");
+            Application.RunOnMainThread (() => {
+                MainPage.Loading.Start ("Please wait...");
+            });
             System.Threading.Tasks.Task.Run (() => {
                 try {
                     //if (home.RegionID != UserConfig.Instance.CurrentRegion.RegionID) {
@@ -612,7 +645,7 @@
                             new Alert ("", Language.StringByID (R.MyInternationalizationString.SwitchRegionSuccessfully),
                                       Language.StringByID (R.MyInternationalizationString.Close)).Show ();
                             //this.RemoveFromParent ();
-                            CommonPage.IsRemote = false;
+                            //CommonPage.IsRemote = false;
                             EquipmentPublicClass.CheckLinkRemote (UserConfig.Instance.internetStatus);
                         }
                         if (bNeedCheckAddRoom) {
@@ -701,10 +734,10 @@
             etZoneName.EditorEnterAction += (obj) => {
                 Application.HideSoftInput ();
             };
-            if (MainPage.LoginUser.AccountType == 1) {
-                etZoneName.Enable = false;
-                etZoneName.BorderWidth = 0;
-            }
+            //if (MainPage.LoginUser.AccountType == 1) {
+            //    etZoneName.Enable = false;
+            //    etZoneName.BorderWidth = 0;
+            //}
 
             var BottomView = new FrameLayout () {
                 Y = Application.GetRealHeight (400 - 88),
@@ -725,27 +758,70 @@
                     new Alert ("", Language.StringByID (R.MyInternationalizationString.PleaseEnterZoneName), Language.StringByID (R.MyInternationalizationString.Close)).Show ();
                     return;
                 }
-                if (isChangeName) {
-                    //home.Name = button.Text = etZoneName.Text;
-                    var requestObj2 = new EditHomeObj () { HomeId = home.Id, Name = etZoneName.Text, LoginAccessToken = MainPage.LoginUser.LoginTokenString };
-                    string urlHead = MainPage.RequestHttpsHost;
-                    if (requestObj2.IsOtherAccountCtrl) {
-                        urlHead = UserConfig.Instance.MasterAccountRequestBaseUrl;
-                        requestObj2.LoginAccessToken = UserConfig.Instance.MasterAccountToken;
-                    }
 
-                    var requestJson2 = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj2);
-                    var revertObj2 = MainPage.RequestHttps (API.EditHome, requestJson2, urlHead);
-                    if (revertObj2.StateCode.ToUpper () != "SUCCESS") {
-                        ShowEditHomeErrorInfo (revertObj2.StateCode);
-                        return;
-                    }
-                    home.Name = button.Text = etZoneName.Text;
-                    IO.FileUtils.ReNameFoler (UserConfig.Instance.CurrentRegion.Name, home.Name);
-                    return;
-                }
 
-                EditResidence (home, etZoneName.Text.Trim (), guide);
+                //if (isChangeName) {
+                //    //home.Name = button.Text = etZoneName.Text;
+                //    var requestObj2 = new EditHomeObj () { HomeId = home.Id, Name = etZoneName.Text, LoginAccessToken = MainPage.LoginUser.LoginTokenString };
+                //    string urlHead = MainPage.RequestHttpsHost;
+                //    if (requestObj2.IsOtherAccountCtrl) {
+                //        urlHead = UserConfig.Instance.MasterAccountRequestBaseUrl;
+                //        requestObj2.LoginAccessToken = UserConfig.Instance.MasterAccountToken;
+                //    }
+
+                //    var requestJson2 = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj2);
+                //    var revertObj2 = MainPage.RequestHttps (API.EditHome, requestJson2, urlHead);
+                //    if (revertObj2.StateCode.ToUpper () != StateCode.SUCCESS) {
+                //        ShowEditHomeErrorInfo (revertObj2.StateCode);
+                //        return;
+                //    }
+                //    home.Name = button.Text = etZoneName.Text;
+                //    IO.FileUtils.ReNameFoler (UserConfig.Instance.CurrentRegion.Name, home.Name);
+                //    return;
+                //}
+
+                //EditResidence (home, etZoneName.Text.Trim (), guide);
+
+
+                //2020-04-26
+                MainPage.Loading.Start ("Please wait...");
+                System.Threading.Tasks.Task.Run (() => {
+
+                    try {
+
+                        if (isChangeName) {
+                            //home.Name = button.Text = etZoneName.Text;
+                            var requestObj2 = new EditHomeObj () { HomeId = home.Id, Name = etZoneName.Text, LoginAccessToken = MainPage.LoginUser.LoginTokenString };
+                            string urlHead = MainPage.RequestHttpsHost;
+                            if (requestObj2.IsOtherAccountCtrl) {
+                                urlHead = UserConfig.Instance.MasterAccountRequestBaseUrl;
+                                requestObj2.LoginAccessToken = UserConfig.Instance.MasterAccountToken;
+                            }
+
+                            var requestJson2 = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj2);
+                            var revertObj2 = MainPage.RequestHttps (API.EditHome, requestJson2, urlHead);
+                            if (revertObj2.StateCode.ToUpper () != StateCode.SUCCESS) {
+                                ShowEditHomeErrorInfo (revertObj2.StateCode);
+                                return;
+                            }
+                            Application.RunOnMainThread (() => {
+                                home.Name = button.Text = etZoneName.Text;
+                            });
+                            IO.FileUtils.ReNameFoler (UserConfig.Instance.CurrentRegion.Name, home.Name);
+                            return;
+                        }
+
+                        EditResidence (home, etZoneName.Text.Trim (), guide);
+
+
+                    } catch {
+                        //MainPage.FailureToServer ();
+                    } finally {
+                        Application.RunOnMainThread (() => {
+                            MainPage.Loading.Hide ();
+                        });
+                    }
+                });
 
             };
 
@@ -790,7 +866,7 @@
                     };
                     var requestJson21 = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj21);
                     var revertObj21 = MainPage.RequestHttps (API.AddHome, requestJson21);
-                    if ( revertObj21.StateCode.ToUpper()  != "SUCCESS") {
+                    if ( revertObj21.StateCode.ToUpper()  != StateCode.SUCCESS) {
                         ShowAddHomeErrorInfo (revertObj21.StateCode);
                         return false;
                     }
@@ -810,7 +886,7 @@
                     }
                     var requestJson2 = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj2);
                     var revertObj2 = MainPage.RequestHttps (API.EditHome, requestJson2, urlHead);
-                    if (revertObj2.StateCode.ToUpper()  != "SUCCESS") {
+                    if (revertObj2.StateCode.ToUpper()  != StateCode.SUCCESS) {
                         ShowEditHomeErrorInfo (revertObj2.StateCode);
                         return false;
                     }

--
Gitblit v1.8.0