From 23c075a9c27946773feccf05abc90489a6bf5203 Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期一, 06 七月 2020 15:58:53 +0800
Subject: [PATCH] 20200706

---
 HDL_ON/UI/UI1-Login/RegisterPageBLL.cs |  256 +++++++++++++++++++++++++++++++++-----------------
 1 files changed, 169 insertions(+), 87 deletions(-)

diff --git a/HDL_ON/UI/UI1-Login/RegisterPageBLL.cs b/HDL_ON/UI/UI1-Login/RegisterPageBLL.cs
index fc724b3..859b7d6 100644
--- a/HDL_ON/UI/UI1-Login/RegisterPageBLL.cs
+++ b/HDL_ON/UI/UI1-Login/RegisterPageBLL.cs
@@ -14,12 +14,12 @@
         /// </summary>
         void LoadEventList()
         {
-            LoadPage_SwitchLoginType();
+            LoadPage_SwitchRegisterType();
             LoadEvent_EditTextFcousChange();
             LoadEvent_ChangeTextVisble();
             LoadEvent_GetVerificationCode();
             LoadEvent_Register();
-
+            LoadEvent_LimtPasswordLength();
             LoadEvent_TextChange();
             //var areaCodeList = pm.GetAreaCode();
         }
@@ -28,39 +28,58 @@
         /// </summary>
         void LoadEvent_TextChange()
         {
-            etAccount.TextChangeEventHandler += (sender, e) =>
+            etAccount.TextChangeEventHandler = (sender, e) =>
             {
-                Regex reg = new Regex(@"^[1]+\d{9}");
+                Regex reg = new Regex(@"^[1]+\d{10}");
                 var mFalg = reg.Match(etAccount.Text.Trim());
-                if (!mFalg.Success || (btnGlobalRoaming.Text == "+86" && etAccount.Text.Trim().Length != 11))
+                if (registerType == 0)//鎵嬫満娉ㄥ唽鑾峰彇楠岃瘉鐮佹寜閽敓鏁堟潯浠�
                 {
-                    btnGetVerificationCode.IsSelected = false;
+                    if (btnGlobalRoaming.Text == "+86" && etAccount.Text.Trim().Length != 11)
+                    {
+                        btnGetVerificationCode_Phone.IsSelected = false;
+                    }
+                    else
+                    {
+                        if (btnGetVerificationCode_Phone.Text == Language.StringByID(StringId.GetVerificationCode))
+                            btnGetVerificationCode_Phone.IsSelected = true;
+                    }
                 }
-                else
+                else//閭娉ㄥ唽鑾峰彇楠岃瘉鐮佹寜閽敓鏁堟潯浠�
                 {
-                    btnGetVerificationCode.IsSelected = true;
+                    if (!mFalg.Success )
+                    {
+                        btnGetVerificationCode_Mail.IsSelected = false;
+                    }
+                    else
+                    {
+                        if (btnGetVerificationCode_Mail.Text == Language.StringByID(StringId.GetVerificationCode))
+                            btnGetVerificationCode_Mail.IsSelected = true;
+                    }
                 }
+
             };
         }
 
         /// <summary>
         /// 鍒囨崲娉ㄥ唽绫诲瀷
         /// </summary>
-        void LoadPage_SwitchLoginType()
+        void LoadPage_SwitchRegisterType()
         {
             //閫夋嫨鎵嬫満娉ㄥ唽
-            btnPhoneLogin.MouseUpEventHandler += (sender, e) =>
+            btnPhoneLogin.MouseUpEventHandler = (sender, e) =>
             {
 #if DEBUG
                 etAccount.Text = "17576024298";
 #endif
 
                 #region 鍒囨崲閫変腑鎸夐挳
+                btnGetVerificationCode_Mail.Visible = false;
+                btnGetVerificationCode_Phone.Visible = true;
                 btnEmailLogin.TextColor = CSS_Color.PromptingColor1;
                 btnEmailLogin.TextSize = CSS_FontSize.TextFontSize;
                 btnPhoneLogin.TextColor = CSS_Color.MainColor;
                 btnPhoneLogin.TextSize = CSS_FontSize.EmphasisFontSize_Secondary;
-                etAccount.PlaceholderText = Language.StringByID(StringId.PlsEntryCorrectMobilNeumber);
+                etAccount.PlaceholderText = Language.StringByID(StringId.PlsEntryPhoneNumber);
                 #endregion
 
                 #region 鍒囨崲娉ㄥ唽鏂瑰紡鍙婂浘鏍�
@@ -74,9 +93,15 @@
             };
 
             //閫夋嫨閭娉ㄥ唽
-            btnEmailLogin.MouseUpEventHandler += (sender, e) =>
+            btnEmailLogin.MouseUpEventHandler = (sender, e) =>
             {
+
+#if DEBUG
+                etAccount.Text = "979412578@qq.com";
+#endif
                 #region 鍒囨崲閫変腑鎸夐挳
+                btnGetVerificationCode_Mail.Visible = true;
+                btnGetVerificationCode_Phone.Visible = false;
                 btnPhoneLogin.TextColor = CSS_Color.PromptingColor1;
                 btnPhoneLogin.TextSize = CSS_FontSize.TextFontSize;
                 btnEmailLogin.TextColor = CSS_Color.MainColor;
@@ -112,7 +137,6 @@
                 else
                 {
                     //鏍囪鎵嬫満鍙风爜鏃犳晥
-                    btnGetVerificationCode.IsSelected = false;
                     btnAccountViewBottomLine.BackgroundColor = CSS_Color.DividingLineColor;
                     btnAccountViewBottomLine.Height = Application.GetRealHeight(1);
                     //鎵嬫満娉ㄥ唽-楠岃瘉鎵嬫満鍙风爜鏄惁姝g‘
@@ -120,13 +144,13 @@
                     {
                         if (registerType == 0)
                         {
-
-                            Regex reg = new Regex(@"^[1]+\d{9}");
+                            Regex reg = new Regex(@"^[1]+\d{10}");
                             var mFalg = reg.Match(etAccount.Text.Trim());
                             if (!mFalg.Success || (btnGlobalRoaming.Text == "+86" && etAccount.Text.Trim().Length != 11))
                             {
                                 btnAccountViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2;
                                 btnAccountViewBottomLine.Height = Application.GetRealHeight(2);
+                                btnGetVerificationCode_Phone.IsSelected = false;
                                 new Tip()
                                 {
                                     CloseTime = 3,
@@ -136,10 +160,13 @@
                             }
                             else
                             {
-                                //鏍囪鎵嬫満鍙风爜鏈夋晥
-                                btnGetVerificationCode.IsSelected = true;
+                                if (btnGetVerificationCode_Phone.Text == Language.StringByID(StringId.GetVerificationCode))
+                                {
+                                    //鏍囪鎵嬫満鍙风爜鏈夋晥
+                                    btnGetVerificationCode_Phone.IsSelected = true;
+                                }
                                 //璐﹀彿鏈夋晥銆佸瘑鐮佹湁鏁堛�侀獙璇佺爜杈撳叆浜嗭紝鎵嶈兘鐐瑰嚮娉ㄥ唽
-                                if (btnGetVerificationCode.IsSelected && ValidPassword && !string.IsNullOrEmpty(etVerificationCode.Text.Trim()))
+                                if (ValidPassword && !string.IsNullOrEmpty(etVerificationCode.Text.Trim()))
                                 {
                                     btnRegister.IsSelected = true;
                                 }
@@ -149,12 +176,13 @@
                         {
                             //閭娉ㄥ唽-楠岃瘉閭鏄惁姝g‘
                             var reg = new Regex("^\\s*([A-Za-z0-9_-]+(\\.\\w+)*@(\\w+\\.)+\\w{2,5})\\s*$");
-                            Regex.IsMatch(etAccount.Text.Trim(), "^[\\w-]+@[\\w-]+\\.(com|net|org|edu|mil|tv|biz|info)$");
+                            //Regex.IsMatch(etAccount.Text.Trim(), "([a-zA-Z0-9_\\.\\-])+\\@(([a-zA-Z0-9\\-])+\\.)+([a-zA-Z0-9]{2,5})+");
                             var mFalg = reg.Match(etAccount.Text.Trim());
                             if (!mFalg.Success)
                             {
                                 btnAccountViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2;
                                 btnAccountViewBottomLine.Height = Application.GetRealHeight(2);
+                                btnGetVerificationCode_Mail.IsSelected = false;
                                 new Tip()
                                 {
                                     CloseTime = 3,
@@ -164,10 +192,12 @@
                             }
                             else
                             {
-                                //鏍囪鎵嬫満鍙风爜鏈夋晥
-                                btnGetVerificationCode.IsSelected = true;
+                                if (btnGetVerificationCode_Mail.Text == Language.StringByID(StringId.GetVerificationCode))
+                                {//鏍囪鎵嬫満鍙风爜鏈夋晥
+                                    btnGetVerificationCode_Mail.IsSelected = true;
+                                }
                                 //璐﹀彿鏈夋晥銆佸瘑鐮佹湁鏁堛�侀獙璇佺爜杈撳叆浜嗭紝鎵嶈兘鐐瑰嚮娉ㄥ唽
-                                if (btnGetVerificationCode.IsSelected && ValidPassword && string.IsNullOrEmpty(etVerificationCode.Text.Trim()))
+                                if (ValidPassword && string.IsNullOrEmpty(etVerificationCode.Text.Trim()))
                                 {
                                     btnRegister.IsSelected = true;
                                 }
@@ -187,11 +217,13 @@
                 }
                 else
                 {
+                    if (etPassword.Text.Length == 0)
+                        return;
                     //闇�瑕佽緭鍏�6浣嶄互涓婄殑瀵嗙爜
-                    if (etPassword.Text.Length < 6)
+                    if (etPassword.Text.Length < 6|| etPassword.Text.Length >13)
                     {
-                        btnRepeatPasswordViewBottomLine.BackgroundColor = CSS_Color.DividingLineColor;
-                        btnRepeatPasswordViewBottomLine.Height = Application.GetRealHeight(1);
+                        btnPasswordViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2;
+                        btnPasswordViewBottomLine.Height = Application.GetRealHeight(2);
 
                         new Tip()
                         {
@@ -218,6 +250,8 @@
                 }
                 else
                 {
+                    if (etRepeatPassword.Text.Length == 0)
+                        return;
                     btnRepeatPasswordViewBottomLine.BackgroundColor = CSS_Color.DividingLineColor;
                     btnRepeatPasswordViewBottomLine.Height = Application.GetRealHeight(1);
                     //鏍¢獙涓ゆ杈撳叆鐨勫瘑鐮佹槸鍚︿竴鑷�
@@ -238,7 +272,7 @@
                         {
                             ValidPassword = true;
                             //璐﹀彿鏈夋晥銆佸瘑鐮佹湁鏁堛�侀獙璇佺爜杈撳叆浜嗭紝鎵嶈兘鐐瑰嚮娉ㄥ唽
-                            if (btnGetVerificationCode.IsSelected && ValidPassword && !string.IsNullOrEmpty(etVerificationCode.Text.Trim()))
+                            if (ValidPassword && !string.IsNullOrEmpty(etVerificationCode.Text.Trim()))
                             {
                                 btnRegister.IsSelected = true;
                             }
@@ -262,11 +296,31 @@
                     if (etVerificationCode.Text.Length > 1)
                     {
                         //璐﹀彿鏈夋晥銆佸瘑鐮佹湁鏁堛�侀獙璇佺爜杈撳叆浜嗭紝鎵嶈兘鐐瑰嚮娉ㄥ唽
-                        if (btnGetVerificationCode.IsSelected && ValidPassword)
+                        if (ValidPassword)
                         {
                             btnRegister.IsSelected = true;
                         }
                     }
+                }
+            };
+        }
+
+        /// <summary>
+        /// 闄愬埗瀵嗙爜鏂囨湰搴撹緭鍏ラ暱搴�
+        /// </summary>
+        void LoadEvent_LimtPasswordLength()
+        {
+            etPassword.TextChangeEventHandler = (sender, e) => {
+                if(etPassword.Text.Length>16)
+                {
+                    etPassword.Text = etPassword.Text.Remove(15);
+                }
+            };
+
+            etRepeatPassword.TextChangeEventHandler = (sender, e) => {
+                if (etRepeatPassword.Text.Length > 16)
+                {
+                    etRepeatPassword.Text = etRepeatPassword.Text.Remove(15);
                 }
             };
         }
@@ -295,62 +349,78 @@
         /// </summary>
         void LoadEvent_GetVerificationCode()
         {
-            btnGetVerificationCode.MouseUpEventHandler += (sender, e) =>
-            {
-                if (btnGetVerificationCode.IsSelected)
-                {
-                    //鑾峰彇楠岃瘉鐮�
-                    var result = pm.GetPhoneRegisterVerCode(etAccount.Text.Trim());
-                    if (result.StateCode == "Success")
-                    {
-                        //鐭俊鍙戦�侀棿闅�60s
-                        btnGetVerificationCode.IsSelected = false;
-                        int time = 60;
-                        new Thread(() =>
-                        {
-                            while (time > 0)
-                            {
-                                time--;
-                                Application.RunOnMainThread(() =>
-                                {
-                                    btnGetVerificationCode.Text = time.ToString() + "s";
-                                });
-                                Thread.Sleep(1000);
-                            }
-                            Application.RunOnMainThread(() =>
-                            {
-                                //鍥炲鑾峰彇鐭俊鎸夐挳浜嬩欢
-                                btnGetVerificationCode.IsSelected = true;
-                                btnGetVerificationCode.TextID = StringId.GetVerificationCode;
-                            });
-                        })
-                        { IsBackground = true }.Start();
-                    }
-                    else
-                    {
-                        string tipString = "Server error";
-                        switch (result.StateCode)
-                        {
-                            case "Exist":
-                                tipString = Language.StringByID(StringId.AccountAlreadyExists);
-                                break;
-                            case "SendFail":
-                                tipString = Language.StringByID(StringId.FailedToSendVerificationCode);
-                                break;
-                            case "Self:Net_Error":
-                                tipString = Language.StringByID(StringId.NetworkAnomaly);
-                                break;
-                        }
+            EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
+           {
+               if ((sender as Button).IsSelected)
+               {
+                   (sender as Button).IsSelected = false;
+                   string account = etAccount.Text.Trim();
+                    //鐭俊鍙戦�侀棿闅�60s
+                    int time = 60;
+                   new Thread(() =>
+                   {
+                       while (time > 0)
+                       {
+                           time--;
+                           Application.RunOnMainThread(() =>
+                           {
+                               (sender as Button).Text = time.ToString() + "s";
+                           });
+                           Thread.Sleep(1000);
+                       }
+                       Application.RunOnMainThread(() =>
+                       {
+                            //鍥炲鑾峰彇鐭俊鎸夐挳浜嬩欢
+                            (sender as Button).IsSelected = true;
+                           (sender as Button).TextID = StringId.GetVerificationCode;
+                       });
+                   })
+                   { IsBackground = true }.Start();
+                   new Thread(() =>
+                   {
+                        //鑾峰彇楠岃瘉鐮�
+                        var result = pm.GetPhoneRegisterVerCode(account);
+                       if (result.StateCode.ToUpper() == "SUCCESS")
+                       {
+                       }
+                       else
+                       {
+                           string tipString = "Server error";
+                           switch (result.StateCode)
+                           {
+                               case "Exist":
+                                   tipString = Language.StringByID(StringId.AccountAlreadyExists);
+                                   break;
+                               case "SendFail":
+                                   tipString = Language.StringByID(StringId.FailedToSendVerificationCode);
+                                   break;
+                               case "Self:Net_Error":
+                                   tipString = Language.StringByID(StringId.NetworkAnomaly);
+                                   break;
+                               case "ParameterOrEmpty":
+                                   if (registerType == 0)
+                                       tipString = Language.StringByID(StringId.PlsEntryCorrectMobilNeumber);
+                                   else
+                                       tipString = Language.StringByID(StringId.PlsEntryCorrectEmailAddress);
+                                   break;
+                           }
+                           Application.RunOnMainThread(() =>
+                           {
+                               new Tip()
+                               {
+                                   CloseTime = 3,
+                                   Direction = AMPopTipDirection.None,
+                                   Text = tipString
+                               }.Show(bodyView);
+                           });
+                       }
+                   })
+                   { IsBackground = true }.Start();
+               }
+           };
 
-                        new Tip()
-                        {
-                            CloseTime = 3,
-                            Direction = AMPopTipDirection.None,
-                            Text = tipString
-                        }.Show(bodyView);
-                    }
-                }
-            };
+            btnGetVerificationCode_Phone.MouseDownEventHandler = eventHandler;
+            btnGetVerificationCode_Mail.MouseDownEventHandler = eventHandler;
         }
 
         /// <summary>
@@ -358,12 +428,12 @@
         /// </summary>
         void LoadEvent_Register()
         {
-            btnRegister.MouseUpEventHandler += (sender, e) =>
+            btnRegister.MouseUpEventHandler = (sender, e) =>
             {
                 if (btnRegister.IsSelected)
                 {
                     waitPage = new Loading();
-                    new WaitPageMothed().LoadPage_WaitPage(LoadMethod_RegisterThread(), bodyView, waitPage);
+                    new PublicAssmebly().LoadPage_WaitPage(LoadMethod_RegisterThread(), bodyView, waitPage);
                 }
             };
         }
@@ -384,12 +454,16 @@
                      //鏍¢獙楠岃瘉鐮�/娉ㄥ唽璐﹀彿
                      var validateSmsResult = pm.ValidataCodeAndRegister(account, password, entryPassword, verCode, 86);
                      //楠岃瘉鐮佹牎楠屾垚鍔�
-                     if (validateSmsResult.StateCode == "Success")
+                     if (validateSmsResult.StateCode.ToUpper() == "SUCCESS")
                      {
                          //娉ㄥ唽鎴愬姛
                          //鎵ц鍥炶皟浜嬩欢
-                         this.Close();
-                         callbackAction?.Invoke(account);
+                         //callbackAction?.Invoke(account);
+                         Application.RunOnMainThread(() =>
+                         {
+                            this.Close();
+                             LoadEvent_AutoLogin(account, password);
+                         });
                      }
                      else//娉ㄥ唽澶辫触
                      {
@@ -405,6 +479,14 @@
                              case "ValidCodeAndPhoneNoEqual":
                                  erorrInfo = Language.StringByID(StringId.VerificationCodeWrong);
                                  break;
+                             case "NoRecord":
+                                 erorrInfo = Language.StringByID(StringId.PlsGetTheVerificationCode);
+                                 Application.RunOnMainThread(() =>
+                                 {
+                                     btnVerificationCodeViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2;
+                                     btnVerificationCodeViewBottomLine.Height = Application.GetRealHeight(2);
+                                 });
+                                 break;
                              default:
                                  erorrInfo = Language.StringByID(StringId.RegistrationFailedPleaseTryAgain);
                                  break;

--
Gitblit v1.8.0