From 43b0d5870d528f23ecd6aeceb6cfd4325188b46f Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期四, 01 七月 2021 15:50:43 +0800 Subject: [PATCH] Revert "1" --- HDL_ON/UI/UI1-Login/ForgetPasswordPageBLL.cs | 433 ++++++++++++++++++++++++++++++++++++----------------- 1 files changed, 294 insertions(+), 139 deletions(-) diff --git a/HDL_ON/UI/UI1-Login/ForgetPasswordPageBLL.cs b/HDL_ON/UI/UI1-Login/ForgetPasswordPageBLL.cs index 25b6fc5..79dced0 100644 --- a/HDL_ON/UI/UI1-Login/ForgetPasswordPageBLL.cs +++ b/HDL_ON/UI/UI1-Login/ForgetPasswordPageBLL.cs @@ -32,6 +32,12 @@ { if (registerType == 0) return; + + if (!string.IsNullOrEmpty(etAccount.Text.Trim())) + { + //璁板綍涔嬪墠鐨勯偖绠� + registerEmail = etAccount.Text.Trim(); + } etAccount.IsNumberKeyboardType = true; etAccount.Text = registerPhone; etPassword.Text = ""; @@ -61,7 +67,14 @@ { if (registerType == 1) return; + + if (!string.IsNullOrEmpty(etAccount.Text.Trim())) + { + //璁板綍涔嬪墠鐨勬墜鏈哄彿 + registerPhone = etAccount.Text.Trim(); + } etAccount.IsNumberKeyboardType = false; + etAccount.SecureTextEntry = false;//2020-12-10 瑙e喅Android鏁板瓧鍒囨崲鍥炶矾鏅�氶敭鐩樺彉鍔犲瘑闂 etAccount.Text = registerEmail; etPassword.Text = ""; etRepeatPassword.Text = ""; @@ -120,7 +133,26 @@ btnGetVerificationCode_Mail.IsSelected = true; } } + + LoadMothed_EnableResetButton(); }; + + //etVerificationCode.TextChangeEventHandler = (sender, e) => { + + // if (etVerificationCode.Text.Length > 1) + // { + // LoadMothed_EnableResetButton(); + // } + //}; + + Action<View, string> textChangeEventHandler = (view, textStr) => + { + LoadMothed_EnableResetButton(); + }; + //etAccount.TextChangeEventHandler += textChangeEventHandler; + etPassword.TextChangeEventHandler += textChangeEventHandler; + etRepeatPassword.TextChangeEventHandler += textChangeEventHandler; + etVerificationCode.TextChangeEventHandler += textChangeEventHandler; } /// <summary> @@ -133,22 +165,22 @@ { if (etAccount.Foucs) { - btnAccountViewBottomLine.BackgroundColor = CSS_Color.MainColor; - btnAccountViewBottomLine.Height = Application.GetRealHeight(2); + HDLCommon.Current.BottomLineShowType(btnAccountViewBottomLine, BottomLineType.GotFocus); } else { - //鏍囪鎵嬫満鍙风爜鏃犳晥 - btnAccountViewBottomLine.BackgroundColor = CSS_Color.DividingLineColor; - btnAccountViewBottomLine.Height = Application.GetRealHeight(1); + if (isHitBack) return;//鐐瑰嚮杩斿洖鍏抽棴椤甸潰涓嶆娴嬫彁绀� + + HDLCommon.Current.BottomLineShowType(btnAccountViewBottomLine, BottomLineType.Normal); + if (etAccount.Text.Length == 0) return;//娌¤緭鍏ヤ笉妫�娴嬫彁绀� + //鎵嬫満鏂瑰紡-楠岃瘉鎵嬫満鍙风爜鏄惁姝g‘ if (registerType == 0) { btnGetVerificationCode_Phone.IsSelected = false; if (!Utlis.CheckPhoneNumber(etAccount.Text.Trim(), phoneZoneCode)) { - btnAccountViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2; - btnAccountViewBottomLine.Height = Application.GetRealHeight(2); + HDLCommon.Current.BottomLineShowType(btnAccountViewBottomLine, BottomLineType.Error); new Tip() { CloseTime = 1, @@ -158,7 +190,7 @@ } else { - if (btnGetVerificationCode_Phone.Text == Language.StringByID( StringId.GetVerificationCode)) + if (btnGetVerificationCode_Phone.Text == Language.StringByID(StringId.GetVerificationCode)) { btnGetVerificationCode_Phone.IsSelected = true; } @@ -171,8 +203,7 @@ //閭鏂瑰紡-楠岃瘉閭鏄惁姝g‘ if (!Utlis.CheckEmail(etAccount.Text.Trim())) { - btnAccountViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2; - btnAccountViewBottomLine.Height = Application.GetRealHeight(2); + HDLCommon.Current.BottomLineShowType(btnAccountViewBottomLine, BottomLineType.Error); new Tip() { CloseTime = 1, @@ -197,16 +228,19 @@ { if (etPassword.Foucs) { - btnPasswordViewBottomLine.BackgroundColor = CSS_Color.MainColor; - btnPasswordViewBottomLine.Height = Application.GetRealHeight(2); + HDLCommon.Current.BottomLineShowType(btnPasswordViewBottomLine, BottomLineType.GotFocus); } else { - btnPasswordViewBottomLine.BackgroundColor = CSS_Color.DividingLineColor; - btnPasswordViewBottomLine.Height = Application.GetRealHeight(1); + if (isHitBack) return;//鐐瑰嚮杩斿洖鍏抽棴椤甸潰涓嶆娴嬫彁绀� + + HDLCommon.Current.BottomLineShowType(btnPasswordViewBottomLine, BottomLineType.Normal); + if (etPassword.Text.Length == 0) return;//娌¤緭鍏ヤ笉妫�娴嬫彁绀� + //鏍¢獙瀵嗙爜鏄惁绗﹀悎瑕佹眰 if (etPassword.Text.Trim().Length < 6 || etPassword.Text.Trim().Length > 13) { + HDLCommon.Current.BottomLineShowType(btnPasswordViewBottomLine, BottomLineType.Error); new Tip() { CloseTime = 1, @@ -222,22 +256,22 @@ { if (etRepeatPassword.Foucs) { - btnRepeatPasswordViewBottomLine.BackgroundColor = CSS_Color.MainColor; - btnRepeatPasswordViewBottomLine.Height = Application.GetRealHeight(2); + HDLCommon.Current.BottomLineShowType(btnRepeatPasswordViewBottomLine, BottomLineType.GotFocus); } else { - btnRepeatPasswordViewBottomLine.BackgroundColor = CSS_Color.DividingLineColor; - btnRepeatPasswordViewBottomLine.Height = Application.GetRealHeight(1); + if (isHitBack) return;//鐐瑰嚮杩斿洖鍏抽棴椤甸潰涓嶆娴嬫彁绀� + + HDLCommon.Current.BottomLineShowType(btnRepeatPasswordViewBottomLine, BottomLineType.Normal); //鏍¢獙涓ゆ杈撳叆鐨勫瘑鐮佹槸鍚︿竴鑷� if (etPassword.Text.Trim() != etRepeatPassword.Text.Trim()) { - btnRepeatPasswordViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2; - btnRepeatPasswordViewBottomLine.Height = Application.GetRealHeight(2); + HDLCommon.Current.BottomLineShowType(btnRepeatPasswordViewBottomLine, BottomLineType.Error); new Tip() { CloseTime = 1, Direction = AMPopTipDirection.None, + MaxWidth = Application.GetRealWidth(300), Text = Language.StringByID(StringId.IncorrectRepeatPassword) }.Show(bodyView); } @@ -253,13 +287,13 @@ { if (etVerificationCode.Foucs) { - btnVerificationCodeViewBottomLine.BackgroundColor = CSS_Color.MainColor; - btnVerificationCodeViewBottomLine.Height = Application.GetRealHeight(2); + HDLCommon.Current.BottomLineShowType(btnVerificationCodeViewBottomLine, BottomLineType.GotFocus); } else { - btnVerificationCodeViewBottomLine.BackgroundColor = CSS_Color.DividingLineColor; - btnVerificationCodeViewBottomLine.Height = Application.GetRealHeight(1); + if (isHitBack) return;//鐐瑰嚮杩斿洖鍏抽棴椤甸潰涓嶆娴嬫彁绀� + + HDLCommon.Current.BottomLineShowType(btnVerificationCodeViewBottomLine, BottomLineType.Normal); if (etVerificationCode.Text.Length > 4) { LoadMothed_EnableResetButton(); @@ -292,15 +326,16 @@ /// 妫�娴嬪綋鍓嶉厤缃煙鍚嶆槸鍚︿竴鑷达紝涓嶄竴鑷村垯鏇挎崲 /// </summary> /// <param name="result"></param> - void CheckAndSetUserRequestHost(ResponsePackNew result) { + void CheckAndSetUserRequestHost(ResponsePackNew result) + { try { var mGlobalRegionListObj = Newtonsoft.Json.JsonConvert.DeserializeObject<GlobalRegionListRes>(result.Data.ToString()); - if (UserInfo.Current.RequestHttpsHost != mGlobalRegionListObj.regionUrl) + if (OnAppConfig.Instance.RequestHttpsHost != mGlobalRegionListObj.regionUrl) { - UserInfo.Current.RequestHttpsHost = mGlobalRegionListObj.regionUrl; - UserInfo.Current.GlobalRegion = mGlobalRegionListObj; - UserInfo.Current.SaveUserInfo(); + OnAppConfig.Instance.RequestHttpsHost = mGlobalRegionListObj.regionUrl; + OnAppConfig.Instance.GlobalRegion = mGlobalRegionListObj; + OnAppConfig.Instance.SaveConfig(); } } catch { } @@ -317,65 +352,89 @@ var account = etAccount.Text.Trim(); if ((sender as Button).IsSelected) { + //鍔犺浇Loading鏁堟灉 + var waitPage = new Loading(); + bodyView.AddChidren(waitPage); + waitPage.Start(Language.StringByID(StringId.PleaseWait)); + int time = 60; new Thread(() => { - //1.鍏堟鏌ヨ处鍙锋槸鍚︽敞鍐岃繃 - var result = pm.GetRegionByAccount(account); - if (result.Code != StateCode.SUCCESS) + try { - IMessageCommon.Current.ShowErrorInfoAlter(result.Code); - return; - } - else - { - //2.1妫�娴嬪綋鍓嶉厤缃煙鍚嶆槸鍚︿竴鑷达紝涓嶄竴鑷村垯鏇挎崲 - CheckAndSetUserRequestHost(result); - - //2.2宸茬粡娉ㄥ唽杩囷紝鍙戦�侀獙璇佺爜鎵惧洖瀵嗙爜 - Application.RunOnMainThread(() => + //1.鍏堟鏌ヨ处鍙锋槸鍚︽敞鍐岃繃 + var result = pm.GetRegionByAccount(account); + if (result.Code != StateCode.SUCCESS) { - //鐭俊鍙戦�侀棿闅�60s - (sender as Button).IsSelected = false; - etVerificationCode.Foucs = true; - }); - //2.1鑾峰彇楠岃瘉鐮佸�掕鏃� - 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(); - - ResponsePackNew resultObj; - //2.1璇锋眰鑾峰彇楠岃瘉鐮� - if (registerType == 1)//閭 - { - resultObj = pm.VerificationCodeSend(VerifyType.FIND_PASSWORD, account); + IMessageCommon.Current.ShowErrorInfoAlter(result.Code); + return; } else { - resultObj = pm.VerificationCodeSend(VerifyType.FIND_PASSWORD, account, true, phoneZoneCode); - } - if (resultObj.Code != StateCode.SUCCESS) - { - // 鎻愮ず閿欒 - IMessageCommon.Current.ShowErrorInfoAlter(resultObj.Code); + //2.1妫�娴嬪綋鍓嶉厤缃煙鍚嶆槸鍚︿竴鑷达紝涓嶄竴鑷村垯鏇挎崲 + CheckAndSetUserRequestHost(result); + //2.2宸茬粡娉ㄥ唽杩囷紝鍙戦�侀獙璇佺爜鎵惧洖瀵嗙爜 + ResponsePackNew resultObj; + //2.3璇锋眰鑾峰彇楠岃瘉鐮� + if (registerType == 1)//閭 + { + resultObj = pm.VerificationCodeSend(VerifyType.FIND_PASSWORD, account); + } + else + { + resultObj = pm.VerificationCodeSend(VerifyType.FIND_PASSWORD, account, true, phoneZoneCode); + } + + if (resultObj.Code != StateCode.SUCCESS) + { + // 鎻愮ず閿欒 + IMessageCommon.Current.ShowErrorInfoAlter(resultObj.Code); + } + else + { + //3.鍙戦�侀獙璇佺爜鎴愬姛锛屽紑濮嬭鏃� + Application.RunOnMainThread(() => + { + //鐭俊鍙戦�侀棿闅�60s + (sender as Button).IsSelected = false; + etVerificationCode.Foucs = true; + }); + //2.1鑾峰彇楠岃瘉鐮佸�掕鏃� + 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(); + + } } + } + catch { } + finally + { + Application.RunOnMainThread(() => + { + if (waitPage != null) + { + waitPage.RemoveFromParent(); + waitPage = null; + } + }); } }) { IsBackground = true }.Start(); @@ -395,6 +454,13 @@ { if (btnReset.IsSelected) { + //妫�娴嬭处鍙� + if (!CheckAccount()) return; + //妫�娴嬪瘑鐮� + if (!CheckPassword()) return; + //妫�娴嬮獙璇佺爜 + if (!CheckVerificationCode()) return; + //鍒涘缓淇敼瀵嗙爜绾跨▼ var loginThread = LoadMothed_ResetThread(); waitPage = new Loading(); @@ -428,19 +494,28 @@ { Application.RunOnMainThread(() => { - LoadEvent_AutoLogin(); - callbackAction?.Invoke(account); + if (waitPage != null) + { + waitPage.Hide(); + } + ShowAutoLoginDialog(account, password, isPhone); }); } else { - // 2020-11-13 寰呬慨鏀� 楠岃瘉鐮侀敊璇� 璀﹀憡鎻愮ず - //btnVerificationCodeViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2; - //btnVerificationCodeViewBottomLine.Height = Application.GetRealHeight(2); Application.RunOnMainThread(() => { - waitPage.Hide(); + if (waitPage != null) + { + waitPage.Hide(); + } + + // 楠岃瘉鐮侀敊璇� 璀﹀憡鎻愮ず + if (resultObj.Code == StateCode.VERIFICATION_CODE_WRONG) + { + HDLCommon.Current.BottomLineShowType(btnVerificationCodeViewBottomLine, BottomLineType.Error); + } }); // 鎻愮ず閿欒 IMessageCommon.Current.ShowErrorInfoAlter(resultObj.Code); @@ -464,89 +539,169 @@ } /// <summary> - /// 浣忓畢鎴愬姛涔嬪悗鑷姩鐧诲綍 + /// 妫�娴嬭处鍙� /// </summary> - void LoadEvent_AutoLogin() + /// <returns></returns> + bool CheckAccount() + { + //鎵嬫満鏂瑰紡-楠岃瘉鎵嬫満鍙风爜鏄惁姝g‘ + if (registerType == 0) + { + if (!Utlis.CheckPhoneNumber(etAccount.Text.Trim(), phoneZoneCode)) + { + Utlis.ShowTip(Language.StringByID(StringId.PlsEntryCorrectMobilNeumber)); + } + else + { + return true; + } + + } + else if (registerType == 1) + { + //閭鏂瑰紡-楠岃瘉閭鏄惁姝g‘ + if (!Utlis.CheckEmail(etAccount.Text.Trim())) + { + Utlis.ShowTip(Language.StringByID(StringId.PlsEntryCorrectEmailAddress)); + } + else + { + return true; + } + } + + return false; + } + + /// <summary> + /// 妫�娴嬪瘑鐮佹槸鍚︽纭� + /// </summary> + /// <returns></returns> + bool CheckPassword() + { + //鏍¢獙瀵嗙爜鏄惁绗﹀悎瑕佹眰 + if (etPassword.Text.Trim().Length < 6 || etPassword.Text.Trim().Length > 13) + { + Utlis.ShowTip(Language.StringByID(StringId.PasswordIsUnqualified)); + return false; + } + + if (etPassword.Text.Trim() != etRepeatPassword.Text.Trim()) + { + Utlis.ShowTip(Language.StringByID(StringId.IncorrectRepeatPassword)); + return false; + } + return true; + } + + /// <summary> + /// 妫�娴嬮獙璇佺爜鏄惁杈撳叆 + /// </summary> + /// <returns></returns> + bool CheckVerificationCode() + { + if (string.IsNullOrEmpty(etVerificationCode.Text)) + { + Utlis.ShowTip(Language.StringByID(StringId.PlsEntryVerificationCode)); + return false; + } + return true; + } + + /// <summary> + /// 鏄剧ず鑷姩鑷姩鐧诲綍浜嬩欢 + /// </summary> + void ShowAutoLoginDialog(string account, string password, bool isPhone) { Dialog dialog = new Dialog(); - FrameLayout frame = new FrameLayout() + FrameLayout dialogView = new FrameLayout(); + dialogView.MouseUpEventHandler = (sender, e) => + { + dialog.Close(); + }; + dialog.AddChidren(dialogView); + + FrameLayout contentView = new FrameLayout() { Gravity = Gravity.CenterHorizontal, - Y = Application.GetRealHeight(198), + Y = Application.GetRealWidth(200), Width = Application.GetRealWidth(288), - Height = Application.GetRealHeight(206), + Height = Application.GetRealWidth(270), + Radius = (uint)Application.GetRealWidth(6), BackgroundColor = CSS_Color.MainBackgroundColor, - Radius = (uint)Application.GetRealHeight(12), - BorderWidth = 0, - BorderColor = 0x00000000, }; - dialog.AddChidren(frame); + dialogView.AddChidren(contentView); - Button btnAccountText = new Button() + contentView.Y = (dialogView.Height - contentView.Height) / 2; + + Button btnTitleIcon = new Button() + { + X = Application.GetRealWidth(108), + Y = contentView.Y - Application.GetRealWidth(71), + Width = Application.GetRealWidth(160), + Height = Application.GetRealWidth(160), + UnSelectedImagePath = "Public/Dialog/DialogTipTitleIcon_1.png" + }; + dialogView.AddChidren(btnTitleIcon); + btnTitleIcon.MouseUpEventHandler = (sender, e) => + { + dialog.Close(); + }; + + Button btnMsg = new Button() { Gravity = Gravity.CenterHorizontal, - Y = Application.GetRealHeight(40), - Height = Application.GetRealHeight(17 + 14 + 14), - IsMoreLines = true, - TextAlignment = TextAlignment.Center, - TextColor = CSS_Color.FirstLevelTitleColor, - TextSize = CSS_FontSize.TextFontSize, - //Text = "s鏄敓鐢熶笘涓�", - }; - frame.AddChidren(btnAccountText); - - Button btnTipRegisterSuccess = new Button() - { - Gravity = Gravity.CenterHorizontal, - Y = Application.GetRealHeight(123), - Height = Application.GetRealHeight(30), - TextAlignment = TextAlignment.Center, + Y = Application.GetRealWidth(88), + Width = Application.GetRealWidth(220), + Height = Application.GetRealWidth(44), TextColor = CSS_Color.MainColor, TextSize = CSS_FontSize.SubheadingFontSize, - TextID = StringId.PasswordChangeSuccessfully, + TextID = StringId.ModifySuccess }; - frame.AddChidren(btnTipRegisterSuccess); + contentView.AddChidren(btnMsg); - Button btnAutoLoginTip = new Button() + Button btnMsg2 = new Button() { Gravity = Gravity.CenterHorizontal, - Y = btnTipRegisterSuccess.Bottom, - Height = Application.GetRealHeight(17 + 8), - TextAlignment = TextAlignment.Center, + Y = btnMsg.Bottom + Application.GetRealWidth(8), + Width = Application.GetRealWidth(220), + Height = Application.GetRealWidth(60), TextColor = CSS_Color.PromptingColor1, TextSize = CSS_FontSize.PromptFontSize_FirstLevel, - TextID = StringId.AutomaticallyLogin, + TextID = StringId.YourPasswordHasBeenChanged, + TextAlignment = TextAlignment.TopCenter, + IsMoreLines = true }; - //frame.AddChidren(btnAutoLoginTip); + contentView.AddChidren(btnMsg2); - Button btnHeadImage = new Button() + + Button btnSkipBindPage = new Button() { Gravity = Gravity.CenterHorizontal, - Y = Application.GetRealHeight(150), - Width = Application.GetRealWidth(84), - Height = Application.GetRealWidth(84), - Radius = (uint)Application.GetRealHeight(42), - BorderColor = 0x00000000, - BorderWidth = 0, - UnSelectedImagePath = "LoginIcon/2.png", + Y = Application.GetRealWidth(194), + Width = Application.GetRealWidth(220), + Height = Application.GetRealWidth(44), + TextAlignment = TextAlignment.Center, + Radius = (uint)Application.GetRealWidth(22), + BackgroundColor = CSS_Color.MainColor, + TextID = StringId.Login, + TextSize = CSS_FontSize.SubheadingFontSize, + TextColor = CSS_Color.MainBackgroundColor, }; - dialog.AddChidren(btnHeadImage); + contentView.AddChidren(btnSkipBindPage); + + btnSkipBindPage.MouseUpEventHandler = (sender, e) => + { + dialog.Close(); + this.Close(); + + AutoLoginAction?.Invoke(account, password, isPhone); + + }; dialog.Show(); - - new Thread(() => - { - Thread.Sleep(1500); - Application.RunOnMainThread(() => - { - dialog.Close(); - this.Close(); - }); - }) - { IsBackground = true }.Start(); } - } } -- Gitblit v1.8.0