From 0f2e0147e8990e913d16d99bc1b94fb6bc53abd7 Mon Sep 17 00:00:00 2001 From: 陈嘉乐 <cjl@hdlchina.com.cn> Date: 星期四, 03 十二月 2020 15:35:42 +0800 Subject: [PATCH] 2020-12-03-1 --- HDL_ON/UI/UI1-Login/ForgetPasswordPageBLL.cs | 279 +++++++++++++++++++++++++++---------------------------- 1 files changed, 139 insertions(+), 140 deletions(-) diff --git a/HDL_ON/UI/UI1-Login/ForgetPasswordPageBLL.cs b/HDL_ON/UI/UI1-Login/ForgetPasswordPageBLL.cs index 509ce4c..25b6fc5 100644 --- a/HDL_ON/UI/UI1-Login/ForgetPasswordPageBLL.cs +++ b/HDL_ON/UI/UI1-Login/ForgetPasswordPageBLL.cs @@ -30,12 +30,20 @@ //閫夋嫨鎵嬫満鏂瑰紡 btnPhoneLogin.MouseUpEventHandler += (sender, e) => { + if (registerType == 0) + return; + etAccount.IsNumberKeyboardType = true; + etAccount.Text = registerPhone; + etPassword.Text = ""; + etRepeatPassword.Text = ""; #region 鍒囨崲閫変腑鎸夐挳 + btnGetVerificationCode_Phone.Visible = true; + btnGetVerificationCode_Mail.Visible = false; 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 鍒囨崲鏂瑰紡鏂瑰紡鍙婂浘鏍� @@ -51,7 +59,15 @@ //閫夋嫨閭鏂瑰紡 btnEmailLogin.MouseUpEventHandler += (sender, e) => { + if (registerType == 1) + return; + etAccount.IsNumberKeyboardType = false; + etAccount.Text = registerEmail; + etPassword.Text = ""; + etRepeatPassword.Text = ""; #region 鍒囨崲閫変腑鎸夐挳 + btnGetVerificationCode_Phone.Visible = false; + btnGetVerificationCode_Mail.Visible = true; btnPhoneLogin.TextColor = CSS_Color.PromptingColor1; btnPhoneLogin.TextSize = CSS_FontSize.TextFontSize; btnEmailLogin.TextColor = CSS_Color.MainColor; @@ -78,17 +94,30 @@ { 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)) + //Regex reg = new Regex(@"^[1]+\d{10}"); + //var mFalg = reg.Match(etAccount.Text.Trim()); + if (registerType == 0)//鎵嬫満鑾峰彇楠岃瘉鐮佹寜閽敓鏁堟潯浠� { - btnGetVerificationCode.IsSelected = false; - } - else - { - if (btnGetVerificationCode.Text == Language.StringByID(StringId.GetVerificationCode)) + if (!Utlis.CheckPhoneNumber(etAccount.Text.Trim(), phoneZoneCode)) { - btnGetVerificationCode.IsSelected = true; + btnGetVerificationCode_Phone.IsSelected = false; + } + else + { + if (btnGetVerificationCode_Phone.Text == Language.StringByID(StringId.GetVerificationCode)) + btnGetVerificationCode_Phone.IsSelected = true; + } + } + else//閭鑾峰彇楠岃瘉鐮佹寜閽敓鏁堟潯浠� + { + if (!Utlis.CheckEmail(etAccount.Text.Trim())) + { + btnGetVerificationCode_Mail.IsSelected = false; + } + else + { + if (btnGetVerificationCode_Mail.Text == Language.StringByID(StringId.GetVerificationCode)) + btnGetVerificationCode_Mail.IsSelected = true; } } }; @@ -110,55 +139,52 @@ else { //鏍囪鎵嬫満鍙风爜鏃犳晥 - btnGetVerificationCode.IsSelected = false; btnAccountViewBottomLine.BackgroundColor = CSS_Color.DividingLineColor; btnAccountViewBottomLine.Height = Application.GetRealHeight(1); //鎵嬫満鏂瑰紡-楠岃瘉鎵嬫満鍙风爜鏄惁姝g‘ if (registerType == 0) { - Regex reg = new Regex(@"^[1]+\d{9}"); - var mFalg = reg.Match(etAccount.Text.Trim()); - if (!mFalg.Success || (btnGlobalRoaming.Text == "+86" && etAccount.Text.Trim().Length != 11)) + btnGetVerificationCode_Phone.IsSelected = false; + if (!Utlis.CheckPhoneNumber(etAccount.Text.Trim(), phoneZoneCode)) { btnAccountViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2; btnAccountViewBottomLine.Height = Application.GetRealHeight(2); 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; } LoadMothed_EnableResetButton(); } } else if (registerType == 1) { + btnGetVerificationCode_Mail.IsSelected = false; //閭鏂瑰紡-楠岃瘉閭鏄惁姝g‘ - var reg = new Regex("^\\s*([A-Za-z0-9_-]+(\\.\\w+)*@(\\w+\\.)+\\w{2,5})\\s*$"); - var mFalg = reg.Match(etAccount.Text.Trim()); - if (!mFalg.Success ) + if (!Utlis.CheckEmail(etAccount.Text.Trim())) { btnAccountViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2; btnAccountViewBottomLine.Height = Application.GetRealHeight(2); 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; } LoadMothed_EnableResetButton(); } @@ -183,7 +209,7 @@ { new Tip() { - CloseTime = 3, + CloseTime = 1, Direction = AMPopTipDirection.None, Text = Language.StringByID(StringId.PasswordIsUnqualified) }.Show(bodyView); @@ -210,7 +236,7 @@ btnRepeatPasswordViewBottomLine.Height = Application.GetRealHeight(2); new Tip() { - CloseTime = 3, + CloseTime = 1, Direction = AMPopTipDirection.None, Text = Language.StringByID(StringId.IncorrectRepeatPassword) }.Show(bodyView); @@ -263,76 +289,101 @@ } /// <summary> + /// 妫�娴嬪綋鍓嶉厤缃煙鍚嶆槸鍚︿竴鑷达紝涓嶄竴鑷村垯鏇挎崲 + /// </summary> + /// <param name="result"></param> + void CheckAndSetUserRequestHost(ResponsePackNew result) { + try + { + var mGlobalRegionListObj = Newtonsoft.Json.JsonConvert.DeserializeObject<GlobalRegionListRes>(result.Data.ToString()); + if (UserInfo.Current.RequestHttpsHost != mGlobalRegionListObj.regionUrl) + { + UserInfo.Current.RequestHttpsHost = mGlobalRegionListObj.regionUrl; + UserInfo.Current.GlobalRegion = mGlobalRegionListObj; + UserInfo.Current.SaveUserInfo(); + } + } + catch { } + } + + + /// <summary> /// 鑾峰彇楠岃瘉鐮� /// </summary> void LoadEvent_GetVerificationCode() { - btnGetVerificationCode.MouseUpEventHandler += (sender, e) => + EventHandler<MouseEventArgs> eventHandler = (sender, e) => { var account = etAccount.Text.Trim(); - if (btnGetVerificationCode.IsSelected) + if ((sender as Button).IsSelected) { - //鐭俊鍙戦�侀棿闅�60s - btnGetVerificationCode.IsSelected = false; - etVerificationCode.Foucs = true; - //鑾峰彇楠岃瘉鐮� - 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(); + int time = 60; new Thread(() => { - var result = pm.SendSms(account); - if (result.StateCode.ToUpper() == "SUCCESS") + //1.鍏堟鏌ヨ处鍙锋槸鍚︽敞鍐岃繃 + var result = pm.GetRegionByAccount(account); + if (result.Code != StateCode.SUCCESS) { + IMessageCommon.Current.ShowErrorInfoAlter(result.Code); + return; } 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 "AccountNoExists": - tipString = Language.StringByID(StringId.AccountNotExist); - break; - case "Self:Net_Error": - tipString = Language.StringByID(StringId.NetworkAnomaly); - break; - } + //2.1妫�娴嬪綋鍓嶉厤缃煙鍚嶆槸鍚︿竴鑷达紝涓嶄竴鑷村垯鏇挎崲 + CheckAndSetUserRequestHost(result); + //2.2宸茬粡娉ㄥ唽杩囷紝鍙戦�侀獙璇佺爜鎵惧洖瀵嗙爜 Application.RunOnMainThread(() => { - new Tip() - { - CloseTime = 3, - Direction = AMPopTipDirection.None, - Text = tipString - }.Show(bodyView); + //鐭俊鍙戦�侀棿闅�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); + } + else + { + resultObj = pm.VerificationCodeSend(VerifyType.FIND_PASSWORD, account, true, phoneZoneCode); + } + + if (resultObj.Code != StateCode.SUCCESS) + { + // 鎻愮ず閿欒 + IMessageCommon.Current.ShowErrorInfoAlter(resultObj.Code); + } } }) { IsBackground = true }.Start(); } }; + + btnGetVerificationCode_Mail.MouseUpEventHandler = eventHandler; + btnGetVerificationCode_Phone.MouseUpEventHandler = eventHandler; } /// <summary> @@ -370,81 +421,29 @@ return new Thread(() => { - var verResult = pm.ValidatorCode(account, verCode, countryIndex); - if (verResult.StateCode.ToUpper() == "SUCCESS") + // 蹇樿瀵嗙爜 + var isPhone = registerType == 0; + var resultObj = pm.ForgetPassword(account, password, verCode, isPhone); + if (resultObj.Code == StateCode.SUCCESS) { - var resetResult = pm.ResetPassword(account, password, repeatPassword, countryIndex); - if (resetResult.StateCode.ToUpper() == "SUCCESS") + Application.RunOnMainThread(() => { - Application.RunOnMainThread(() => - { - LoadEvent_AutoLogin(); + LoadEvent_AutoLogin(); + callbackAction?.Invoke(account); + }); - callbackAction?.Invoke(account); - }); - } - else - { - string erorrInfo = ""; - switch (resetResult.StateCode) - { - case "PwdNoConfirm"://涓ゆ杈撳叆鐨勫瘑鐮佷笉涓�鑷� - erorrInfo = Language.StringByID(StringId.IncorrectRepeatPassword); - break; - case "AccountNoExists"://涓ゆ杈撳叆鐨勫瘑鐮佷笉涓�鑷� - erorrInfo = Language.StringByID(StringId.AccountNotExist); - break; - default: - erorrInfo = "Server error"; - break; - } - Application.RunOnMainThread(() => - { - waitPage.Hide(); - new Tip() - { - CloseTime = 3, - Direction = AMPopTipDirection.None, - Text = erorrInfo, - }.Show(bodyView); - }); - } } else { - string erorrInfo = ""; - switch (verResult.StateCode) - { - case "ValidCodeAndPhoneNoEqual"://楠岃瘉鐮侀敊璇� - erorrInfo = Language.StringByID(StringId.VerificationCodeWrong); - Application.RunOnMainThread(() => - { - btnVerificationCodeViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2; - btnVerificationCodeViewBottomLine.Height = Application.GetRealHeight(2); - }); - break; - case "NoRecord": - erorrInfo = Language.StringByID(StringId.PlsGetTheVerificationCode); - Application.RunOnMainThread(() => - { - btnVerificationCodeViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2; - btnVerificationCodeViewBottomLine.Height = Application.GetRealHeight(2); - }); - break; - default: - erorrInfo = "Server error"; - break; - } + // 2020-11-13 寰呬慨鏀� 楠岃瘉鐮侀敊璇� 璀﹀憡鎻愮ず + //btnVerificationCodeViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2; + //btnVerificationCodeViewBottomLine.Height = Application.GetRealHeight(2); Application.RunOnMainThread(() => { waitPage.Hide(); - new Tip() - { - CloseTime = 3, - Direction = AMPopTipDirection.None, - Text = erorrInfo, - }.Show(bodyView); }); + // 鎻愮ず閿欒 + IMessageCommon.Current.ShowErrorInfoAlter(resultObj.Code); } }); } @@ -478,7 +477,7 @@ Width = Application.GetRealWidth(288), Height = Application.GetRealHeight(206), BackgroundColor = CSS_Color.MainBackgroundColor, - Radius = (uint)Application.GetRealWidth(12), + Radius = (uint)Application.GetRealHeight(12), BorderWidth = 0, BorderColor = 0x00000000, }; @@ -527,7 +526,7 @@ Y = Application.GetRealHeight(150), Width = Application.GetRealWidth(84), Height = Application.GetRealWidth(84), - Radius = (uint)Application.GetRealWidth(42), + Radius = (uint)Application.GetRealHeight(42), BorderColor = 0x00000000, BorderWidth = 0, UnSelectedImagePath = "LoginIcon/2.png", -- Gitblit v1.8.0