From ed3bfb7462d44747230437717e8673a5192f833f Mon Sep 17 00:00:00 2001 From: 陈嘉乐 <cjl@hdlchina.com.cn> Date: 星期一, 30 十一月 2020 20:34:51 +0800 Subject: [PATCH] 2020-11-30-2 --- HDL_ON/UI/UI1-Login/ForgetPasswordPageBLL.cs | 216 +++++++++++++++++++++++++++++++----------------------- 1 files changed, 124 insertions(+), 92 deletions(-) diff --git a/HDL_ON/UI/UI1-Login/ForgetPasswordPageBLL.cs b/HDL_ON/UI/UI1-Login/ForgetPasswordPageBLL.cs index 25b6fc5..ebbdac0 100644 --- a/HDL_ON/UI/UI1-Login/ForgetPasswordPageBLL.cs +++ b/HDL_ON/UI/UI1-Login/ForgetPasswordPageBLL.cs @@ -32,7 +32,6 @@ { if (registerType == 0) return; - etAccount.IsNumberKeyboardType = true; etAccount.Text = registerPhone; etPassword.Text = ""; etRepeatPassword.Text = ""; @@ -61,7 +60,6 @@ { if (registerType == 1) return; - etAccount.IsNumberKeyboardType = false; etAccount.Text = registerEmail; etPassword.Text = ""; etRepeatPassword.Text = ""; @@ -94,11 +92,11 @@ { etAccount.TextChangeEventHandler += (sender, e) => { - //Regex reg = new Regex(@"^[1]+\d{10}"); - //var mFalg = reg.Match(etAccount.Text.Trim()); + Regex reg = new Regex(@"^[1]+\d{10}"); + var mFalg = reg.Match(etAccount.Text.Trim()); if (registerType == 0)//鎵嬫満鑾峰彇楠岃瘉鐮佹寜閽敓鏁堟潯浠� { - if (!Utlis.CheckPhoneNumber(etAccount.Text.Trim(), phoneZoneCode)) + if (btnGlobalRoaming.Text == "+86" && etAccount.Text.Trim().Length != 11) { btnGetVerificationCode_Phone.IsSelected = false; } @@ -110,7 +108,7 @@ } else//閭鑾峰彇楠岃瘉鐮佹寜閽敓鏁堟潯浠� { - if (!Utlis.CheckEmail(etAccount.Text.Trim())) + if (!mFalg.Success) { btnGetVerificationCode_Mail.IsSelected = false; } @@ -144,8 +142,10 @@ //鎵嬫満鏂瑰紡-楠岃瘉鎵嬫満鍙风爜鏄惁姝g‘ if (registerType == 0) { - btnGetVerificationCode_Phone.IsSelected = false; - if (!Utlis.CheckPhoneNumber(etAccount.Text.Trim(), phoneZoneCode)) + btnGetVerificationCode_Phone.IsSelected = false; + 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)) { btnAccountViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2; btnAccountViewBottomLine.Height = Application.GetRealHeight(2); @@ -169,7 +169,9 @@ { btnGetVerificationCode_Mail.IsSelected = false; //閭鏂瑰紡-楠岃瘉閭鏄惁姝g‘ - if (!Utlis.CheckEmail(etAccount.Text.Trim())) + 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 ) { btnAccountViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2; btnAccountViewBottomLine.Height = Application.GetRealHeight(2); @@ -289,25 +291,6 @@ } /// <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() @@ -317,65 +300,62 @@ var account = etAccount.Text.Trim(); if ((sender as Button).IsSelected) { - int time = 60; + //鐭俊鍙戦�侀棿闅�60s + (sender as Button).IsSelected = false; + etVerificationCode.Foucs = true; + //鑾峰彇楠岃瘉鐮� + 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(() => { - //1.鍏堟鏌ヨ处鍙锋槸鍚︽敞鍐岃繃 - var result = pm.GetRegionByAccount(account); - if (result.Code != StateCode.SUCCESS) + var result = pm.GetLoginVerCode(account); + if (result.StateCode.ToUpper() == "SUCCESS") { - IMessageCommon.Current.ShowErrorInfoAlter(result.Code); - return; } else { - //2.1妫�娴嬪綋鍓嶉厤缃煙鍚嶆槸鍚︿竴鑷达紝涓嶄竴鑷村垯鏇挎崲 - CheckAndSetUserRequestHost(result); + string tipString = "Server error"; + switch (result.StateCode) + { + case "Exist": + tipString = Language.StringByID(StringId.AccountAlreadyUse); + 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.2宸茬粡娉ㄥ唽杩囷紝鍙戦�侀獙璇佺爜鎵惧洖瀵嗙爜 Application.RunOnMainThread(() => { - //鐭俊鍙戦�侀棿闅�60s - (sender as Button).IsSelected = false; - etVerificationCode.Foucs = true; + new Tip() + { + CloseTime = 1, + Direction = AMPopTipDirection.None, + Text = tipString + }.Show(bodyView); }); - //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(); @@ -421,29 +401,81 @@ return new Thread(() => { - // 蹇樿瀵嗙爜 - var isPhone = registerType == 0; - var resultObj = pm.ForgetPassword(account, password, verCode, isPhone); - if (resultObj.Code == StateCode.SUCCESS) + var verResult = pm.ValidatorCode(account, verCode, countryIndex); + if (verResult.StateCode.ToUpper() == "SUCCESS") { - Application.RunOnMainThread(() => + var resetResult = pm.ResetPassword(account, password, repeatPassword, countryIndex); + if (resetResult.StateCode.ToUpper() == "SUCCESS") { - LoadEvent_AutoLogin(); - callbackAction?.Invoke(account); - }); + Application.RunOnMainThread(() => + { + LoadEvent_AutoLogin(); + 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 = 1, + Direction = AMPopTipDirection.None, + Text = erorrInfo, + }.Show(bodyView); + }); + } } else { - // 2020-11-13 寰呬慨鏀� 楠岃瘉鐮侀敊璇� 璀﹀憡鎻愮ず - //btnVerificationCodeViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2; - //btnVerificationCodeViewBottomLine.Height = Application.GetRealHeight(2); + 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; + } Application.RunOnMainThread(() => { waitPage.Hide(); + new Tip() + { + CloseTime = 1, + Direction = AMPopTipDirection.None, + Text = erorrInfo, + }.Show(bodyView); }); - // 鎻愮ず閿欒 - IMessageCommon.Current.ShowErrorInfoAlter(resultObj.Code); } }); } @@ -477,7 +509,7 @@ Width = Application.GetRealWidth(288), Height = Application.GetRealHeight(206), BackgroundColor = CSS_Color.MainBackgroundColor, - Radius = (uint)Application.GetRealHeight(12), + Radius = (uint)Application.GetRealWidth(12), BorderWidth = 0, BorderColor = 0x00000000, }; @@ -526,7 +558,7 @@ Y = Application.GetRealHeight(150), Width = Application.GetRealWidth(84), Height = Application.GetRealWidth(84), - Radius = (uint)Application.GetRealHeight(42), + Radius = (uint)Application.GetRealWidth(42), BorderColor = 0x00000000, BorderWidth = 0, UnSelectedImagePath = "LoginIcon/2.png", -- Gitblit v1.8.0