From 273bd8b4fb918a4303207215b2b8369fbc275000 Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期二, 08 十二月 2020 18:58:44 +0800 Subject: [PATCH] Merge branch 'CJL-NEW' --- HDL_ON/UI/UI1-Login/LoginPageBLL.cs | 318 +++++++++++++++++++++++++++++++--------------------- 1 files changed, 191 insertions(+), 127 deletions(-) diff --git a/HDL_ON/UI/UI1-Login/LoginPageBLL.cs b/HDL_ON/UI/UI1-Login/LoginPageBLL.cs index e7cb064..4a8bae7 100644 --- a/HDL_ON/UI/UI1-Login/LoginPageBLL.cs +++ b/HDL_ON/UI/UI1-Login/LoginPageBLL.cs @@ -84,65 +84,83 @@ btnAccountViewBottomLine.Height = Application.GetRealHeight(2); return; } + //鍔犺浇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); - ShowBtnAccountViewBottomLineError(); - return; - } - else - { - //妫�娴嬪綋鍓嶉厤缃煙鍚嶆槸鍚︿竴鑷达紝涓嶄竴鑷村垯鏇挎崲 - CheckAndSetUserRequestHost(result); - - //2.1璇锋眰鑾峰彇楠岃瘉鐮� - var resultObj = pm.VerificationCodeSend(VerifyType.VERIFY_LOGIN, account, true, phoneZoneCode); - if (resultObj.Code != StateCode.SUCCESS) + //1.鍏堟鏌ヨ处鍙锋槸鍚︽敞鍐岃繃 + var result = pm.GetRegionByAccount(account); + if (result.Code != StateCode.SUCCESS) { - //2.2璇锋眰鑾峰彇楠岃瘉鐮佸け璐� - Application.RunOnMainThread(() => - { - btnPasswordViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2; - btnPasswordViewBottomLine.Height = Application.GetRealHeight(2); - }); - // 鎻愮ず閿欒 - IMessageCommon.Current.ShowErrorInfoAlter(resultObj.Code); + IMessageCommon.Current.ShowErrorInfoAlter(result.Code); + ShowBtnAccountViewBottomLineError(); + return; } else { - Application.RunOnMainThread(() => - { - btnGetVerificationCode.IsSelected = false; - btnGetVerificationCode.TextColor = CSS_Color.PromptingColor1; - }); + //妫�娴嬪綋鍓嶉厤缃煙鍚嶆槸鍚︿竴鑷达紝涓嶄竴鑷村垯鏇挎崲 + CheckAndSetUserRequestHost(result); - new Thread(() => + //2.1璇锋眰鑾峰彇楠岃瘉鐮� + var resultObj = pm.VerificationCodeSend(VerifyType.VERIFY_LOGIN, account, true, phoneZoneCode); + if (resultObj.Code != StateCode.SUCCESS) { - while (time > 0) - { - time--; - Application.RunOnMainThread(() => - { - btnGetVerificationCode.Text = time.ToString() + "s"; - }); - Thread.Sleep(1000); - } + //2.2璇锋眰鑾峰彇楠岃瘉鐮佸け璐� Application.RunOnMainThread(() => { - btnGetVerificationCode.IsSelected = true; - btnGetVerificationCode.TextID = StringId.GetVerificationCode; + btnPasswordViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2; + btnPasswordViewBottomLine.Height = Application.GetRealHeight(2); }); - }) - { IsBackground = true }.Start(); + // 鎻愮ず閿欒 + IMessageCommon.Current.ShowErrorInfoAlter(resultObj.Code); + } + else + { + Application.RunOnMainThread(() => + { + btnGetVerificationCode.IsSelected = false; + btnGetVerificationCode.TextColor = CSS_Color.PromptingColor1; + }); + + 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(); + } } } - + catch { } + finally + { + Application.RunOnMainThread(() => + { + if (waitPage != null) + { + waitPage.RemoveFromParent(); + waitPage = null; + } + }); + } }) { IsBackground = true }.Start(); @@ -151,12 +169,12 @@ } /// <summary> - /// 鍒囨崲鐧诲綍绫诲瀷 + /// /// </summary> - void LoadPage_SwitchLoginType() + /// <param name="type">鏄惁閫夋嫨鎵嬫満鐧诲綍</param> + void LoginTypeChange(bool isPhone) { - //閫夋嫨鎵嬫満鐧诲綍 - btnPhoneLogin.MouseUpEventHandler = (sender, e) => + if(isPhone) { if (loginType == 0) return; @@ -209,11 +227,8 @@ etPassword.SecureTextEntry = false; } #endregion - - }; - - //閫夋嫨閭鐧诲綍 - btnEmailLogin.MouseUpEventHandler += (sender, e) => + } + else { if (loginType == 1) return; @@ -254,7 +269,78 @@ etPassword.SecureTextEntry = true; //闅愯棌楠岃瘉鐮佺櫥褰曟柟寮忥紝閭鐧诲綍娌℃湁楠岃瘉鐮佺櫥褰� btnSwitchLoginMode.Visible = false; + } + } + + /// <summary> + /// 鍒囨崲鐧诲綍绫诲瀷 + /// </summary> + void LoadPage_SwitchLoginType() + { + //閫夋嫨鎵嬫満鐧诲綍 + btnPhoneLogin.MouseUpEventHandler = (sender, e) => + { + LoginTypeChange(true); }; + + //閫夋嫨閭鐧诲綍 + btnEmailLogin.MouseUpEventHandler += (sender, e) => + { + LoginTypeChange(false); + }; + } + + /// <summary> + /// 鍒囨崲鐧诲綍鏂瑰紡 楠岃瘉鐮�/瀵嗙爜 + /// </summary> + void LoginModeChange() + { + //娓呴櫎瀵嗙爜妗嗘枃鏈暟鎹� + etPassword.Text = ""; + //瀵嗙爜鐧诲綍 + if (logintMode == 0) + { + 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(); + 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); + 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; + } } /// <summary> @@ -266,52 +352,7 @@ btnSwitchLoginMode.MouseUpEventHandler = (sender, e) => { logintMode = logintMode == 0 ? 1 : 0; - //娓呴櫎瀵嗙爜妗嗘枃鏈暟鎹� - etPassword.Text = ""; - //瀵嗙爜鐧诲綍 - if (logintMode == 0) - { - 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(); - 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); - 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; - } + LoginModeChange(); }; } @@ -696,7 +737,7 @@ btnAccountViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2; btnAccountViewBottomLine.Height = Application.GetRealHeight(2); } - else if (loginResult.Code == "14") + else if (loginResult.Code == StateCode.VERIFICATION_CODE_WRONG) { btnPasswordViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2; btnPasswordViewBottomLine.Height = Application.GetRealHeight(2); @@ -740,25 +781,22 @@ { btnRegister.MouseUpEventHandler += (sender, e) => { - //鍥炶皟浜嬩欢 - //Action callBackAction = () => - //{ - // Application.RunOnMainThread(() => - // { - // try - // { - // } - // catch (Exception ex) - // { - // MainPage.Log($"login callBackAction : {ex.Message}"); - // } - // }); - //}; - //鍒ゆ柇鏄惁鍚屾剰浜嗛殣绉佹斂绛� if (CheckPrivacyPolicy() == false) return; - var registerPage = new RegisterPage(); + Action<string, string, bool> autoLoginAction = (account, password, isPhone) => + { + try + { + AutoLoginAction(account, password, isPhone); + } + catch (Exception ex) + { + MainPage.Log($"login callBackAction : {ex.Message}"); + } + }; + + var registerPage = new RegisterPage(autoLoginAction); registerPage.Show(); registerPage.ShowDialog(); }; @@ -771,21 +809,22 @@ { btnForgetPassword.MouseUpEventHandler += (sender, e) => { - Action<string> callBackAction = (callBackPar_Action) => + //鍒ゆ柇鏄惁鍚屾剰浜嗛殣绉佹斂绛� + if (CheckPrivacyPolicy() == false) return; + + Action<string, string, bool> autoLoginAction = (account, password, isPhone) => { - Application.RunOnMainThread(() => + + try { - try - { - etAccount.Text = callBackPar_Action; - } - catch (Exception ex) - { - MainPage.Log($"login callBackAction : {ex.Message}"); - } - }); + AutoLoginAction(account, password, isPhone); + } + catch (Exception ex) + { + MainPage.Log($"login callBackAction : {ex.Message}"); + } }; - var forgetPasswordDialog = new ForgetPasswordPage(callBackAction); + var forgetPasswordDialog = new ForgetPasswordPage(autoLoginAction); forgetPasswordDialog.Show(); forgetPasswordDialog.ShowDialog(); @@ -804,5 +843,30 @@ btnAccountViewBottomLine.Height = Application.GetRealHeight(2); }); } + + /// <summary> + /// 鑷姩鐧诲綍鍥炶皟浜嬩欢 + /// </summary> + /// <param name="mAccount"></param> + /// <param name="mPassword"></param> + /// <param name="isPhone"></param> + void AutoLoginAction(string mAccount, string mPassword, bool isPhone) + { + //鍒囨崲鍥炴墜鏈烘垨鑰呴偖绠辩櫥褰� + LoginTypeChange(isPhone); + //鍒囨崲鍥炲瘑鐮佺櫥褰�1 + logintMode = 0; + //鍒囨崲鍥炲瘑鐮佺櫥褰�2 + LoginModeChange(); + //璁剧疆璐︽埛鍚嶅拰瀵嗙爜 + etAccount.Text = account; + etPassword.Text = password; + this.account = mAccount; + this.password = mPassword; + //鍒涘缓鐧诲綍绾跨▼ + var loginThread = LoadThread_Login(); + waitPage = new Loading(); + new PublicAssmebly().LoadPage_WaitPage(loginThread, bodyView, waitPage); + } } } \ No newline at end of file -- Gitblit v1.8.0