From f500e14c0a994487070380c50c85e0929cbc8e63 Mon Sep 17 00:00:00 2001
From: JLChen <551775569@qq.com>
Date: 星期二, 05 一月 2021 10:48:04 +0800
Subject: [PATCH] 2021-01-05 1.更新

---
 Crabtree/SmartHome/UI/SimpleControl/Phone/Register/AccountLogin.cs |  239 ++++++++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 160 insertions(+), 79 deletions(-)

diff --git a/Crabtree/SmartHome/UI/SimpleControl/Phone/Register/AccountLogin.cs b/Crabtree/SmartHome/UI/SimpleControl/Phone/Register/AccountLogin.cs
index 1ddb314..5601ccf 100644
--- a/Crabtree/SmartHome/UI/SimpleControl/Phone/Register/AccountLogin.cs
+++ b/Crabtree/SmartHome/UI/SimpleControl/Phone/Register/AccountLogin.cs
@@ -57,8 +57,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",
@@ -74,12 +74,16 @@
                 TextAlignment = TextAlignment.CenterLeft,
                 Radius = (uint)Application.GetRealHeight (0),
                 TextColor = SkinStyle.Current.TextColor1,
-                //Text = account,
-#if DEBUG
-                Text = "18926269190@189.cn"
-                //Text = "721343314@qq.com"
-#endif
+                Text = account,
+
             };
+#if DEBUG
+            //etAccount.Text = "18926269190@189.cn";
+            //etAccount.Text = "721343314@qq.com";
+            //etAccount.Text = "crabtreel12019@gmail.com";
+            etAccount.Text = "2791308028@qq.com";
+#endif
+
             accountView.AddChidren (etAccount);
 
             var userConfigBytes = IO.FileUtils.ReadFile ("AccountListDB");
@@ -93,6 +97,13 @@
             }
             var accountList = accountListDB.account;
 
+            //鑷姩濉啓璐﹀彿
+            if (string.IsNullOrEmpty (account)) {
+                if (accountList.Count > 0) {
+                    etAccount.Text = accountList [accountList.Count - 1];
+                }
+
+            }
             var accountListView = new VerticalScrolViewLayout () {
                 Width = Application.GetRealWidth (500),
                 Height = Application.GetRealHeight (85 * 2),
@@ -103,10 +114,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);
@@ -119,20 +130,21 @@
                 TextAlignment = TextAlignment.CenterLeft,
                 SecureTextEntry = true,
                 TextColor = SkinStyle.Current.TextColor1,
-#if DEBUG
-                Text = "123456"
-#endif
-                //Text = password,
+
+                Text = password,
             };
+#if DEBUG
+            etPasswrod.Text = "123456";
+#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),
-                UnSelectedImagePath = "CrabtreeAdd/ShowPW.png",
-                SelectedImagePath = "CrabtreeAdd/HidePW.png",
+                Height = Application.GetRealWidth (60),
+                UnSelectedImagePath = "CrabtreeAdd/HidePW.png",
+                SelectedImagePath = "CrabtreeAdd/ShowPW.png", 
                 BorderColor = SkinStyle.Current.Transparent,
                 BorderWidth = 2,
                 Radius = 1
@@ -143,19 +155,23 @@
                 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];
+            //}
+
             etAccount.EditorEnterAction += (obj) => {
                 Application.HideSoftInput ();
                 etPasswrod.Foucs = true;
@@ -166,9 +182,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,
@@ -182,9 +198,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,
@@ -198,9 +214,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,
@@ -231,12 +247,27 @@
                     });
                     return;
                 }
+
+                //閭鏍煎紡涓嶅
+                if (!CommonUtlis.Current.CheckEmail(account)) {
+                    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);
                     });
                     return;
                 }
+
+                //妫�娴嬭处鍙锋槸鍚﹂攣瀹�
+                if (CommonConfig.Current.CheckIfLock (account)) {
+                    return;
+                }
+
                 System.Threading.Tasks.Task.Run (() => {
                     try {
                         Application.RunOnMainThread (() => {
@@ -246,7 +277,7 @@
                                 MainPage.Loading.Start ("Login...");
                             }
                         });
-                        if (UserConfig.Instance.internetStatus == 0 || !SystemRemote.checeInternet ()) {
+                        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);
                             });
@@ -270,7 +301,7 @@
 
                     } catch (Exception ex) {
                         MainPage.FailureToServer ();
-                        Console.WriteLine (ex.Message);
+                        Utlis.WriteLine (ex.Message);
                     } finally {
                         Application.RunOnMainThread (() => {
                             MainPage.Loading.Hide ();
@@ -384,31 +415,31 @@
         }
 
 
-        /// <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;
+        ///// <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 ();
-                });
-            }
+        //    }
+        //    if (!string.IsNullOrEmpty (mes)) {
+        //        Application.RunOnMainThread (() => {
+        //            new Alert ("", mes, Language.StringByID (R.MyInternationalizationString.Close)).Show ();
+        //        });
+        //    }
 
 
-        }
+        //}
 
         /// <summary>
-        /// 鐧诲綍
+        /// 鐧诲綍 2020-01-11 
         /// </summary>
         /// <param name="account">Account.</param>
         /// <param name="password">Password.</param>
@@ -419,14 +450,21 @@
             var revertObj = MainPage.RequestHttps (API.Login, requestJson);
             if (revertObj.StateCode.ToUpper() == "SUCCESS") {
 
-                if (!accountListDB.account.Contains (account)) {
-                    accountListDB.account.Add (account);
-                    accountListDB.SaveAccountListDB ();
+                //if (!accountListDB.account.Contains (account)) {
+                //    accountListDB.account.Add (account);
+                //    accountListDB.SaveAccountListDB ();
+                //}
+
+                if (accountListDB.account.Contains (account)) {
+                    accountListDB.account.Remove (account);
                 }
+                accountListDB.account.Add (account);
+                accountListDB.SaveAccountListDB ();
 
                 var responseDataObj = Newtonsoft.Json.JsonConvert.DeserializeObject<UserLoginRes> (revertObj.ResponseData.ToString ());
                 var revertData = responseDataObj;
                 MainPage.LoginUser = new UserInfo {
+                    LoginToken = revertData.Token,
                     ID = revertData.UserId,
                     MainUserId = revertData.MainUserId,
                     AccountType = revertData.UserType,
@@ -437,7 +475,7 @@
                     Name = revertData.Contact,
                     Guid = revertData.Guid,
                     MD5PWD = revertData.MD5PWD,
-
+                    
 
                 };
                 //var se = new service.hdlcontrol.com_push.WebServicePush ();
@@ -455,10 +493,12 @@
                     //    //褰撲綇瀹呬负绌烘椂鍏堟彁绀虹敤鎴锋柊寤轰綇瀹�
                     //} else {
                     var revertRoomData = mResidenceRes.PageData;
-                    if (revertRoomData.Find ((obj) => obj.Id == UserConfig.Instance.CurrentRegion.Id) == null) {
+                    UserConfig.Instance.HomeLists = revertRoomData;
+
+                    if (UserConfig.Instance.CurrentRegion == null) {
                         if (revertRoomData != null && revertRoomData.Count > 0) {
                             var bFind = false;
-                            foreach(var mHome in revertRoomData) {
+                            foreach (var mHome in revertRoomData) {
                                 if (UserConfig.Instance.CheckThisHomeGatewaysNotEmpty (mHome)) {
                                     bFind = true;
                                     UserConfig.Instance.CurrentRegion = mHome;
@@ -468,17 +508,52 @@
                             if (!bFind) {
                                 UserConfig.Instance.CurrentRegion = revertRoomData [0];
                             }
-                            //if (UserConfig.Instance.CheckHomeGateways ()) {
-                            //    UserConfig.Instance.GatewayMAC = revertRoomData [0].HomeGateways [0].GatewayUniqueId;
-                            //}
-                            //CheckIfNeedGetMasterAccountToken ();
-                      
+
                             IO.FileUtils.DeleteAllFile ();
                         }
-                    } else {
-                        Room.InitAllRoom ();
-                    }
 
+                    } else {
+                        //2020-01-11 
+                        var findRoom = revertRoomData.Find ((obj) => obj.Id == UserConfig.Instance.CurrentRegion.Id);
+                        if (findRoom != null && UserConfig.Instance.CheckThisHomeGatewaysNotEmpty (findRoom)) {
+                            //鍒锋柊浣忓畢 瑙e喅瀛愯处鍙烽棶棰�
+                            UserConfig.Instance.CurrentRegion = findRoom;
+                            Room.InitAllRoom ();
+                        } else {
+
+                            //if (findRoom == null) {
+                            if (revertRoomData != null && revertRoomData.Count > 0) {
+                                var bFind = false;
+                                foreach (var mHome in revertRoomData) {
+                                    if (UserConfig.Instance.CheckThisHomeGatewaysNotEmpty (mHome)) {
+                                        bFind = true;
+                                        UserConfig.Instance.CurrentRegion = mHome;
+                                        break;
+                                    }
+                                }
+                                //if (!bFind) {
+                                //    UserConfig.Instance.CurrentRegion = revertRoomData [0];
+                                //}
+                                if (!bFind) {
+                                    var findRoom2 = revertRoomData.Find ((obj) => obj.IsOthreShare == false);
+                                    if (findRoom2 != null) {
+                                        UserConfig.Instance.CurrentRegion = findRoom2;
+                                    } else {
+                                        UserConfig.Instance.CurrentRegion = revertRoomData [0];
+                                    }
+                                }
+
+                                IO.FileUtils.DeleteAllFile ();
+                            }
+                            //}else {
+                            //    //鍒锋柊浣忓畢 瑙e喅瀛愯处鍙烽棶棰�
+                            //    UserConfig.Instance.CurrentRegion = findRoom;
+                            //    Room.InitAllRoom ();
+                            //}
+                        }
+
+
+                }
                     ////鍘熸柟妗�
                     //GetAllBindGatewarysPagger (revertRoomData);
                     ////鑾峰彇褰撳墠浣忓畢缃戝叧鏂规
@@ -505,6 +580,10 @@
                 else if (stateCodeStr == "USERNAMEORPWDERROR") {
                     //璐﹀彿鎴栧瘑鐮侀敊璇�
                     mes = ErrorCode.USERNAMEORPWDERROR;
+                    if (CommonConfig.Current.ErrorLockListUpdate (account)) {
+                        return;
+                    }
+
                 } else if (stateCodeStr == "ACCOUNTNOEXISTS") {
                     //璐﹀彿涓嶅瓨鍦�
                     mes = ErrorCode.ACCOUNTNOEXISTS;
@@ -555,28 +634,30 @@
         {
             UserConfig.Instance.SaveUserConfig ();
             MainPage.LoginUser.LastTime = DateTime.Now;
-
             if (UserConfig.Instance.CheckHomeGatewaysNotEmpty ()) {
-                UserConfig.Instance.HomeLists = revertRoomData;
+                //UserConfig.Instance.HomeLists = revertRoomData;
                 MainPage.LoginUser.SaveUserInfo ();
-                UserConfig.Instance.SaveUserConfig ();
+                //UserConfig.Instance.SaveUserConfig ();
                 Scene.Refresh ();
                 A31MusicModel.Refresh ();
                 Application.RunOnMainThread (() => {
                     Close ();
-                    UserMiddle.Init ();
-                    EquipmentPublicClass.CheckLinkRemote (2);
+                    UserMiddle.Init (false, true);
+                    EquipmentPublicClass.CheckLinkRemote (UserConfig.Instance.internetStatus);
                 });
             } else {
 
                 Application.RunOnMainThread (() => {
-                    UserMiddle.Init ();
+                    UserMiddle.Init (false, true);
                     Close ();
                 });
             }
 
         }
 
+
+       
+
         ///// <summary>
         ///// 鏌ヨ褰撳墠浣忓畢 缃戝叧鍒楄〃
         ///// </summary>

--
Gitblit v1.8.0