From bbc74a6dae2e90a811b2507c5896fe89aa29ccc0 Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期三, 08 一月 2020 11:30:46 +0800
Subject: [PATCH] 2020-01-08 1.替换新服务器接口。

---
 Crabtree/SmartHome/UI/SimpleControl/Phone/Register/AccountLogin.cs |  385 ++++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 296 insertions(+), 89 deletions(-)

diff --git a/Crabtree/SmartHome/UI/SimpleControl/Phone/Register/AccountLogin.cs b/Crabtree/SmartHome/UI/SimpleControl/Phone/Register/AccountLogin.cs
index 72ab748..0949f63 100644
--- a/Crabtree/SmartHome/UI/SimpleControl/Phone/Register/AccountLogin.cs
+++ b/Crabtree/SmartHome/UI/SimpleControl/Phone/Register/AccountLogin.cs
@@ -3,6 +3,7 @@
 using System.Collections.Generic;
 using System.Security.Cryptography;
 using System.Text;
+using System.Text.RegularExpressions;
 
 namespace Shared.SimpleControl.Phone
 {
@@ -18,7 +19,7 @@
             var bodyView = new FrameLayout () {
                 BackgroundColor = SkinStyle.Current.ViewColor
             };
-           AddChidren (bodyView);
+            AddChidren (bodyView);
 
             if (MainPage.LoginUser != null && MainPage.LoginUser.IsLogin == true) {
                 this.Close ();
@@ -34,7 +35,7 @@
             FrameLayout logoView = new FrameLayout () {
                 Height = Application.GetRealHeight (400),
             };
-           bodyView.AddChidren (logoView);
+            bodyView.AddChidren (logoView);
 
             //FrameLayout textView = new FrameLayout () {
             //    Y = logoView.Bottom,
@@ -49,7 +50,7 @@
             //AddChidren (buttonView);
 
             Button btnLogo = new Button () {
-                Y = Application.GetRealHeight(30),
+                Y = Application.GetRealHeight (30),
                 Height = Application.GetRealHeight (430),
                 UnSelectedImagePath = MainPage.RegisterLogoString,
             };
@@ -63,7 +64,7 @@
                 BackgroundImagePath = "Register/Register_Email_Address.png",
                 Radius = (uint)Application.GetRealHeight (0),
             };
-           bodyView.AddChidren (accountView);
+            bodyView.AddChidren (accountView);
 
             var etAccount = new EditText () {
                 Width = Application.GetRealWidth (400),
@@ -75,7 +76,8 @@
                 TextColor = SkinStyle.Current.TextColor1,
                 //Text = account,
 #if DEBUG
-                Text = "18926269190@189.cn"
+                //Text = "18926269190@189.cn"
+                Text = "721343314@qq.com"
 #endif
             };
             accountView.AddChidren (etAccount);
@@ -107,10 +109,10 @@
                 Y = accountView.Bottom + Application.GetRealHeight (50),
                 BackgroundImagePath = "Register/Register_Password_kuang.png",
             };
-           bodyView.AddChidren (passwrodView);
+            bodyView.AddChidren (passwrodView);
 
             var etPasswrod = new EditText () {
-                Width = Application.GetRealWidth (400-73),
+                Width = Application.GetRealWidth (400 - 73),
                 X = Application.GetRealWidth (100),
                 PlaceholderTextColor = SkinStyle.Current.PlaceholderTextColor,
                 PlaceholderText = Language.StringByID (R.MyInternationalizationString.PleaseEnterPassword),
@@ -125,7 +127,7 @@
             passwrodView.AddChidren (etPasswrod);
 
             Button btnShowPassword = new Button () {
-                X = etPasswrod.Right ,
+                X = etPasswrod.Right,
                 Y = etPasswrod.Y + Application.GetRealHeight (12),
                 Width = Application.GetRealWidth (73),
                 Height = Application.GetRealHeight (60),
@@ -160,7 +162,7 @@
             };
             etPasswrod.EditorEnterAction += (obj) => {
                 Application.HideSoftInput ();
-            }; 
+            };
 
             Button btnRegister = new Button () {
                 Width = Application.GetRealWidth (200),
@@ -176,7 +178,7 @@
                 Close ();
                 new AccountRegistration_Crabtree ().Show ();
             };
-           bodyView.AddChidren (btnRegister);
+            bodyView.AddChidren (btnRegister);
 
             Button btnForgotPassword = new Button () {
                 Width = Application.GetRealWidth (500 / 2),
@@ -192,13 +194,13 @@
                 new ForgotPassword ().Show ();
                 this.Close ();
             };
-           bodyView.AddChidren (btnForgotPassword);
+            bodyView.AddChidren (btnForgotPassword);
 
             Button btnLogin = new Button () {
                 Width = Application.GetRealWidth (504),
                 Height = Application.GetRealHeight (89),
                 X = Application.GetRealWidth (60),
-                Y = btnRegister.Bottom + Application.GetRealHeight(70),
+                Y = btnRegister.Bottom + Application.GetRealHeight (70),
                 BackgroundColor = SkinStyle.Current.MainColor,
                 SelectedBackgroundColor = SkinStyle.Current.SelectedColor,
                 TextID = R.MyInternationalizationString.Login,
@@ -208,7 +210,7 @@
                 BorderColor = SkinStyle.Current.Transparent,
                 BorderWidth = 0,
             };
-           bodyView.AddChidren (btnLogin);
+            bodyView.AddChidren (btnLogin);
             btnLogin.MouseDownEventHandler += (sender, e) => {
                 btnLogin.IsSelected = true;
             };
@@ -223,7 +225,7 @@
                     });
                     return;
                 }
-                if (string.IsNullOrEmpty (account) ) {
+                if (string.IsNullOrEmpty (account)) {
                     Application.RunOnMainThread (() => {
                         new Tip () { Text = "Please enter your user id.", Direction = AMPopTipDirection.Up, CloseTime = 3 }.Show (btnLogo);
                     });
@@ -244,15 +246,15 @@
                                 MainPage.Loading.Start ("Login...");
                             }
                         });
-                        if (UserConfig.Instance.internetStatus == 0 || !SystemRemote.checeInternet () ) {
+                        if (UserConfig.Instance.internetStatus == 0 || !SystemRemote.checeInternet ()) {
                             Application.RunOnMainThread (() => {
-                                new Tip () { Text = "Network abnormal, unable to connect to the Internet", Direction = AMPopTipDirection.Down , CloseTime = 3}.Show (btnLogo);
+                                new Tip () { Text = "Network abnormal, unable to connect to the Internet", Direction = AMPopTipDirection.Down, CloseTime = 3 }.Show (btnLogo);
                             });
                             return;
                         }
 
-                        var revertConnectionObj = MainPage.RequestHttps ("Connection", "");
-                        if (revertConnectionObj.StateCode == "SUCCESS") {
+                        var revertConnectionObj = MainPage.RequestHttps (API.Connection, "");
+                        if (revertConnectionObj.StateCode.ToUpper() == "SUCCESS") {
                             Application.RunOnMainThread (() => {
                                 if (Language.CurrentLanguage == "Chinese") {
                                     MainPage.Loading.Start ("閾炬帴鏈嶅姟鍣ㄦ垚鍔�...");
@@ -261,71 +263,11 @@
                                 }
                             });
 
-                            var requestObj = new LoginObj () { Account = account, Password = password, Company = MainPage.SoftSmsType };
-                            var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj);
-                            var revertObj = MainPage.RequestHttps ("Login", requestJson, false);
-                            if (revertObj.StateCode == "SUCCESS") {
-                               
-                                if (!accountListDB.account.Contains (account)) {
-                                    accountListDB.account.Add (account);
-                                    accountListDB.SaveAccountListDB ();
-                                }
-
-                                var responseDataObj = Newtonsoft.Json.JsonConvert.DeserializeObject<UserLoginRes> (revertObj.ResponseData.ToString ());
-                                var revertData = responseDataObj;
-                                MainPage.LoginUser = new UserInfo {
-                                    ID = revertData.UserId, MasterID = revertData.MainUserId, AccountType = revertData.UserType, AccountString = account, Password = password, LastTime = DateTime.Now,
-                                    AllVisionRegisterDevUserNameGuid = revertData.AllVisionRegisterDevUserNameGuid, Name = revertData.Contact
-                                };
-                                var se = new service.hdlcontrol.com_push.WebServicePush ();
-                                se.VerifySoapHeaderValue = new service.hdlcontrol.com_push.VerifySoapHeader () { Email = MainPage.LoginUser.AccountString, UserMode = 0 };
-                                se.AddRegId (UserConfig.Instance.tokenID, UserConfig.Instance.phoneName);
-
-                                var requestObj2 = new HomeListObj ();
-                                var requestJson2 = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj2);
-                                var revertObj2 = MainPage.RequestHttps ("HomeList", requestJson2);
-                                if (revertObj2.StateCode == "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 == "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);
-                                            });
-                                        }
-                                    }
-                                }
-                            }
+                            Login (account, password, accountListDB);
+                        } else {
+                            MainPage.FailureToServer ();
                         }
+
                     } catch (Exception ex) {
                         MainPage.FailureToServer ();
                         Console.WriteLine (ex.Message);
@@ -334,20 +276,20 @@
                             MainPage.Loading.Hide ();
                         });
                     }
-                }) ;
+                });
             };
 
-            etAccount.FoucsChanged += ( sender,  e) => {
-//#if __IOS__
+            etAccount.FoucsChanged += (sender, e) => {
+                //#if __IOS__
                 //btnRegister.Visible = btnForgotPassword.Visible = !e.Focus;
-//#endif
+                //#endif
                 if (e.Focus) {
                     if (etAccount.Text == "")
                         accountList.Clear ();
                     else
                         accountList = accountListDB.account.FindAll ((obj) => (obj.Contains (etAccount.Text) && obj != etAccount.Text));
                     if (accountListView.Parent == null) {
-                       bodyView.AddChidren (accountListView);
+                        bodyView.AddChidren (accountListView);
                     }
                     if (accountList.Count > 0) {
                         accountListView.Visible = e.Focus;
@@ -379,7 +321,7 @@
                     accountListView.Visible = false;
                     return;
                 }
-                    accountList = accountListDB.account.FindAll ((obj) => (obj.Contains (e) && obj != e));
+                accountList = accountListDB.account.FindAll ((obj) => (obj.Contains (e) && obj != e));
                 if (accountList.Count == 0) {
                     accountListView.Visible = false;
                     return;
@@ -416,6 +358,271 @@
 
 
         }
-        
+
+
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="stateCodeStr"></param>
+        void ShowGetHomePagerErrorInfo (string stateCodeStr)
+        {
+            string mes = "";
+            //2020-01-06 寰呰ˉ鍏�
+            if (stateCodeStr == ErrorCode.NetworkError) {
+                mes = ErrorCode.NetworkError;
+            } else {
+                mes = ErrorCode.OperationFailed + ErrorCode.Reason + stateCodeStr;
+
+            }
+            if (!string.IsNullOrEmpty (mes)) {
+                Application.RunOnMainThread (() => {
+                    new Alert ("", mes, Language.StringByID (R.MyInternationalizationString.Close)).Show ();
+                });
+            }
+
+
+        }
+
+
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="stateCodeStr"></param>
+        void ShowGetAllBindGatewarysPaggerErrorInfo (string stateCodeStr)
+        {
+            string mes = "";
+            //2020-01-06 寰呰ˉ鍏�
+            if (stateCodeStr == ErrorCode.NetworkError) {
+                mes = ErrorCode.NetworkError;
+            } else {
+                mes = ErrorCode.OperationFailed + ErrorCode.Reason + stateCodeStr;
+
+            }
+            if (!string.IsNullOrEmpty (mes)) {
+                Application.RunOnMainThread (() => {
+                    new Alert ("", mes, Language.StringByID (R.MyInternationalizationString.Close)).Show ();
+                });
+            }
+
+
+        }
+
+        /// <summary>
+        /// 鐧诲綍
+        /// </summary>
+        /// <param name="account">Account.</param>
+        /// <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);
+            if (revertObj.StateCode.ToUpper() == "SUCCESS") {
+
+                if (!accountListDB.account.Contains (account)) {
+                    accountListDB.account.Add (account);
+                    accountListDB.SaveAccountListDB ();
+                }
+
+                var responseDataObj = Newtonsoft.Json.JsonConvert.DeserializeObject<UserLoginRes> (revertObj.ResponseData.ToString ());
+                var revertData = responseDataObj;
+                MainPage.LoginUser = new UserInfo {
+                    ID = revertData.UserId,
+                    MainUserId = revertData.MainUserId,
+                    AccountType = revertData.UserType,
+                    AccountString = account,
+                    Password = password,
+                    LastTime = DateTime.Now,
+                    AllVisionRegisterDevUserNameGuid = revertData.AllVisionRegisterDevUserNameGuid,
+                    Name = revertData.Contact,
+                    Guid = revertData.Guid,
+                    MD5PWD = revertData.MD5PWD,
+
+
+                };
+                //var se = new service.hdlcontrol.com_push.WebServicePush ();
+                //se.VerifySoapHeaderValue = new service.hdlcontrol.com_push.VerifySoapHeader () { Email = MainPage.LoginUser.AccountString, UserMode = 0 };
+                //se.AddRegId (UserConfig.Instance.tokenID, UserConfig.Instance.phoneName);
+                var requestObj2 = new GetHomePagerObj ();
+                requestObj2.ReqDto.LoginAccessToken = MainPage.LoginUser.LoginTokenString;
+
+                var requestJson2 = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj2);
+                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;
+                            }
+                            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);
+                    }
+                    //}
+                } 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") {
+                    //鏈縺娲�
+                    mes = ErrorCode.NOTVERIFY;
+                }
+                //else if (stateCodeStr == "NOTENABLE") {
+
+                //    //璇ョ敤鎴峰睘浜庤皟璇曡处鍙凤紝骞舵湭鍚敤
+                //    mes = "鐢ㄦ埛灞炰簬璋冭瘯璐﹀彿锛屽苟鏈惎鐢�";
+                //}
+                else if (stateCodeStr == "USERNAMEORPWDERROR") {
+                    //璐﹀彿鎴栧瘑鐮侀敊璇�
+                    mes = ErrorCode.USERNAMEORPWDERROR;
+                } else if (stateCodeStr == "ACCOUNTNOEXISTS") {
+                    //璐﹀彿涓嶅瓨鍦�
+                    mes = ErrorCode.ACCOUNTNOEXISTS;
+                } else if (stateCodeStr == "YOUDATANOISLOCALREGION") {
+                    //涓嶅湪鏈尯鍩燂紝闇�瑕侀噸瀹氬悜鍖哄煙鍚庡啀娆¤姹傜櫥褰�
+                    if (revertObj.ResponseData == null) {
+                        return;
+                    }
+                    var responseDataObj2 = Newtonsoft.Json.JsonConvert.DeserializeObject<UserLoginLocalRegionRes> (revertObj.ResponseData.ToString ());
+                    MainPage.RequestHttpsHost = responseDataObj2.RegionServer;
+                    //姝e垯澶勭悊
+                    //MainPage.RequestHttpsHostMqtt =
+                    SetMqttHost (responseDataObj2.RegionServer);
+         
+                    ////鍐嶆鐧诲綍
+                    Login (account, password, accountListDB);
+                } else {
+                    //RequestServerFailed
+                    mes = ErrorCode.LoginFailed + ErrorCode.Reason + stateCodeStr;
+                }
+
+
+                if (!string.IsNullOrEmpty (mes)) {
+                    Application.RunOnMainThread (() => {
+                        new Alert ("", mes, Language.StringByID (R.MyInternationalizationString.Close)).Show ();
+                    });
+                }
+
+            }
+        }
+
+        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;
+            if (!string.IsNullOrEmpty (mResult)) {
+                MainPage.RequestHttpsHostMqtt = "https://" + mResult;
+            }
+        }
+        //
     }
 }
\ No newline at end of file

--
Gitblit v1.8.0