From a715181089be0d31cd737a5367ffd02690b9d77f Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期四, 12 十一月 2020 13:36:01 +0800 Subject: [PATCH] 20201112 --- HDL_ON/UI/UI1-Login/RegisterPageBLL.cs | 411 ++++++++++++++++++++++++++++++++++------------------------ 1 files changed, 241 insertions(+), 170 deletions(-) diff --git a/HDL_ON/UI/UI1-Login/RegisterPageBLL.cs b/HDL_ON/UI/UI1-Login/RegisterPageBLL.cs index 6996dec..d997321 100644 --- a/HDL_ON/UI/UI1-Login/RegisterPageBLL.cs +++ b/HDL_ON/UI/UI1-Login/RegisterPageBLL.cs @@ -19,7 +19,7 @@ LoadEvent_ChangeTextVisble(); LoadEvent_GetVerificationCode(); LoadEvent_Register(); - + LoadEvent_LimtPasswordLength(); LoadEvent_TextChange(); //var areaCodeList = pm.GetAreaCode(); } @@ -28,19 +28,35 @@ /// </summary> void LoadEvent_TextChange() { - etAccount.TextChangeEventHandler += (sender, e) => + etAccount.TextChangeEventHandler = (sender, e) => { 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//閭娉ㄥ唽鑾峰彇楠岃瘉鐮佹寜閽敓鏁堟潯浠� { - if (btnGetVerificationCode.Text == Language.StringByID(StringId.GetVerificationCode)) - btnGetVerificationCode.IsSelected = true; + if (!mFalg.Success) + { + btnGetVerificationCode_Mail.IsSelected = false; + } + else + { + if (btnGetVerificationCode_Mail.Text == Language.StringByID(StringId.GetVerificationCode)) + btnGetVerificationCode_Mail.IsSelected = true; + } } + }; } @@ -50,18 +66,23 @@ void LoadPage_SwitchRegisterType() { //閫夋嫨鎵嬫満娉ㄥ唽 - btnPhoneLogin.MouseUpEventHandler += (sender, e) => + btnPhoneLogin.MouseUpEventHandler = (sender, e) => { -#if DEBUG - etAccount.Text = "17576024298"; -#endif - + if(registerType == 0) + { + return; + } + etAccount.Text = registerPhone; + etPassword.Text = ""; + etRepeatPassword.Text = ""; #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 鍒囨崲娉ㄥ唽鏂瑰紡鍙婂浘鏍� @@ -75,13 +96,16 @@ }; //閫夋嫨閭娉ㄥ唽 - btnEmailLogin.MouseUpEventHandler += (sender, e) => + btnEmailLogin.MouseUpEventHandler = (sender, e) => { - -#if DEBUG - etAccount.Text = "979412578@qq.com"; -#endif + if (registerType == 1) + return; + etAccount.Text = registerEmail; + etPassword.Text = ""; + etRepeatPassword.Text = ""; #region 鍒囨崲閫変腑鎸夐挳 + btnGetVerificationCode_Mail.Visible = true; + btnGetVerificationCode_Phone.Visible = false; btnPhoneLogin.TextColor = CSS_Color.PromptingColor1; btnPhoneLogin.TextSize = CSS_FontSize.TextFontSize; btnEmailLogin.TextColor = CSS_Color.MainColor; @@ -117,7 +141,6 @@ else { //鏍囪鎵嬫満鍙风爜鏃犳晥 - btnGetVerificationCode.IsSelected = false; btnAccountViewBottomLine.BackgroundColor = CSS_Color.DividingLineColor; btnAccountViewBottomLine.Height = Application.GetRealHeight(1); //鎵嬫満娉ㄥ唽-楠岃瘉鎵嬫満鍙风爜鏄惁姝g‘ @@ -125,29 +148,29 @@ { if (registerType == 0) { - 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, + CloseTime = 1, Text = Language.StringByID(StringId.PlsEntryCorrectMobilNeumber), Direction = AMPopTipDirection.None, }.Show(bodyView); } else { - if (btnGetVerificationCode.Text == Language.StringByID(StringId.GetVerificationCode)) + if (btnGetVerificationCode_Phone.Text == Language.StringByID(StringId.GetVerificationCode)) { //鏍囪鎵嬫満鍙风爜鏈夋晥 - btnGetVerificationCode.IsSelected = true; + btnGetVerificationCode_Phone.IsSelected = true; } //璐﹀彿鏈夋晥銆佸瘑鐮佹湁鏁堛�侀獙璇佺爜杈撳叆浜嗭紝鎵嶈兘鐐瑰嚮娉ㄥ唽 - if (btnGetVerificationCode.IsSelected && ValidPassword && !string.IsNullOrEmpty(etVerificationCode.Text.Trim())) + if (ValidPassword && !string.IsNullOrEmpty(etVerificationCode.Text.Trim())) { btnRegister.IsSelected = true; } @@ -163,26 +186,35 @@ { btnAccountViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2; btnAccountViewBottomLine.Height = Application.GetRealHeight(2); + btnGetVerificationCode_Mail.IsSelected = false; new Tip() { - CloseTime = 3, + CloseTime = 1, Text = Language.StringByID(StringId.PlsEntryCorrectEmailAddress), Direction = AMPopTipDirection.None, }.Show(bodyView); } else { - if (btnGetVerificationCode.Text == Language.StringByID(StringId.GetVerificationCode)) + if (btnGetVerificationCode_Mail.Text == Language.StringByID(StringId.GetVerificationCode)) {//鏍囪鎵嬫満鍙风爜鏈夋晥 - btnGetVerificationCode.IsSelected = true; + btnGetVerificationCode_Mail.IsSelected = true; } //璐﹀彿鏈夋晥銆佸瘑鐮佹湁鏁堛�侀獙璇佺爜杈撳叆浜嗭紝鎵嶈兘鐐瑰嚮娉ㄥ唽 - if (btnGetVerificationCode.IsSelected && ValidPassword && string.IsNullOrEmpty(etVerificationCode.Text.Trim())) + if (ValidPassword && string.IsNullOrEmpty(etVerificationCode.Text.Trim())) { btnRegister.IsSelected = true; } } } + } + if(accountType ==0) + { + registerPhone = etAccount.Text.Trim(); + } + else + { + registerEmail = etAccount.Text.Trim(); } } }; @@ -197,16 +229,21 @@ } else { - //闇�瑕佽緭鍏�6浣嶄互涓婄殑瀵嗙爜 - if (etPassword.Text.Length < 6|| etPassword.Text.Length >13) + if (etPassword.Text.Length == 0) { - + btnPasswordViewBottomLine.BackgroundColor = CSS_Color.DividingLineColor; + btnPasswordViewBottomLine.Height = Application.GetRealHeight(1); + return; + } + //闇�瑕佽緭鍏�6浣嶄互涓婄殑瀵嗙爜 + if (etPassword.Text.Length < 6 || etPassword.Text.Length > 13) + { btnPasswordViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2; btnPasswordViewBottomLine.Height = Application.GetRealHeight(2); new Tip() { - CloseTime = 3, + CloseTime = 1, Direction = AMPopTipDirection.None, Text = Language.StringByID(StringId.PlsRegisterPassword) }.Show(bodyView); @@ -240,7 +277,7 @@ btnRepeatPasswordViewBottomLine.Height = Application.GetRealHeight(2); new Tip() { - CloseTime = 3, + CloseTime = 1, Direction = AMPopTipDirection.None, Text = Language.StringByID(StringId.IncorrectRepeatPassword) }.Show(bodyView); @@ -249,7 +286,7 @@ { ValidPassword = true; //璐﹀彿鏈夋晥銆佸瘑鐮佹湁鏁堛�侀獙璇佺爜杈撳叆浜嗭紝鎵嶈兘鐐瑰嚮娉ㄥ唽 - if (btnGetVerificationCode.IsSelected && ValidPassword && !string.IsNullOrEmpty(etVerificationCode.Text.Trim())) + if (ValidPassword && !string.IsNullOrEmpty(etVerificationCode.Text.Trim())) { btnRegister.IsSelected = true; } @@ -283,6 +320,28 @@ } /// <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); + } + }; + } + + /// <summary> /// 鏇存敼瀵嗙爜鍙鎬� /// </summary> void LoadEvent_ChangeTextVisble() @@ -306,75 +365,78 @@ /// </summary> void LoadEvent_GetVerificationCode() { - btnGetVerificationCode.MouseUpEventHandler += (sender, e) => - { - if (btnGetVerificationCode.IsSelected) - { - btnGetVerificationCode.IsSelected = false; - string account = etAccount.Text.Trim(); - //鐭俊鍙戦�侀棿闅�60s - 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(); - 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(); - } - }; + 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.GetRegisterVerCode(account); + if (result.StateCode.ToUpper() == "SUCCESS") + { + } + else + { + string tipString = "Server error"; + switch (result.StateCode) + { + case "Exist": + tipString = Language.StringByID(StringId.AccountAlreadyUse); + 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 = 1, + Direction = AMPopTipDirection.None, + Text = tipString + }.Show(bodyView); + }); + } + }) + { IsBackground = true }.Start(); + } + }; + + btnGetVerificationCode_Phone.MouseDownEventHandler = eventHandler; + btnGetVerificationCode_Mail.MouseDownEventHandler = eventHandler; } /// <summary> @@ -382,8 +444,18 @@ /// </summary> void LoadEvent_Register() { - btnRegister.MouseUpEventHandler += (sender, e) => + btnRegister.MouseUpEventHandler = (sender, e) => { + if(etPassword.Text.Trim().Length > 13 || etPassword.Text.Trim().Length<6) + { + new Tip() + { + CloseTime = 1, + Direction = AMPopTipDirection.None, + Text = Language.StringByID(StringId.PlsRegisterPassword) + }.Show(bodyView); + return; + } if (btnRegister.IsSelected) { waitPage = new Loading(); @@ -402,73 +474,72 @@ string entryPassword = etRepeatPassword.Text.Trim(); string verCode = etVerificationCode.Text.Trim(); return new Thread(() => - { - try - { - //鏍¢獙楠岃瘉鐮�/娉ㄥ唽璐﹀彿 - var validateSmsResult = pm.ValidataCodeAndRegister(account, password, entryPassword, verCode, 86); - //楠岃瘉鐮佹牎楠屾垚鍔� - if (validateSmsResult.StateCode.ToUpper() == "SUCCESS") - { - //娉ㄥ唽鎴愬姛 - //鎵ц鍥炶皟浜嬩欢 - //callbackAction?.Invoke(account); - Application.RunOnMainThread(() => - { + { + try + { + //鏍¢獙楠岃瘉鐮�/娉ㄥ唽璐﹀彿 + var validateSmsResult = pm.ValidataCodeAndRegister(account, password, entryPassword, verCode, 86); + //楠岃瘉鐮佹牎楠屾垚鍔� + if (validateSmsResult.StateCode.ToUpper() == "SUCCESS") + { + //娉ㄥ唽鎴愬姛 + //鎵ц鍥炶皟浜嬩欢 + //callbackAction?.Invoke(account); + Application.RunOnMainThread(() => + { this.Close(); - LoadEvent_AutoLogin(account, password); - }); - } - else//娉ㄥ唽澶辫触 - { - string erorrInfo = ""; - switch (validateSmsResult.StateCode) - { - case "Exist": - erorrInfo = Language.StringByID(StringId.AccountAlreadyExists); - break; - case "PwdNoConfirm": - erorrInfo = Language.StringByID(StringId.IncorrectRepeatPassword); - break; - 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; - } - Application.RunOnMainThread(() => - { - new Tip() - { - CloseTime = 3, - Direction = AMPopTipDirection.None, - Text = erorrInfo, - }.Show(bodyView); - }); - } - } - catch (Exception ex) - { - MainPage.Log("Exception 1 : " + ex.Message); - } - finally - { - Application.RunOnMainThread(() => - { - waitPage.Hide(); - }); - } - }); + LoadEvent_AutoLogin(account, password); + }); + } + else//娉ㄥ唽澶辫触 + { + string erorrInfo = ""; + switch (validateSmsResult.StateCode) + { + case "Exist": + erorrInfo = Language.StringByID(StringId.AccountAlreadyUse); + break; + case "PwdNoConfirm": + erorrInfo = Language.StringByID(StringId.IncorrectRepeatPassword); + break; + 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; + } + Application.RunOnMainThread(() => + { + new Tip() + { + CloseTime = 1, + Direction = AMPopTipDirection.None, + Text = erorrInfo, + }.Show(bodyView); + }); + } + } + catch (Exception ex) + { + MainPage.Log("Exception 1 : " + ex.Message); + } + finally + { + Application.RunOnMainThread(() => + { + waitPage.Hide(); + }); + } + }); } - } } \ No newline at end of file -- Gitblit v1.8.0