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/Register/AccountLogin.cs |  372 ++++++++++++++++++++++-------------------------------
 1 files changed, 155 insertions(+), 217 deletions(-)

diff --git a/Crabtree/SmartHome/UI/SimpleControl/Phone/Register/AccountLogin.cs b/Crabtree/SmartHome/UI/SimpleControl/Phone/Register/AccountLogin.cs
index dd9080a..30b722b 100644
--- a/Crabtree/SmartHome/UI/SimpleControl/Phone/Register/AccountLogin.cs
+++ b/Crabtree/SmartHome/UI/SimpleControl/Phone/Register/AccountLogin.cs
@@ -1,9 +1,6 @@
-锘縰sing Shared.SimpleControl;
-using System;
+锘縰sing System;
 using System.Collections.Generic;
-using System.Security.Cryptography;
-using System.Text;
-using System.Text.RegularExpressions;
+using Shared.SimpleControl.R;
 
 namespace Shared.SimpleControl.Phone
 {
@@ -57,8 +54,8 @@
             logoView.AddChidren (btnLogo);
 
             var accountView = new FrameLayout () {
-                Width = Application.GetMinRealAverage (500),
-                Height = Application.GetMinRealAverage (85),
+                Width = Application.GetRealWidth (500),
+                Height = Application.GetRealWidth (85),
                 X = Application.GetRealWidth (70),
                 Y = btnLogo.Bottom + Application.GetRealHeight (30),
                 BackgroundImagePath = "Register/Register_Email_Address.png",
@@ -81,7 +78,11 @@
             //etAccount.Text = "18926269190@189.cn";
             //etAccount.Text = "721343314@qq.com";
             //etAccount.Text = "crabtreel12019@gmail.com";
-            etAccount.Text = "2791308028@qq.com";
+            //etAccount.Text = "2791308028@qq.com";
+            //etAccount.Text = "551775569@qq.com";
+            //etAccount.Text = "18824864143";
+
+            etAccount.Text = "cjl@hdlchina.com.cn";
 #endif
 
             accountView.AddChidren (etAccount);
@@ -114,10 +115,10 @@
             };
 
             var passwrodView = new FrameLayout () {
-                Width = Application.GetMinRealAverage (500),
-                Height = Application.GetMinRealAverage (85),
+                Width = Application.GetRealWidth (500),
+                Height = Application.GetRealWidth (85),
                 X = Application.GetRealWidth (70),
-                Y = accountView.Bottom + Application.GetRealHeight (50),
+                Y = accountView.Bottom + Application.GetRealWidth (50),
                 BackgroundImagePath = "Register/Register_Password_kuang.png",
             };
             bodyView.AddChidren (passwrodView);
@@ -135,14 +136,15 @@
             };
 #if DEBUG
             etPasswrod.Text = "123456";
+            //etPasswrod.Text = "123456-Aa";
 #endif
             passwrodView.AddChidren (etPasswrod);
 
             Button btnShowPassword = new Button () {
                 X = etPasswrod.Right,
-                Y = etPasswrod.Y + Application.GetRealHeight (12),
+                Y = etPasswrod.Y + Application.GetRealWidth (12),
                 Width = Application.GetRealWidth (73),
-                Height = Application.GetRealHeight (60),
+                Height = Application.GetRealWidth (60),
                 UnSelectedImagePath = "CrabtreeAdd/HidePW.png",
                 SelectedImagePath = "CrabtreeAdd/ShowPW.png", 
                 BorderColor = SkinStyle.Current.Transparent,
@@ -155,19 +157,19 @@
                 etPasswrod.SecureTextEntry = !btnShowPassword.IsSelected;
             };
 
-#if DEBUG
-            int NigelLoginPass = 0;
-            btnLogo.MouseUpEventHandler += (sender, e) => {
-                if (NigelLoginPass == 3) {
-                    etAccount.Text = @"464027401@qq.com";
-                    etPasswrod.Text = "qqqqqq";
-                } else if (NigelLoginPass == 5) {
-                    etAccount.Text = @"Jai.singh@havells.com";
-                    etPasswrod.Text = "123456";
-                }
-                NigelLoginPass++;
-            };
-#endif
+//#if DEBUG
+//            int NigelLoginPass = 0;
+//            btnLogo.MouseUpEventHandler += (sender, e) => {
+//                if (NigelLoginPass == 3) {
+//                    etAccount.Text = @"464027401@qq.com";
+//                    etPasswrod.Text = "qqqqqq";
+//                } else if (NigelLoginPass == 5) {
+//                    etAccount.Text = @"Jai.singh@havells.com";
+//                    etPasswrod.Text = "123456";
+//                }
+//                NigelLoginPass++;
+//            };
+//#endif
             //if (accountList.Count > 0) {
             //    etAccount.Text = accountList [accountList.Count-1];
             //}
@@ -182,9 +184,9 @@
 
             Button btnRegister = new Button () {
                 Width = Application.GetRealWidth (200),
-                Height = Application.GetRealHeight (85),
+                Height = Application.GetRealWidth (85),
                 X = Application.GetRealWidth (70),
-                Y = passwrodView.Bottom + Application.GetRealHeight (10),
+                Y = passwrodView.Bottom + Application.GetRealWidth (10),
                 Text = "Sign up",
                 TextSize = 15,
                 TextColor = SkinStyle.Current.TextColor1,
@@ -198,9 +200,9 @@
 
             Button btnForgotPassword = new Button () {
                 Width = Application.GetRealWidth (500 / 2),
-                Height = Application.GetRealHeight (85),
+                Height = Application.GetRealWidth (85),
                 X = btnRegister.Right + Application.GetRealWidth (50),
-                Y = passwrodView.Bottom + Application.GetRealHeight (10),
+                Y = passwrodView.Bottom + Application.GetRealWidth (10),
                 Text = "Forgot password?",
                 TextSize = 15,
                 TextColor = SkinStyle.Current.TextColor1,
@@ -214,9 +216,9 @@
 
             Button btnLogin = new Button () {
                 Width = Application.GetRealWidth (504),
-                Height = Application.GetRealHeight (89),
+                Height = Application.GetRealWidth (89),
                 X = Application.GetRealWidth (60),
-                Y = btnRegister.Bottom + Application.GetRealHeight (70),
+                Y = btnRegister.Bottom + Application.GetRealWidth (70),
                 BackgroundColor = SkinStyle.Current.MainColor,
                 SelectedBackgroundColor = SkinStyle.Current.SelectedColor,
                 TextID = R.MyInternationalizationString.Login,
@@ -236,23 +238,42 @@
                 account = etAccount.Text.Trim ();
                 password = etPasswrod.Text.Trim ();
                 if (string.IsNullOrEmpty (account) && string.IsNullOrEmpty (password)) {
-                    Application.RunOnMainThread (() => {
-                        new Tip () { Text = "Please enter your login details.", Direction = AMPopTipDirection.Up, CloseTime = 3 }.Show (btnLogo);
-                    });
+                    Utlis.ShowTip ("Please enter your login details.");
+                    //Application.RunOnMainThread (() => {
+                    //    new Tip () { Text = "Please enter your login details.", Direction = AMPopTipDirection.Up, CloseTime = 3 }.Show (btnLogo);
+                    //});
                     return;
                 }
                 if (string.IsNullOrEmpty (account)) {
-                    Application.RunOnMainThread (() => {
-                        new Tip () { Text = "Please enter your user id.", Direction = AMPopTipDirection.Up, CloseTime = 3 }.Show (btnLogo);
-                    });
+                    Utlis.ShowTip ("Please enter your user id.");
+                    //Application.RunOnMainThread (() => {
+                    //    new Tip () { Text = "Please enter your user id.", Direction = AMPopTipDirection.Up, CloseTime = 3 }.Show (btnLogo);
+                    //});
                     return;
                 }
+
+                //閭鏍煎紡涓嶅
+                if (!CommonUtlis.Current.CheckEmail(account)) {
+                    Utlis.ShowTip (Language.StringByID (R.MyInternationalizationString.PleaseCheckEmailAddressCorrectly));
+                    //Application.RunOnMainThread (() => {
+                    //    new Tip () { Text = Language.StringByID (R.MyInternationalizationString.PleaseCheckEmailAddressCorrectly), Direction = AMPopTipDirection.Up, CloseTime = 3 }.Show (btnLogo);
+                    //});
+                    return;
+                }
+
                 if (string.IsNullOrEmpty (password)) {
-                    Application.RunOnMainThread (() => {
-                        new Tip () { Text = "Please enter your password.", Direction = AMPopTipDirection.Up, CloseTime = 3 }.Show (btnLogo);
-                    });
+                    Utlis.ShowTip ("Please enter your password.");
+                    //Application.RunOnMainThread (() => {
+                    //    new Tip () { Text = "Please enter your password.", Direction = AMPopTipDirection.Up, CloseTime = 3 }.Show (btnLogo);
+                    //});
                     return;
                 }
+
+                ////妫�娴嬭处鍙锋槸鍚﹂攣瀹�
+                //if (CommonConfig.Current.CheckIfLock (account)) {
+                //    return;
+                //}
+
                 System.Threading.Tasks.Task.Run (() => {
                     try {
                         Application.RunOnMainThread (() => {
@@ -264,25 +285,27 @@
                         });
                         if (UserConfig.Instance.internetStatus == 0) {
                             Application.RunOnMainThread (() => {
-                                new Tip () { Text = "Network abnormal, unable to connect to the Internet", Direction = AMPopTipDirection.Down, CloseTime = 3 }.Show (btnLogo);
+                                Utlis.ShowTip ("Network abnormal, unable to connect to the Internet");
+                                //new Tip () { Text = "Network abnormal, unable to connect to the Internet", Direction = AMPopTipDirection.Down, CloseTime = 3 }.Show (btnLogo);
                             });
                             return;
                         }
+                        Login (account, password, accountListDB);
 
-                        var revertConnectionObj = MainPage.RequestHttps (API.Connection, "");
-                        if (revertConnectionObj.StateCode.ToUpper() == "SUCCESS") {
-                            Application.RunOnMainThread (() => {
-                                if (Language.CurrentLanguage == "Chinese") {
-                                    MainPage.Loading.Start ("閾炬帴鏈嶅姟鍣ㄦ垚鍔�...");
-                                } else {
-                                    MainPage.Loading.Start ("Link server successful...");
-                                }
-                            });
+                        //var revertConnectionObj = MainPage.RequestHttps (API.Connection, "");
+                        //if (revertConnectionObj.StateCode.ToUpper() == StateCode.SUCCESS) {
+                        //    Application.RunOnMainThread (() => {
+                        //        if (Language.CurrentLanguage == "Chinese") {
+                        //            MainPage.Loading.Start ("閾炬帴鏈嶅姟鍣ㄦ垚鍔�...");
+                        //        } else {
+                        //            MainPage.Loading.Start ("Link server successful...");
+                        //        }
+                        //    });
 
-                            Login (account, password, accountListDB);
-                        } else {
-                            MainPage.FailureToServer ();
-                        }
+                        //    Login (account, password, accountListDB);
+                        //} else {
+                        //    MainPage.FailureToServer ();
+                        //}
 
                     } catch (Exception ex) {
                         MainPage.FailureToServer ();
@@ -375,54 +398,6 @@
 
         }
 
-
-        /// <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>
         /// 鐧诲綍 2020-01-11 
         /// </summary>
@@ -430,15 +405,9 @@
         /// <param name="password">Password.</param>
         private void Login (string account, string password, AccountListDB accountListDB)
         {
-            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);
-            if (revertObj.StateCode.ToUpper() == "SUCCESS") {
-
-                //if (!accountListDB.account.Contains (account)) {
-                //    accountListDB.account.Add (account);
-                //    accountListDB.SaveAccountListDB ();
-                //}
+            //鐧诲綍
+            var revertObj = HttpServerRequest.Current.LoginByPassword (account, password);
+            if (revertObj.Code == StateCode.SUCCESS) {
 
                 if (accountListDB.account.Contains (account)) {
                     accountListDB.account.Remove (account);
@@ -446,52 +415,34 @@
                 accountListDB.account.Add (account);
                 accountListDB.SaveAccountListDB ();
 
-                var responseDataObj = Newtonsoft.Json.JsonConvert.DeserializeObject<UserLoginRes> (revertObj.ResponseData.ToString ());
+                var responseDataObj = Newtonsoft.Json.JsonConvert.DeserializeObject<UserLoginRes> (revertObj.Data.ToString ());
                 var revertData = responseDataObj;
                 MainPage.LoginUser = new UserInfo {
-                    LoginToken = revertData.Token,
-                    ID = revertData.UserId,
-                    MainUserId = revertData.MainUserId,
-                    AccountType = revertData.UserType,
+                    UserType = revertData.userType,
                     AccountString = account,
                     Password = password,
                     LastTime = DateTime.Now,
-                    AllVisionRegisterDevUserNameGuid = revertData.AllVisionRegisterDevUserNameGuid,
-                    Name = revertData.Contact,
-                    Guid = revertData.Guid,
-                    MD5PWD = revertData.MD5PWD,
-                    
-
+                    ID = revertData.userId,
+                    LoginTokenString = revertData.headerPrefix + revertData.accessToken,
+                    RefreshToken = revertData.refreshToken,
                 };
-                //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 mResidenceRes = Newtonsoft.Json.JsonConvert.DeserializeObject<ResidenceRes> (revertObj2.ResponseData.ToString ());
-                    //if (mResidenceRes.TotalCount != 0) {
-                    //    //褰撲綇瀹呬负绌烘椂鍏堟彁绀虹敤鎴锋柊寤轰綇瀹�
-                    //} else {
-                    var revertRoomData = mResidenceRes.PageData;
-                    UserConfig.Instance.HomeLists = revertRoomData;
-
+                //鑾峰彇浣忓畢鍒楄〃
+                var revertObjCode = HttpServerRequest.Current.GetHomePager ();
+                if (revertObjCode == StateCode.SUCCESS) {
+                    var mHomeLists = UserConfig.Instance.HomeLists;
                     if (UserConfig.Instance.CurrentRegion == null) {
-                        if (revertRoomData != null && revertRoomData.Count > 0) {
+                        if (mHomeLists != null && mHomeLists.Count > 0) {
                             var bFind = false;
-                            foreach (var mHome in revertRoomData) {
-                                if (UserConfig.Instance.CheckThisHomeGatewaysNotEmpty (mHome)) {
+                            foreach (var mHome in mHomeLists) {
+                                if (mHome.isBindGateway) {
                                     bFind = true;
                                     UserConfig.Instance.CurrentRegion = mHome;
                                     break;
                                 }
                             }
                             if (!bFind) {
-                                UserConfig.Instance.CurrentRegion = revertRoomData [0];
+                                UserConfig.Instance.CurrentRegion = mHomeLists [0];
                             }
 
                             IO.FileUtils.DeleteAllFile ();
@@ -499,113 +450,69 @@
 
                     } else {
                         //2020-01-11 
-                        var findRoom = revertRoomData.Find ((obj) => obj.Id == UserConfig.Instance.CurrentRegion.Id);
-                        if (findRoom != null && UserConfig.Instance.CheckThisHomeGatewaysNotEmpty (findRoom)) {
+                        var findRoom = mHomeLists.Find ((obj) => obj.Id == UserConfig.Instance.CurrentRegion.Id);
+                        if (findRoom != null && findRoom.isBindGateway) {
                             //鍒锋柊浣忓畢 瑙e喅瀛愯处鍙烽棶棰�
                             UserConfig.Instance.CurrentRegion = findRoom;
                             Room.InitAllRoom ();
                         } else {
 
-                            //if (findRoom == null) {
-                            if (revertRoomData != null && revertRoomData.Count > 0) {
+                            if (mHomeLists != null && mHomeLists.Count > 0) {
                                 var bFind = false;
-                                foreach (var mHome in revertRoomData) {
-                                    if (UserConfig.Instance.CheckThisHomeGatewaysNotEmpty (mHome)) {
+                                foreach (var mHome in mHomeLists) {
+                                    if (mHome.isBindGateway) {
                                         bFind = true;
                                         UserConfig.Instance.CurrentRegion = mHome;
                                         break;
                                     }
                                 }
-                                //if (!bFind) {
-                                //    UserConfig.Instance.CurrentRegion = revertRoomData [0];
-                                //}
+
                                 if (!bFind) {
-                                    var findRoom2 = revertRoomData.Find ((obj) => obj.IsOthreShare == false);
+                                    var findRoom2 = mHomeLists.Find ((obj) => obj.IsOthreShare == false);
                                     if (findRoom2 != null) {
                                         UserConfig.Instance.CurrentRegion = findRoom2;
                                     } else {
-                                        UserConfig.Instance.CurrentRegion = revertRoomData [0];
+                                        UserConfig.Instance.CurrentRegion = mHomeLists [0];
                                     }
                                 }
 
                                 IO.FileUtils.DeleteAllFile ();
                             }
-                            //}else {
-                            //    //鍒锋柊浣忓畢 瑙e喅瀛愯处鍙烽棶棰�
-                            //    UserConfig.Instance.CurrentRegion = findRoom;
-                            //    Room.InitAllRoom ();
-                            //}
                         }
+                    }
 
-
-                }
                     ////鍘熸柟妗�
                     //GetAllBindGatewarysPagger (revertRoomData);
                     ////鑾峰彇褰撳墠浣忓畢缃戝叧鏂规
                     //GetNowHomeGateway (revertRoomData);
-                    SaveUserConfig (revertRoomData);
+                    SaveUserConfig (mHomeLists);
                     //}
                 } else {
-                    //GetHomePager 澶辫触鎻愮ず
-                    ShowGetHomePagerErrorInfo (revertObj2.StateCode);
+                    IMessageCommon.Current.ShowErrorInfoAlter (revertObjCode);
                 }
             } 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)) {
+                //鎻愮ず鐧诲綍閿佸畾
+                if (revertObj.Code == StateCode.AccountLoginLock) {
                     Application.RunOnMainThread (() => {
-                        new Alert ("", mes, Language.StringByID (R.MyInternationalizationString.Close)).Show ();
+                        ShowAccountLoginLockTip (revertObj);
                     });
+                    return;
                 }
-
+                IMessageCommon.Current.ShowErrorInfoAlter (revertObj.Code);
             }
         }
 
-        private void SetMqttHost (string URL) {
-            string pattern = @"(http|https)://(?<domain>[^(:|/]*)";
+        //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.Value;
-            if (!string.IsNullOrEmpty (mResult)) {
-                MainPage.RequestHttpsHostMqtt = mResult;
-            }
-        }
+        //    Regex reg = new Regex (pattern, RegexOptions.IgnoreCase);
+        //    Match m = reg.Match (URL);
+        //    string mResult = m.Value;
+        //    if (!string.IsNullOrEmpty (mResult)) {
+        //        MainPage.RequestHttpsHostMqtt = mResult;
+        //    }
+        //}
 
         /// <summary>
         /// 淇濆瓨鏁版嵁 骞跺姞杞介〉闈�
@@ -615,7 +522,7 @@
         {
             UserConfig.Instance.SaveUserConfig ();
             MainPage.LoginUser.LastTime = DateTime.Now;
-            if (UserConfig.Instance.CheckHomeGatewaysNotEmpty ()) {
+            if (UserConfig.Instance.CheckHomeGatewaysNotEmpty()) {
                 //UserConfig.Instance.HomeLists = revertRoomData;
                 MainPage.LoginUser.SaveUserInfo ();
                 //UserConfig.Instance.SaveUserConfig ();
@@ -635,6 +542,37 @@
             }
 
         }
+
+        /// <summary>
+        /// 瑙f瀽鎻愮ず鐢ㄦ埛瑙i攣鏃堕棿
+        /// 瀵嗙爜閿欒娆℃暟杩囧锛岃处鍙疯閿佸畾锛佽閫氳繃蹇樿瀵嗙爜鎵惧洖瀵嗙爜鎴杮0}鍒嗛挓鍚庨噸璇�.
+        /// </summary>
+        /// <param name="loginResult"></param>
+        void ShowAccountLoginLockTip (ResponsePackNew loginResult)
+        {
+            //瀵嗙爜閿欒娆℃暟杩囧锛岃处鍙疯閿佸畾锛�
+            var tipStr = Language.StringByID (MyInternationalizationString.AccountLoginLock);
+            try {
+                if (loginResult.extra != null) {
+                    //璇烽�氳繃蹇樿瀵嗙爜鎵惧洖瀵嗙爜鎴杮0}鍒嗛挓鍚庨噸璇�.
+                    var revertData = Newtonsoft.Json.JsonConvert.DeserializeObject<AccountLoginLockExtraRes> (loginResult.extra.ToString ());
+                    string msg = Language.StringByID (MyInternationalizationString.PleaseTryToForgetPassword);
+                    //var unlockTime = Utlis.UnixToDateTimeWithFormatMS(revertData.unlockTime, "HH:mm");
+                    //msg = msg.Replace("{0}", unlockTime);
+
+                    var unlockDatetime = Utlis.UnixToDateTimeMS (revertData.unlockTime);
+                    var unlockTimeInt = unlockDatetime.Minute - DateTime.Now.Minute;
+                    if (unlockTimeInt <= 0) {
+                        unlockTimeInt = 1;
+                    }
+                    msg = msg.Replace ("{0}", unlockTimeInt.ToString ());
+                    tipStr = tipStr + "\r\n" + msg;
+                }
+            } catch { }
+
+            Utlis.ShowTip (tipStr);
+        }
+
 
         ///// <summary>
         ///// 鏌ヨ褰撳墠浣忓畢 缃戝叧鍒楄〃
@@ -657,7 +595,7 @@
         //    //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") {
+        //    if (revertObj3.StateCode.ToUpper () == StateCode.SUCCESS) {
         //        var mGateRes = Newtonsoft.Json.JsonConvert.DeserializeObject<GetGatewayResult> (revertObj3.ResponseData.ToString ());
         //        //var responseGatewayDataObj = mGateRes.PageData;
         //        UserConfig.Instance.GatewayList.AddRange (mGateRes.PageData);
@@ -685,7 +623,7 @@
         //        Application.RunOnMainThread (() => {
         //            new Alert ("", ErrorCode.FailedGetGatewaysForHome, Language.StringByID (R.MyInternationalizationString.Close)).Show ();
         //        });
-               
+
         //    }
 
 
@@ -703,7 +641,7 @@
         //    //var gatewayListObj = new GatewayListObj ();
         //    var gatewayListJson = Newtonsoft.Json.JsonConvert.SerializeObject (gatewayListObj);
         //    var gatewayListRevertObj = MainPage.RequestHttps (API.GetAllBindGatewarysPagger, gatewayListJson);
-        //    if (gatewayListRevertObj.StateCode.ToUpper () == "SUCCESS") {
+        //    if (gatewayListRevertObj.StateCode.ToUpper () == StateCode.SUCCESS) {
         //        UserConfig.Instance.GatewayList.Clear ();
 
         //        var mGateRes = Newtonsoft.Json.JsonConvert.DeserializeObject<AllBindGatewarysPaggerRes> (gatewayListRevertObj.ResponseData.ToString ());
@@ -734,7 +672,7 @@
         //        ShowGetAllBindGatewarysPaggerErrorInfo (gatewayListRevertObj.StateCode);
         //    }
         //}
-        
+
 
 
 

--
Gitblit v1.8.0