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/RegisterPageBLL.cs | 777 ++++++++++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 576 insertions(+), 201 deletions(-) diff --git a/HDL_ON/UI/UI1-Login/RegisterPageBLL.cs b/HDL_ON/UI/UI1-Login/RegisterPageBLL.cs index 947b4f2..4e2b8ce 100644 --- a/HDL_ON/UI/UI1-Login/RegisterPageBLL.cs +++ b/HDL_ON/UI/UI1-Login/RegisterPageBLL.cs @@ -14,27 +14,110 @@ /// </summary> void LoadEventList() { - LoadPage_SwitchLoginType(); + LoadPage_SwitchRegisterType(); LoadEvent_EditTextFcousChange(); LoadEvent_ChangeTextVisble(); LoadEvent_GetVerificationCode(); LoadEvent_Register(); + LoadEvent_LimtPasswordLength(); + LoadEvent_TextChange(); + LoadEvent_Server(); + //var areaCodeList = pm.GetAreaCode(); + } + + + + /// <summary> + /// 浣胯兘淇敼娉ㄥ唽鎸夐挳 + /// 鏈夊唴瀹规墠鏄剧ず娉ㄥ唽鎸夐挳 + /// </summary> + void CheckEnableRegisterButton() + { + if (!string.IsNullOrEmpty(etAccount.Text) && !string.IsNullOrEmpty(etPassword.Text) && !string.IsNullOrEmpty(etVerificationCode.Text) && (etPassword.Text.Trim() == etRepeatPassword.Text.Trim())) + { + btnRegister.IsSelected = true; + } + else + { + btnRegister.IsSelected = false; + } + + //Utlis.WriteLine(" btnRegister.IsSelected:" + btnRegister.IsSelected.ToString()); + } + + /// <summary> + /// 鍔犺浇鏂囨湰鍙樺寲浜嬩欢 + /// </summary> + void LoadEvent_TextChange() + { + etAccount.TextChangeEventHandler = (sender, e) => + { + //Regex reg = new Regex(@"^[1]+\d{10}"); + //var mFalg = reg.Match(etAccount.Text.Trim()); + if (registerType == 0)//鎵嬫満娉ㄥ唽鑾峰彇楠岃瘉鐮佹寜閽敓鏁堟潯浠� + { + if (!Utlis.CheckPhoneNumber(etAccount.Text.Trim(), phoneZoneCode)) + { + 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; + } + } + CheckEnableRegisterButton(); + }; + + etVerificationCode.TextChangeEventHandler = (sender, e) => + { + CheckEnableRegisterButton(); + }; } /// <summary> /// 鍒囨崲娉ㄥ唽绫诲瀷 /// </summary> - void LoadPage_SwitchLoginType() + void LoadPage_SwitchRegisterType() { //閫夋嫨鎵嬫満娉ㄥ唽 - btnPhoneLogin.MouseUpEventHandler += (sender, e) => + btnPhoneLogin.MouseUpEventHandler = (sender, e) => { + if (registerType == 0) + { + return; + } + + if (!string.IsNullOrEmpty(etAccount.Text.Trim())) + { + //璁板綍涔嬪墠鐨勯偖绠� + registerEmail = etAccount.Text.Trim(); + } + + etAccount.IsNumberKeyboardType = true; + 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(R.InternationalizationString.PlsEntryCorrectMobilNeumber); + etAccount.PlaceholderText = Language.StringByID(StringId.PlsEntryPhoneNumber); #endregion #region 鍒囨崲娉ㄥ唽鏂瑰紡鍙婂浘鏍� @@ -48,14 +131,29 @@ }; //閫夋嫨閭娉ㄥ唽 - btnEmailLogin.MouseUpEventHandler += (sender, e) => + btnEmailLogin.MouseUpEventHandler = (sender, e) => { + 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 = ""; #region 鍒囨崲閫変腑鎸夐挳 + btnGetVerificationCode_Mail.Visible = true; + btnGetVerificationCode_Phone.Visible = false; btnPhoneLogin.TextColor = CSS_Color.PromptingColor1; btnPhoneLogin.TextSize = CSS_FontSize.TextFontSize; btnEmailLogin.TextColor = CSS_Color.MainColor; btnEmailLogin.TextSize = CSS_FontSize.EmphasisFontSize_Secondary; - etAccount.PlaceholderText = Language.StringByID(R.InternationalizationString.PlsEntryEmailAddress); + etAccount.PlaceholderText = Language.StringByID(StringId.PlsEntryEmailAddress); #endregion #region 鍒囨崲娉ㄥ唽绫诲瀷鍙婂浘鏍� @@ -70,7 +168,6 @@ }; } - /// <summary> /// 鍔犺浇鏂囨湰妗嗙劍鐐瑰彉鍖栦簨浠� /// </summary> @@ -81,151 +178,190 @@ { if (etAccount.Foucs) { - btnAccountViewBottomLine.BackgroundColor = CSS_Color.MainColor; - btnAccountViewBottomLine.Height = Application.GetRealHeight(2); + HDLCommon.Current.BottomLineShowType(btnAccountViewBottomLine, BottomLineType.GotFocus); } else { + if (isHitBack) return;//鐐瑰嚮杩斿洖鍏抽棴椤甸潰涓嶆娴嬫彁绀� + //鏍囪鎵嬫満鍙风爜鏃犳晥 - btnGetVerificationCode.IsSelected = false; - btnAccountViewBottomLine.BackgroundColor = CSS_Color.DividingLineColor; - btnAccountViewBottomLine.Height = Application.GetRealHeight(1); + HDLCommon.Current.BottomLineShowType(btnAccountViewBottomLine, BottomLineType.Normal); //鎵嬫満娉ㄥ唽-楠岃瘉鎵嬫満鍙风爜鏄惁姝g‘ - if (registerType == 0) + if (etAccount.Text.Trim().Length > 0) { - Regex reg = new Regex("^\\d+$"); - var mFalg = reg.Match(etAccount.Text.Trim()); - if (!mFalg.Success || (btnGlobalRoaming.Text == "+86" && etAccount.Text.Trim().Length != 11)) + if (registerType == 0) { - btnAccountViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2; - btnAccountViewBottomLine.Height = Application.GetRealHeight(2); - new Tip() + if (!Utlis.CheckPhoneNumber(etAccount.Text.Trim(), phoneZoneCode)) { - CloseTime = 3, - Text = Language.StringByID(R.InternationalizationString.PlsEntryCorrectMobilNeumber), - Direction = AMPopTipDirection.None, - }.Show(bodyView); + HDLCommon.Current.BottomLineShowType(btnAccountViewBottomLine, BottomLineType.Error); + btnGetVerificationCode_Phone.IsSelected = false; + new Tip() + { + CloseTime = 1, + Text = Language.StringByID(StringId.PlsEntryCorrectMobilNeumber), + Direction = AMPopTipDirection.None, + }.Show(bodyView); + } + else + { + if (btnGetVerificationCode_Phone.Text == Language.StringByID(StringId.GetVerificationCode)) + { + //鏍囪鎵嬫満鍙风爜鏈夋晥 + btnGetVerificationCode_Phone.IsSelected = true; + } + //璐﹀彿鏈夋晥銆佸瘑鐮佹湁鏁堛�侀獙璇佺爜杈撳叆浜嗭紝鎵嶈兘鐐瑰嚮娉ㄥ唽 + if (ValidPassword && !string.IsNullOrEmpty(etVerificationCode.Text.Trim())) + { + btnRegister.IsSelected = true; + } + } } - else + else if (registerType == 1) { - //鏍囪鎵嬫満鍙风爜鏈夋晥 - btnGetVerificationCode.IsSelected = true; - //璐﹀彿鏈夋晥銆佸瘑鐮佹湁鏁堛�侀獙璇佺爜杈撳叆浜嗭紝鎵嶈兘鐐瑰嚮娉ㄥ唽 - if (btnGetVerificationCode.IsSelected && ValidPassword && string.IsNullOrEmpty(etVerificationCode.Text.Trim())) + //閭娉ㄥ唽-楠岃瘉閭鏄惁姝g‘ + if (!Utlis.CheckEmail(etAccount.Text.Trim())) { - btnRegister.IsSelected = true; + HDLCommon.Current.BottomLineShowType(btnAccountViewBottomLine, BottomLineType.Error); + btnGetVerificationCode_Mail.IsSelected = false; + new Tip() + { + CloseTime = 1, + Text = Language.StringByID(StringId.PlsEntryCorrectEmailAddress), + Direction = AMPopTipDirection.None, + }.Show(bodyView); + } + else + { + if (btnGetVerificationCode_Mail.Text == Language.StringByID(StringId.GetVerificationCode)) + {//鏍囪鎵嬫満鍙风爜鏈夋晥 + btnGetVerificationCode_Mail.IsSelected = true; + } + //璐﹀彿鏈夋晥銆佸瘑鐮佹湁鏁堛�侀獙璇佺爜杈撳叆浜嗭紝鎵嶈兘鐐瑰嚮娉ㄥ唽 + if (ValidPassword && string.IsNullOrEmpty(etVerificationCode.Text.Trim())) + { + btnRegister.IsSelected = true; + } } } } - else if (registerType == 1) - { - //閭娉ㄥ唽-楠岃瘉閭鏄惁姝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 || (btnGlobalRoaming.Text == "+86" && etAccount.Text.Trim().Length != 11)) - { - btnAccountViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2; - btnAccountViewBottomLine.Height = Application.GetRealHeight(2); - new Tip() - { - CloseTime = 3, - Text = Language.StringByID(R.InternationalizationString.PlsEntryCorrectEmailAddress), - Direction = AMPopTipDirection.None, - }.Show(bodyView); - } - else - { - //鏍囪鎵嬫満鍙风爜鏈夋晥 - btnGetVerificationCode.IsSelected = true; - //璐﹀彿鏈夋晥銆佸瘑鐮佹湁鏁堛�侀獙璇佺爜杈撳叆浜嗭紝鎵嶈兘鐐瑰嚮娉ㄥ唽 - if (btnGetVerificationCode.IsSelected && ValidPassword && string.IsNullOrEmpty(etVerificationCode.Text.Trim())) - { - btnRegister.IsSelected = true; - } - } - } + } }; //瀵嗙爜鏂囨湰妗嗙劍鐐瑰彉鍖栦簨浠� - etPassword.FoucsChanged += (sender, e) => { + etPassword.FoucsChanged += (sender, e) => + { 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 (etPassword.Text.Trim().Length < 6) + if (isHitBack) return;//鐐瑰嚮杩斿洖鍏抽棴椤甸潰涓嶆娴嬫彁绀� + + HDLCommon.Current.BottomLineShowType(btnPasswordViewBottomLine, BottomLineType.Normal); + if (etPassword.Text.Length == 0) return;//娌¤緭鍏ヤ笉妫�娴嬫彁绀� + + //闇�瑕佽緭鍏�6浣嶄互涓婄殑瀵嗙爜 + if (etPassword.Text.Length < 6 || etPassword.Text.Length > 13) { + HDLCommon.Current.BottomLineShowType(btnPasswordViewBottomLine, BottomLineType.Error); new Tip() { - CloseTime = 3, + CloseTime = 1, Direction = AMPopTipDirection.None, - Text = Language.StringByID(R.InternationalizationString.IncorrectRepeatPassword) + Text = Language.StringByID(StringId.PlsRegisterPassword) }.Show(bodyView); } + } }; //纭瀵嗙爜鏂囨湰妗嗙劍鐐瑰彉鍖栦簨浠� - etRepeatPassword.FoucsChanged += (sender, e) => { + etRepeatPassword.FoucsChanged += (sender, e) => + { 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()) + if (etPassword.Text.Trim().Length > 5) { - btnRepeatPasswordViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2; - btnRepeatPasswordViewBottomLine.Height = Application.GetRealHeight(2); - new Tip() + if (etPassword.Text.Trim() != etRepeatPassword.Text.Trim()) { - CloseTime = 3, - Direction = AMPopTipDirection.None, - Text = Language.StringByID(R.InternationalizationString.IncorrectRepeatPassword) - }.Show(bodyView); - } - else - { - ValidPassword = true; - //璐﹀彿鏈夋晥銆佸瘑鐮佹湁鏁堛�侀獙璇佺爜杈撳叆浜嗭紝鎵嶈兘鐐瑰嚮娉ㄥ唽 - if (btnGetVerificationCode.IsSelected && ValidPassword && string.IsNullOrEmpty(etVerificationCode.Text.Trim())) + HDLCommon.Current.BottomLineShowType(btnRepeatPasswordViewBottomLine, BottomLineType.Error); + new Tip() + { + CloseTime = 1, + Direction = AMPopTipDirection.None, + Text = Language.StringByID(StringId.IncorrectRepeatPassword), + MaxWidth = Application.GetRealWidth(300), + }.Show(bodyView); + } + else { - btnRegister.IsSelected = true; + ValidPassword = true; + //璐﹀彿鏈夋晥銆佸瘑鐮佹湁鏁堛�侀獙璇佺爜杈撳叆浜嗭紝鎵嶈兘鐐瑰嚮娉ㄥ唽 + if (ValidPassword && !string.IsNullOrEmpty(etVerificationCode.Text.Trim())) + { + btnRegister.IsSelected = true; + } } } } }; //楠岃瘉鐮佹枃鏈鐒︾偣鍙樺寲浜嬩欢 - etVerificationCode.FoucsChanged += (sender, e) => { + etVerificationCode.FoucsChanged += (sender, e) => + { 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 (etVerificationCode.Text.Length > 4) + if (isHitBack) return;//鐐瑰嚮杩斿洖鍏抽棴椤甸潰涓嶆娴嬫彁绀� + + HDLCommon.Current.BottomLineShowType(btnVerificationCodeViewBottomLine, BottomLineType.Normal); + if (etVerificationCode.Text.Length > 1) { //璐﹀彿鏈夋晥銆佸瘑鐮佹湁鏁堛�侀獙璇佺爜杈撳叆浜嗭紝鎵嶈兘鐐瑰嚮娉ㄥ唽 - if (btnGetVerificationCode.IsSelected && ValidPassword && string.IsNullOrEmpty(etVerificationCode.Text.Trim())) + if (ValidPassword) { btnRegister.IsSelected = true; } } } + }; + + } + + /// <summary> + /// 闄愬埗瀵嗙爜鏂囨湰搴撹緭鍏ラ暱搴� + /// </summary> + void LoadEvent_LimtPasswordLength() + { + etPassword.TextChangeEventHandler = (sender, e) => + { + if (etPassword.Text.Length > 16) + { + etPassword.Text = etPassword.Text.Remove(15); + } + CheckEnableRegisterButton(); + }; + + etRepeatPassword.TextChangeEventHandler = (sender, e) => + { + if (etRepeatPassword.Text.Length > 16) + { + etRepeatPassword.Text = etRepeatPassword.Text.Remove(15); + } + CheckEnableRegisterButton(); }; } @@ -235,12 +371,14 @@ void LoadEvent_ChangeTextVisble() { //瀵嗙爜鏂囨湰鍙鎬у彉鍖� - btnVisiblePassword.MouseUpEventHandler += (sender, e) => { + btnVisiblePassword.MouseUpEventHandler += (sender, e) => + { btnVisiblePassword.IsSelected = !btnVisiblePassword.IsSelected; etPassword.SecureTextEntry = !btnVisiblePassword.IsSelected; }; //閲嶅瀵嗙爜鏂囨湰鍙鎬у彉鍖� - btnRepeatVisiblePassword.MouseUpEventHandler += (sender, e) => { + btnRepeatVisiblePassword.MouseUpEventHandler += (sender, e) => + { btnRepeatVisiblePassword.IsSelected = !btnRepeatVisiblePassword.IsSelected; etRepeatPassword.SecureTextEntry = !btnRepeatVisiblePassword.IsSelected; }; @@ -251,50 +389,152 @@ /// </summary> void LoadEvent_GetVerificationCode() { - btnGetVerificationCode.MouseUpEventHandler += (sender, e) => { - if (btnGetVerificationCode.IsSelected) + EventHandler<MouseEventArgs> eventHandler = (sender, e) => + { + if ((sender as Button).IsSelected) { - //鐭俊鍙戦�侀棿闅�60s - btnGetVerificationCode.IsSelected = false; + //鍒ゆ柇鏄惁閫夋嫨浜嗘湇鍔″櫒锛岄�夋嫨浜嗘墠鑳藉彂閫侀獙璇佺爜 + if (CheckIfSelectServer() == false) return; + + string account = etAccount.Text.Trim(); int time = 60; + //鍔犺浇Loading鏁堟灉 + var waitPage = new Loading(); + bodyView.AddChidren(waitPage); + waitPage.Start(Language.StringByID(StringId.PleaseWait)); + new Thread(() => { - while (time == 0) + try { - time--; + //1.鍏堟鏌ヨ处鍙锋槸鍚︽敞鍐岃繃 + var result = pm.GetRegionByAccount(account); + //2.璐﹀彿涓嶅瓨鍦紝鎵嶅厑璁哥户缁敞鍐� + if (result.Code == StateCode.ACCOUNT_NOT_EXIST) + { + //璐﹀彿涓嶅瓨鍦� 鏈敞鍐屽厑璁稿彂閫侀獙璇佺爜娉ㄥ唽 + + //2.2 鑾峰彇楠岃瘉鐮� + ResponsePackNew resultObj; + if (registerType == 1)//閭 + { + resultObj = pm.VerificationCodeSend(VerifyType.REGISTER_USER, account); + } + else + { + resultObj = pm.VerificationCodeSend(VerifyType.REGISTER_USER, account, true, phoneZoneCode); + } + + if (resultObj.Code != StateCode.SUCCESS) + { + // 鎻愮ず閿欒 + IMessageCommon.Current.ShowErrorInfoAlter(resultObj.Code); + } + else + { + //2.1 寮�濮嬪�掕鏃� + Application.RunOnMainThread(() => + { + //鐭俊鍙戦�侀棿闅�60s + (sender as Button).IsSelected = false; + + }); + 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(); + } + + } + else if (result.Code.ToUpper() == StateCode.SUCCESS) + { + //3.鎻愮ず璐﹀彿宸插瓨鍦紝鏃犳硶閲嶅娉ㄥ唽 + Utlis.ShowAlertOnMainThread(Language.StringByID(StringId.AccountAlreadyUse)); + } + else + { + //4.鎻愮ず鍏跺畠寮傚父閿欒 + IMessageCommon.Current.ShowErrorInfoAlter(result.Code); + } + } + catch { } + finally + { Application.RunOnMainThread(() => { - btnGetVerificationCode.Text = time.ToString() + "s"; + if (waitPage != null) + { + waitPage.RemoveFromParent(); + waitPage = null; + } }); - Thread.Sleep(1000); } - Application.RunOnMainThread(() => - { - //鍥炲鑾峰彇鐭俊鎸夐挳浜嬩欢 - btnGetVerificationCode.IsSelected = true; - }); }) { IsBackground = true }.Start(); - //妫�鏌ユ墜鏈烘槸鍚﹀凡缁忚娉ㄥ唽 - var checkPhoneResult = pm.IsExistingAccount(etAccount.Text.Trim()); - //鎵嬫満鏈娉ㄥ唽 - if (checkPhoneResult.StateCode != HttpRequesResult.SUCCESS.ToString()) - { - //鑾峰彇楠岃瘉鐮� - pm.GetPhoneVerificationCode(etAccount.Text.Trim(), MainPage.Company); - } - else - { - //鎻愮ず鎵嬫満鍙风爜宸茬粡娉ㄥ唽 - new Tip() - { - CloseTime = 3, - Direction = AMPopTipDirection.None, - Text = Language.StringByID(R.InternationalizationString.AccountAlreadyExists) - }.Show(bodyView); - } + + //(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(() => + //{ + // ResponsePackNew resultObj; + // // 鑾峰彇楠岃瘉鐮� + // if (registerType == 1)//閭 + // { + // resultObj = pm.VerificationCodeSend(VerifyType.REGISTER_USER, account); + // } + // else + // { + // resultObj = pm.VerificationCodeSend(VerifyType.REGISTER_USER, account, true, phoneZoneCode); + // } + + // if (resultObj.Code != StateCode.SUCCESS_CODE) + // { + // // 鎻愮ず閿欒 + // IMessageCommon.Current.ShowErrorInfoAlter(NewAPI.API_POST_Verification_Send, resultObj.Code); + // } + //}) + //{ IsBackground = true }.Start(); } }; + + btnGetVerificationCode_Phone.MouseDownEventHandler = eventHandler; + btnGetVerificationCode_Mail.MouseDownEventHandler = eventHandler; } /// <summary> @@ -302,86 +542,221 @@ /// </summary> void LoadEvent_Register() { - btnRegister.MouseUpEventHandler += (sender, e) => + btnRegister.MouseUpEventHandler = (sender, e) => { - //鎵嬫満娉ㄥ唽 - if (registerType == 0) + if (btnRegister.IsSelected) { - //鏍¢獙楠岃瘉鐮� - var validateSmsResult = pm.ValidateSmsCode(etAccount.Text.Trim(), etVerificationCode.Text.Trim()); - //楠岃瘉鐮佹牎楠屾垚鍔� - if (validateSmsResult.StateCode == HttpRequesResult.SUCCESS.ToString()) - { - //娉ㄥ唽璐﹀彿 - var registerPhoneResult = pm.RegisterPhone(etAccount.Text.Trim(), etPassword.Text.Trim(), Language.CurrentLanguage); - if (registerPhoneResult.StateCode == HttpRequesResult.SUCCESS.ToString()) - { - //娉ㄥ唽鎴愬姛 - //鎵ц鍥炶皟浜嬩欢 - callbackAction?.Invoke(etAccount.Text.Trim()); - } - else - { - //娉ㄥ唽澶辫触 - new Tip() - { - CloseTime = 3, - Text = registerPhoneResult.ErrorInfo, - Direction = AMPopTipDirection.None, - }.Show(bodyView); - } - } - else - { - //楠岃瘉鐮佹牎楠屽け璐� - new Tip() - { - CloseTime = 3, - Direction = AMPopTipDirection.None, - Text = Language.StringByID(R.InternationalizationString.VerificationCodeWrong) - }.Show(bodyView); - } - } - else if(registerType == 1) - { - //閭娉ㄥ唽 - //鏍¢獙楠岃瘉鐮� - var validateSmsResult = pm.ValidateSmsCode(etAccount.Text.Trim(), etVerificationCode.Text.Trim()); - //楠岃瘉鐮佹牎楠屾垚鍔� - if (validateSmsResult.StateCode == HttpRequesResult.SUCCESS.ToString()) - { - //娉ㄥ唽璐﹀彿 - var registerPhoneResult = pm.RegisterPhone(etAccount.Text.Trim(), etPassword.Text.Trim(), Language.CurrentLanguage); - if (registerPhoneResult.StateCode == HttpRequesResult.SUCCESS.ToString()) - { - //娉ㄥ唽鎴愬姛 - //鎵ц鍥炶皟浜嬩欢 - callbackAction?.Invoke(etAccount.Text.Trim()); - } - else - { - //娉ㄥ唽澶辫触 - new Tip() - { - CloseTime = 3, - Text = registerPhoneResult.ErrorInfo, - Direction = AMPopTipDirection.None, - }.Show(bodyView); - } - } - else - { - //楠岃瘉鐮佹牎楠屽け璐� - new Tip() - { - CloseTime = 3, - Direction = AMPopTipDirection.None, - Text = Language.StringByID(R.InternationalizationString.VerificationCodeWrong) - }.Show(bodyView); - } + //鍒ゆ柇鏄惁閫夋嫨浜嗘湇鍔″櫒锛岄�夋嫨浜嗘墠鑳藉彂閫侀獙璇佺爜 + if (CheckIfSelectServer() == false) return; + //妫�娴嬭处鍙� + if (!CheckAccount()) return; + //妫�娴嬪瘑鐮� + if (!CheckPassword()) return; + //妫�娴嬮獙璇佺爜 + if (!CheckVerificationCode()) return; + + waitPage = new Loading(); + new PublicAssmebly().LoadPage_WaitPage(LoadMethod_RegisterThread(), bodyView, waitPage); } }; } + /// <summary> + /// 鍔犺浇娉ㄥ唽鏂规硶 + /// </summary> + Thread LoadMethod_RegisterThread() + { + string account = etAccount.Text.Trim(); + string password = etPassword.Text.Trim(); + string entryPassword = etRepeatPassword.Text.Trim(); + string verCode = etVerificationCode.Text.Trim(); + return new Thread(() => + { + try + { + //鏍¢獙楠岃瘉鐮佸苟娉ㄥ唽璐﹀彿 + var isPhone = registerType == 0; + var validateSmsResult = pm.ValidataCodeAndRegister(account, password, verCode, isPhone); + if (validateSmsResult.Code == StateCode.SUCCESS) + { + //娉ㄥ唽鎴愬姛 + //鎵ц鍥炶皟浜嬩欢 + //callbackAction?.Invoke(account); + Application.RunOnMainThread(() => + { + Close(); + LoadEvent_AutoLogin(account, password); + }); + } + else// 娉ㄥ唽澶辫触 + { + // 鎻愮ず閿欒 + IMessageCommon.Current.ShowErrorInfoAlter(validateSmsResult.Code); + + Application.RunOnMainThread(() => + { + if (validateSmsResult.Code == StateCode.VERIFICATION_CODE_WRONG) + { + HDLCommon.Current.BottomLineShowType(btnVerificationCodeViewBottomLine, BottomLineType.Error); + } + }); + } + } + catch (Exception ex) + { + MainPage.Log("Exception 1 : " + ex.Message); + } + finally + { + Application.RunOnMainThread(() => + { + waitPage.Hide(); + waitPage.RemoveFromParent(); + }); + } + }); + } + + /// <summary> + /// 鍔犺浇鏈嶅姟鍣ㄩ�夋嫨鎸夐挳浜嬩欢 + /// </summary> + void LoadEvent_Server() + { + //鍒ゆ柇涔嬪墠鏄惁閫夋嫨杩� + if (OnAppConfig.Instance.GlobalRegion != null && !string.IsNullOrEmpty(OnAppConfig.Instance.GlobalRegion.regionUrl)) + { + + SetServerText(); + } + + EventHandler<MouseEventArgs> eventHandler = (sender, e) => + { + Action selectAction = () => + { + //鏈嶅姟鍣ㄩ�夋嫨杩囨爣璁颁负true + SetServerText(); + }; + new SelectServerDialog(selectAction).LoadPage(); + + }; + + btnServerGo.MouseUpEventHandler = eventHandler; + btnServerText.MouseUpEventHandler = eventHandler; + } + + /// <summary> + /// 妫�娴嬫槸鍚﹂�夋嫨浜嗘湇鍔″櫒 + /// </summary> + /// <returns></returns> + private bool CheckIfSelectServer() + { + if (isSelectServer == false) + { + //璇峰厛閫夋嫨鍥藉/鍖哄煙 + Utlis.ShowTip(Language.StringByID(StringId.PleaseSelectCountryOrRegion)); + ShowServerBottomLineState(true); + return false; + } + return true; + } + + /// <summary> + /// 鏈嶅姟鍣ㄤ笅鍒掔嚎鏍峰紡 + /// </summary> + /// <param name="isError"></param> + void ShowServerBottomLineState(bool isError) + { + if (isError) + { + HDLCommon.Current.BottomLineShowType(btnServerBottomLine, BottomLineType.Error); + } + else + { + HDLCommon.Current.BottomLineShowType(btnServerBottomLine, BottomLineType.Normal); + } + } + + /// <summary> + /// + /// </summary> + void SetServerText() + { + //鏈嶅姟鍣ㄩ�夋嫨杩囨爣璁颁负true + isSelectServer = true; + ShowServerBottomLineState(false); + btnServerText.TextColor = CSS_Color.FirstLevelTitleColor; + btnServerText.Text = OnAppConfig.Instance.GlobalRegion.regionName; + } + + + /// <summary> + /// 妫�娴嬭处鍙� + /// </summary> + /// <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; + } } -} +} \ No newline at end of file -- Gitblit v1.8.0