From af1cb3ecd0f4b0589e00b28f7f9edccf39e6e12b Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期四, 10 九月 2020 16:15:11 +0800
Subject: [PATCH] 202009101

---
 HDL_ON/UI/UI1-Login/LoginPageBLL.cs |  255 ++++++++++++++++++++++++++++++++++----------------
 1 files changed, 171 insertions(+), 84 deletions(-)

diff --git a/HDL_ON/UI/UI1-Login/LoginPageBLL.cs b/HDL_ON/UI/UI1-Login/LoginPageBLL.cs
index 70526e5..10c3df6 100644
--- a/HDL_ON/UI/UI1-Login/LoginPageBLL.cs
+++ b/HDL_ON/UI/UI1-Login/LoginPageBLL.cs
@@ -31,9 +31,9 @@
         /// </summary>
         void GetVerificationCode()
         {
-            btnGetVerificationCode.MouseUpEventHandler += (sender, e) =>
+            btnGetVerificationCode.MouseUpEventHandler = (sender, e) =>
             {
-                if (!btnGetVerificationCode.IsSelected)
+                if (btnGetVerificationCode.IsSelected)
                 {
                     string phoneNumber = etAccount.Text.Trim();
                     if (string.IsNullOrEmpty(phoneNumber))
@@ -41,7 +41,7 @@
                         var tip = new Tip()
                         {
                             Text = Language.StringByID(StringId.PlsEntryPhoneNumber),
-                            CloseTime = 3,
+                            CloseTime = 1,
                             Direction = AMPopTipDirection.None
                         };
                         tip.Show(bodyView);
@@ -50,12 +50,12 @@
                         btnAccountViewBottomLine.Height = Application.GetRealHeight(2);
                         return;
                     }
-                    if (!Regex.IsMatch(account, @"^[1]+\d{10}"))
+                    if (!Regex.IsMatch(account, @"^[1]+\d{10}") || (account.Length != 11))
                     {
                         var tip = new Tip()
                         {
                             Text = Language.StringByID(StringId.PlsEntryCorrectMobilNeumber),
-                            CloseTime = 3,
+                            CloseTime = 1,
                             Direction = AMPopTipDirection.None
                         };
                         tip.Show(bodyView);
@@ -64,12 +64,12 @@
                         btnAccountViewBottomLine.Height = Application.GetRealHeight(2);
                         return;
                     }
-                    btnGetVerificationCode.IsSelected = true;
+                    btnGetVerificationCode.IsSelected = false ;
                     btnGetVerificationCode.TextColor = CSS_Color.PromptingColor1;
                     int time = 60;
                     new Thread(() =>
                     {
-                        while (time < 0)
+                        while (time > 0)
                         {
                             time--;
                             Application.RunOnMainThread(() =>
@@ -80,7 +80,7 @@
                         }
                         Application.RunOnMainThread(() =>
                         {
-                            btnGetVerificationCode.IsSelected = false;
+                            btnGetVerificationCode.IsSelected = true;
                             btnGetVerificationCode.TextID = StringId.GetVerificationCode;
                         });
                     })
@@ -88,18 +88,13 @@
                     new Thread(() =>
                     {
                         //鑾峰彇楠岃瘉鐮�
-                        var result = pm.GetPhoneLoginVerCode(phoneNumber);
-                        if (result.StateCode == "SUCCESS")
+                        var result = pm.GetLoginVerCode(phoneNumber);
+                        if (result.StateCode.ToUpper() == "SUCCESS")
                         {
                         }
                         //鐧诲綍澶辫触
                         else
                         {
-                            Application.RunOnMainThread(() =>
-                            {
-                                btnGetVerificationCode.IsSelected = false;
-                                btnGetVerificationCode.TextID = StringId.GetVerificationCode;
-                            });
                             string tipStr = "Sever erorr";
                             switch (result.StateCode.ToUpper())
                             {
@@ -136,13 +131,11 @@
                                 //鎻愮ず鍘熷洜
                                 var tip = new Tip()
                                 {
-
                                     Text = tipStr,
-                                    CloseTime = 3,
+                                    CloseTime = 1,
                                     Direction = AMPopTipDirection.None
                                 };
                                 tip.Show(bodyView);
-                                btnGetVerificationCode.IsSelected = false;
                             });
                         }
                     })
@@ -157,8 +150,12 @@
         void LoadPage_SwitchLoginType()
         {
             //閫夋嫨鎵嬫満鐧诲綍
-            btnPhoneLogin.MouseUpEventHandler += (sender, e) =>
+            btnPhoneLogin.MouseUpEventHandler = (sender, e) =>
             {
+                if (loginType == 0)
+                    return;
+                etAccount.Text = registerPhone;
+                etPassword.Text = "";
                 #region 鍒囨崲閫変腑鎸夐挳
                 btnEmailLogin.TextColor = CSS_Color.PromptingColor1;
                 btnEmailLogin.TextSize = CSS_FontSize.TextFontSize;
@@ -168,7 +165,7 @@
                 #endregion
 
                 #region 鍒囨崲鐧诲綍鏂瑰紡鍙婂浘鏍�
-                logintType = 0;
+                loginType = 0;
                 if (btnAccountIcon.Parent != null)
                 {
                     btnAccountIcon.RemoveFromParent();
@@ -177,11 +174,45 @@
                 //鏄剧ず楠岃瘉鐮佺櫥褰曟柟寮忥紝鎵嬫満鐧诲綍鏈夐獙璇佺爜鐧诲綍
                 btnSwitchLoginMode.Visible = true;
                 #endregion
+
+                #region
+                if (logintMode == 1)
+                {
+                    if (Regex.IsMatch(account, @"^[1]+\d{10}") && (account.Length == 11) && btnGetVerificationCode.Text == Language.StringByID(StringId.GetVerificationCode))
+                    {
+                        btnGetVerificationCode.IsSelected = true;
+                    }
+                    btnSwitchLoginMode.TextID = StringId.PasswordLogin;
+                    //passwordView.AddChidren(btnGetVerificationCode);
+                    btnGetVerificationCode.Visible = true;
+                    etPassword.PlaceholderText = Language.StringByID(StringId.PlsEntryVerificationCode);
+                    btnPasswordIcon.IsSelected = true;
+                    if (btnVisiblePassword.Parent != null)
+                    {
+                        btnVisiblePassword.RemoveFromParent();
+                    }
+                    if (btnDividingLineVertical_PasswordView2.Parent != null)
+                    {
+                        btnDividingLineVertical_PasswordView2.RemoveFromParent();
+                    }
+                    if (btnForgetPassword.Parent != null)
+                    {
+                        btnForgetPassword.RemoveFromParent();
+                    }
+                    //楠岃瘉鐮佷笉闇�瑕侀殣钘�
+                    etPassword.SecureTextEntry = false;
+                }
+                #endregion
+
             };
 
             //閫夋嫨閭鐧诲綍
             btnEmailLogin.MouseUpEventHandler += (sender, e) =>
             {
+                if (loginType == 1)
+                    return;
+                etAccount.Text = registerEmail;
+                etPassword.Text = "";
                 #region 鍒囨崲閫変腑鎸夐挳
                 btnPhoneLogin.TextColor = CSS_Color.PromptingColor1;
                 btnPhoneLogin.TextSize = CSS_FontSize.TextFontSize;
@@ -191,7 +222,7 @@
                 #endregion
 
                 #region 鍒囨崲鐧诲綍绫诲瀷鍙婂浘鏍�
-                logintType = 1;
+                loginType = 1;
                 if (btnGlobalRoaming.Parent != null)
                 {
                     btnGlobalRoaming.RemoveFromParent();
@@ -200,7 +231,7 @@
                 #endregion
 
                 //閭鍙湁瀵嗙爜鐧诲綍妯″紡
-                logintMode = 0;
+                //logintMode = 0;
                 //瀵嗙爜鐧诲綍
                 btnSwitchLoginMode.TextID = StringId.VerificationCodeLogin;
                 passwordView.AddChidren(btnVisiblePassword);
@@ -208,10 +239,11 @@
                 passwordView.AddChidren(btnForgetPassword);
                 btnPasswordIcon.IsSelected = false;
 
-                if (btnGetVerificationCode.Parent != null)
-                {
-                    btnGetVerificationCode.RemoveFromParent();
-                }
+                //if (btnGetVerificationCode.Parent != null)
+                //{
+                    //btnGetVerificationCode.RemoveFromParent();
+                    btnGetVerificationCode.Visible = false;
+                //}
                 //闅愯棌瀵嗙爜
                 etPassword.SecureTextEntry = true;
                 //闅愯棌楠岃瘉鐮佺櫥褰曟柟寮忥紝閭鐧诲綍娌℃湁楠岃瘉鐮佺櫥褰�
@@ -225,7 +257,7 @@
         /// </summary>
         void LoadPage_SwitchLoginMode()
         {
-            btnSwitchLoginMode.MouseUpEventHandler += (sender, e) =>
+            btnSwitchLoginMode.MouseUpEventHandler = (sender, e) =>
             {
                 logintMode = logintMode == 0 ? 1 : 0;
                 //娓呴櫎瀵嗙爜妗嗘枃鏈暟鎹�
@@ -236,20 +268,27 @@
                     btnSwitchLoginMode.TextID = StringId.VerificationCodeLogin;
                     passwordView.AddChidren(btnVisiblePassword);
                     passwordView.AddChidren(btnDividingLineVertical_PasswordView2);
+                    etPassword.PlaceholderText = Language.StringByID(StringId.PlsEntryPassword);
                     passwordView.AddChidren(btnForgetPassword);
                     btnPasswordIcon.IsSelected = false;
-                    if (btnGetVerificationCode.Parent != null)
-                    {
-                        btnGetVerificationCode.RemoveFromParent();
-                    }
+                    //if (btnGetVerificationCode.Parent != null)
+                    //{
+                        //btnGetVerificationCode.RemoveFromParent();
+                        btnGetVerificationCode.Visible = false;
+                    //}
                     //闅愯棌瀵嗙爜
                     etPassword.SecureTextEntry = true;
                 }
                 //楠岃瘉鐮佺櫥褰�
                 else if (logintMode == 1)
                 {
+                    if (Regex.IsMatch(account, @"^[1]+\d{10}") && (account.Length == 11) && btnGetVerificationCode.Text == Language.StringByID(StringId.GetVerificationCode))
+                    {
+                        btnGetVerificationCode.IsSelected = true;
+                    }
                     btnSwitchLoginMode.TextID = StringId.PasswordLogin;
-                    passwordView.AddChidren(btnGetVerificationCode);
+                    //passwordView.AddChidren(btnGetVerificationCode);
+                    btnGetVerificationCode.Visible = true;
                     etPassword.PlaceholderText = Language.StringByID(StringId.PlsEntryVerificationCode);
                     btnPasswordIcon.IsSelected = true;
                     if (btnVisiblePassword.Parent != null)
@@ -276,7 +315,7 @@
         void LoadPage_SelectionEditText()
         {
             //褰撶劍鐐瑰湪璐﹀彿鏂囨湰妗嗘椂锛屾枃鏈搴曠嚎鐐逛寒
-            etAccount.FoucsChanged += (sender, e) =>
+            etAccount.FoucsChanged = (sender, e) =>
             {
                 if (etAccount.Foucs)
                 {
@@ -288,22 +327,37 @@
                     btnAccountViewBottomLine.BackgroundColor = CSS_Color.DividingLineColor;
                     btnAccountViewBottomLine.Height = Application.GetRealHeight(1);
                     account = etAccount.Text.Trim();
+                    if (loginType == 0)
+                    {
+                        registerPhone = account;
+                    }
+                    else
+                    {
+                        registerEmail = account;
+                    }
                     if (account.Length == 0)
                         return;
-                    if (logintType == 0)
+                    if (loginType == 0)
                     {
-                        if (!Regex.IsMatch(account, @"^[1]+\d{10}"))
+                        if (!Regex.IsMatch(account, @"^[1]+\d{10}") || (account.Length != 11))
                         {
                             var tip = new Tip()
                             {
                                 Text = Language.StringByID(StringId.PlsEntryCorrectMobilNeumber),
-                                CloseTime = 3,
+                                CloseTime = 1,
                                 Direction = AMPopTipDirection.None
                             };
                             tip.Show(bodyView);
 
                             btnAccountViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2;
                             btnAccountViewBottomLine.Height = Application.GetRealHeight(2);
+                        }
+                        else
+                        {
+                            if (btnGetVerificationCode.Text == Language.StringByID(StringId.GetVerificationCode))
+                            {
+                                btnGetVerificationCode.IsSelected = true;
+                            }
                         }
                     }
                     else
@@ -313,7 +367,7 @@
                             var tip = new Tip()
                             {
                                 Text = Language.StringByID(StringId.PlsEntryCorrectEmailAddress),
-                                CloseTime = 3,
+                                CloseTime = 1,
                                 Direction = AMPopTipDirection.None
                             };
                             tip.Show(bodyView);
@@ -324,7 +378,7 @@
                 }
             };
             //褰撶劍鐐瑰湪瀵嗙爜鏂囨湰妗嗘椂锛屾枃鏈搴曠嚎鐐逛寒
-            etPassword.FoucsChanged += (sender, e) =>
+            etPassword.FoucsChanged = (sender, e) =>
             {
                 if (etPassword.Foucs)
                 {
@@ -346,8 +400,13 @@
             //褰撶劍鐐瑰湪瀵嗙爜鏂囨湰妗嗘椂锛岀偣鍑婚敭鐩樺洖鎾ゆ寜閿紝瑙﹀彂鐨勪簨浠�
             etPassword.EditorEnterAction += (obj) =>
             {
-                etPassword.Foucs = false;
+                Application.HideSoftInput();
             };
+            etPassword.MouseUpEventHandler = (sender, e) =>
+            {
+                etPassword.Foucs = true;
+            };
+
         }
 
         /// <summary>
@@ -381,14 +440,14 @@
                     account = etAccount.Text.Trim();
                     password = etPassword.Text.Trim();
 
-                    if (logintType == 0)
+                    if (loginType == 0)
                     {
-                        if (!Regex.IsMatch(account, @"^[1]+\d{10}"))
+                        if (!Regex.IsMatch(account, @"^[1]+\d{10}") && account.Length == 11)
                         {
                             var tip = new Tip()
                             {
                                 Text = Language.StringByID(StringId.PlsEntryCorrectMobilNeumber),
-                                CloseTime = 3,
+                                CloseTime = 1,
                                 Direction = AMPopTipDirection.None
                             };
                             tip.Show(bodyView);
@@ -402,7 +461,7 @@
                             var tip = new Tip()
                             {
                                 Text = Language.StringByID(StringId.PlsEntryCorrectEmailAddress),
-                                CloseTime = 3,
+                                CloseTime = 1,
                                 Direction = AMPopTipDirection.None
                             };
                             tip.Show(bodyView);
@@ -414,19 +473,29 @@
                     var loginThread = LoadThread_Login();
                     waitPage = new Loading();
                     new PublicAssmebly().LoadPage_WaitPage(loginThread, bodyView, waitPage);
-
                 }
             };
             #region 褰撹处鍙峰瘑鐮侀兘杈撳叆鏃讹紝鎵嶈兘鐐瑰嚮鐧诲綍鎸夐挳
-            etAccount.TextChangeEventHandler += (sender, e) =>
+            etAccount.TextChangeEventHandler = (sender, e) =>
             {
-                if (etAccount.Text.Trim().Length > 0 && etPassword.Text.Trim().Length > 0)
+                account = etAccount.Text.Trim();
+                if (account.Length > 0 && etPassword.Text.Trim().Length > 0)
                 {
                     btnLogin.IsSelected = true;
                 }
                 else
                 {
                     btnLogin.IsSelected = false;
+                }
+                if (Regex.IsMatch(account, @"^[1]+\d{10}") )//&& account.Length == 11)
+                {
+                    btnGetVerificationCode.IsSelected = true;
+                    btnGetVerificationCode.TextColor = CSS_Color.MainBackgroundColor;
+                }
+                else
+                {
+                    btnGetVerificationCode.IsSelected = false;
+                    btnGetVerificationCode.TextColor = CSS_Color.PromptingColor1;
                 }
             };
             etPassword.TextChangeEventHandler += (sender, e) =>
@@ -454,6 +523,18 @@
                 {
                     //鐧诲綍
                     var loginResult = LoadMethod_Login();
+                    if( !string.IsNullOrEmpty (verAccount))//楠岃瘉鐧诲綍璐﹀彿
+                    {
+                        Application.RunOnMainThread(() =>
+                        {
+                            if (verAccount == etPassword.Text.Trim())
+                            {
+                                //璺宠浆椤甸潰----
+                                MainPage.GoUserPage();
+                                return;
+                            }
+                        });
+                    }
                     if (loginResult)
                     {
                         //鑾峰彇浣忓畢淇℃伅
@@ -464,11 +545,22 @@
                              * Wait : 鎺ㄩ�佹敞鍐�
                              */
 
+                            /*
+                             鏌ョ湅鏈湴鏄惁瀛樺湪鏁版嵁
+                             瀛樺湪鍒欏鍑�
+                             */
+                            var isExis = FileUtils.IsExisFolder(DB_ResidenceData.residenceData.CurReginID);
+                            if (isExis)
+                            {
+                                FileUtils.DeleteAllFile();
+                                string regionRootPath = FileUtils.CreateRegionBackup(DB_ResidenceData.residenceData.CurReginID);
+                                FileUtils.RestoreRegionFiles(regionRootPath);
+                                DB_ResidenceData.residenceData.EixtAccount();
+                                OnAppConfig.Instance.RefreshUserConfig();
+                                DB_ResidenceData.InitRoomFunction();
+                            }
                             Application.RunOnMainThread(() =>
                             {
-                                waitPage.RemoveFromParent();
-                                waitPage = null;
-
                                 //璺宠浆椤甸潰----
                                 MainPage.GoUserPage();
                             });
@@ -478,6 +570,18 @@
                 catch (Exception ex)
                 {
                     MainPage.Log($"LoginPage : {ex.Message}");
+                }
+                finally
+                {
+                    Application.RunOnMainThread(() =>
+                    {
+                        if (waitPage != null)
+                        {
+                            waitPage.RemoveFromParent();
+                            waitPage = null;
+                        }
+
+                    });
                 }
             })
             { IsBackground = true };
@@ -490,17 +594,17 @@
         {
             var result = false;
             ResponsePack loginResult;
-            if (logintMode == 0)
+            if (logintMode == 0 || loginType == 1)
             {
                 //璋冪敤鐧诲綍鎺ュ彛
                 loginResult = pm.LoginByPassword(account, password);
             }
             else
             {
-                //璋冪敤鐧诲綍鎺ュ彛
+                //璋冪敤楠岃瘉鐮佺櫥褰曟帴鍙�
                 loginResult = pm.LoginValidCode(account, password);
             }
-            if (loginResult.StateCode == "SUCCESS")
+            if (loginResult.StateCode.ToUpper() == "SUCCESS")
             {
                 var loginDataStr = Newtonsoft.Json.Linq.JObject.FromObject(loginResult.ResponseData);
 
@@ -510,10 +614,10 @@
                     ID = (int)loginDataStr.GetValue("UserID"),
                     masterID = (int)loginDataStr.GetValue("MainUserID"),
                     accountType = (int)loginDataStr.GetValue("UserType"),
+                    loginTokenString = loginDataStr.GetValue("Token").ToString(),
                     accountString = account,
                     password = password,
                     lastTime = DateTime.Now,
-                    SIP_Account = loginDataStr.GetValue("AllVisionRegisterDevUserNameGuid").ToString(),
                     userName = loginDataStr.GetValue("Remark").ToString(),
                 };
                 MainPage.LoginUser.SaveUserInfo();
@@ -532,6 +636,14 @@
                 string tipStr = "Sever erorr";
                 switch (loginResult.StateCode)
                 {
+                    case "ValidCodeAndPhoneNoEqual":
+                        tipStr = Language.StringByID(StringId.VerificationCodeError);
+                        Application.RunOnMainThread(() =>
+                        {
+                            btnPasswordViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2;
+                            btnPasswordViewBottomLine.Height = Application.GetRealHeight(2);
+                        });
+                        break;
                     case "USERNAMEORPWDERROR":
                         tipStr = Language.StringByID(StringId.LoginFailed_AccountOrPasswordError);
                         Application.RunOnMainThread(() =>
@@ -563,7 +675,7 @@
                     var tip = new Tip()
                     {
                         Text = tipStr,
-                        CloseTime = 3,
+                        CloseTime = 1,
                         Direction = AMPopTipDirection.None
                     };
                     tip.Show(bodyView);
@@ -579,39 +691,15 @@
         {
             var result = false;
             var responsePack = pm.GetHomePager();
-            if (responsePack.StateCode == "Success")
-            {
-                var dataStr = Newtonsoft.Json.Linq.JObject.FromObject(responsePack.ResponseData);
-                //娌℃湁浣忓畢
-                if (dataStr.GetValue("PageData").ToString() == "[]")
-                {
 
-                }
-                else
-                {
-                    MainPage.LoginUser.regionList = new List<RegionInfoRes>();
-                    foreach (var jsonData in dataStr.GetValue("PageData"))
-                    {
-                        var homeJsonStr = Newtonsoft.Json.Linq.JObject.FromObject(jsonData);
-                        var home = new RegionInfoRes()
-                        {
-                            RegionID = homeJsonStr.GetValue("Id").ToString(),
-                            RegionName = homeJsonStr.GetValue("RegionName").ToString(),
-                            Name = homeJsonStr.GetValue("Name").ToString(),
-                            Address = homeJsonStr.GetValue("Address").ToString(),
-                        };
-                        MainPage.LoginUser.regionList.Add(home);
-                    }
-                    DB_ResidenceData.residenceData.residecenInfo = MainPage.LoginUser.regionList[0];
-                    DB_ResidenceData.residenceData.SaveResidenceData();
-                    MainPage.LoginUser.SaveUserInfo();
-                }
+            if (responsePack == "Success")
+            {
                 result = true;
             }
             else
             {
                 var tipStr = "Server erorr";
-                switch (responsePack.StateCode)
+                switch (responsePack)
                 {
                     case "NoLogin":
                         tipStr = Language.StringByID(StringId.InvalidLoginCertificate);
@@ -623,12 +711,11 @@
                     var tip = new Tip()
                     {
                         Text = tipStr,
-                        CloseTime = 3,
+                        CloseTime = 1,
                         Direction = AMPopTipDirection.None
                     };
                     tip.Show(bodyView);
                 });
-
             }
             return result;
         }
@@ -689,4 +776,4 @@
             };
         }
     }
-}
+}
\ No newline at end of file

--
Gitblit v1.8.0