From 5a5a2b696866f947b6025d26c3302e8ffef46435 Mon Sep 17 00:00:00 2001
From: JLChen <551775569@qq.com>
Date: 星期一, 11 一月 2021 16:11:20 +0800
Subject: [PATCH] 2021-01-11 1.更新MQTT连接和本地搜索网关方法。2.子账号相关接口完善

---
 Crabtree/SmartHome/UI/SimpleControl/Phone/Guide/GuideAddGateway.cs |   62 ++++++++++++++++++++++++++++--
 1 files changed, 57 insertions(+), 5 deletions(-)

diff --git a/Crabtree/SmartHome/UI/SimpleControl/Phone/Guide/GuideAddGateway.cs b/Crabtree/SmartHome/UI/SimpleControl/Phone/Guide/GuideAddGateway.cs
index f08fd6d..49afd5a 100644
--- a/Crabtree/SmartHome/UI/SimpleControl/Phone/Guide/GuideAddGateway.cs
+++ b/Crabtree/SmartHome/UI/SimpleControl/Phone/Guide/GuideAddGateway.cs
@@ -83,10 +83,11 @@
             etRemark.EditorEnterAction += (obj) => {
                 Application.HideSoftInput ();
             };
-            if (MainPage.LoginUser.AccountType == 1) {
-                etRemark.Enable = false;
-                etRemark.BorderWidth = 0;
-            }
+
+            //if (MainPage.LoginUser.AccountType == 1) {
+            //    etRemark.Enable = false;
+            //    etRemark.BorderWidth = 0;
+            //}
 
             var BottomView = new FrameLayout () {
                 Y = Application.GetRealHeight (400 - 88),
@@ -283,6 +284,8 @@
                 };
 
                 EventHandler<MouseEventArgs> eHandler = (sender, e) => {
+                    //璺宠浆涔嬪墠鍏堢粦瀹欰PP
+
                     MainPage.Loading.Start ("Please wait...");
                     bool needHide = true;
                     new System.Threading.Thread (() => {
@@ -299,8 +302,14 @@
                     bool goNext = false;
                     System.Threading.Tasks.Task.Run (() => {
                         try {
-
+                            //
                             goNext = CheckIfGoNext (common);
+                            if (goNext) {
+                                //鍏堥噸缃�
+                                goNext = false;
+                                //缃戝叧鐗堟湰绗﹀悎瑕佹眰锛岀户缁垽鏂槸鍚︾粦瀹氱綉鍏虫垚鍔�,缁戝畾鎴愬姛浜嗘墠鑳借繘琛屼笅涓�姝ヨ烦杞澶囨悳绱㈤〉闈�
+                                goNext = CheckIfBindGatewaySuccess (common);
+                            }
                          
                         } catch (Exception ex) {
                             Utlis.WriteLine (ex.Message);
@@ -313,6 +322,7 @@
                                     inThisView = false;
                                     if (inView != null) {
                                         Utlis.WriteLine ("inView != null");
+                                        //璺宠浆璁惧鎼滅储椤甸潰
                                         var deviceListView = new GuideSettingGateway (common);
                                         (inView.Parent as PageLayout).AddChidren (deviceListView);
                                         deviceListView.ShowPage ();
@@ -341,7 +351,49 @@
             }
         }
 
+        /// <summary>
+        /// 妫�娴嬫槸鍚︾粦瀹氱綉鍏虫垚鍔�
+        /// </summary>
+        /// <returns></returns>
+        static bool CheckIfBindGatewaySuccess (GatewayBase gatewayBase)
+        {
+            try {
+                if (UserConfig.Instance.CheckHomeGatewaysNotEmpty ()) {
+                    //涔嬪墠缁戝畾杩囩綉鍏筹紝骞朵笖鍜屽綋鍓嶆悳绱㈠埌鍒扮綉鍏充竴鑷�,瀛愮綉鍙疯澶囧彿閮借涓�鑷�
+                    if (UserConfig.Instance.HomeGateway.mac.ToUpper () == gatewayBase.MAC.Replace (".", "").ToUpper ()
+                        && UserConfig.Instance.HomeGateway.subnetId == gatewayBase.SubnetID
+                        && UserConfig.Instance.HomeGateway.deviceId == gatewayBase.DeviceID
+                        ) {
+                        return true;
+                    }
+                }
 
+                var gatewayMAC = gatewayBase.MAC.Replace (".", "");
+                //閲嶆柊缁戝畾
+                var bindGatewayObj = new BindGatewayObj () {
+                    homeId = UserConfig.Instance.CurrentRegion.Id,
+                    subnetId = gatewayBase.SubnetID,
+                    deviceId = gatewayBase.DeviceID,
+                    gatewayType = GatewayType.BUSUDPGATEWAY.ToString (),
+                    mac = gatewayMAC
+                };
+                var revertObj = HttpServerRequest.Current.BindGateway (bindGatewayObj);
+                if (revertObj.Code == StateCode.SUCCESS) {
+                    var homeGatewayInfo = Newtonsoft.Json.JsonConvert.DeserializeObject<HomeGatewayInfo> (revertObj.Data.ToString ());
+                    if (homeGatewayInfo != null && !string.IsNullOrEmpty (homeGatewayInfo.gatewayId)) {
+                        //缁戝畾缃戝叧鎴愬姛锛屽苟涓旀垚鍔熻幏鍙栧埌鏂扮粦瀹氱殑gatewayId
+                        UserConfig.Instance.HomeGateway = homeGatewayInfo;
+                        UserConfig.Instance.SaveUserConfig ();
+                        return true;
+                    }
+                } else {
+                    IMessageCommon.Current.ShowErrorInfoAlter (revertObj.Code);
+                }
+            } catch {
+                Utlis.WriteLine ("缁戝畾缃戝叧澶辫触");
+            }
+            return false;
+        }
 
 
         static bool inThisView = false;

--
Gitblit v1.8.0