From e08a444a9d7acea0cf39f50d22d29179f6a59292 Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期二, 01 十二月 2020 09:37:11 +0800
Subject: [PATCH] 2020-12-1
---
HDL_ON/UI/UI1-Login/RegisterPageBLL.cs | 370 +++++++++++++++++++++++++++++++++++-----------------
1 files changed, 250 insertions(+), 120 deletions(-)
diff --git a/HDL_ON/UI/UI1-Login/RegisterPageBLL.cs b/HDL_ON/UI/UI1-Login/RegisterPageBLL.cs
index d997321..b6dc594 100644
--- a/HDL_ON/UI/UI1-Login/RegisterPageBLL.cs
+++ b/HDL_ON/UI/UI1-Login/RegisterPageBLL.cs
@@ -21,6 +21,7 @@
LoadEvent_Register();
LoadEvent_LimtPasswordLength();
LoadEvent_TextChange();
+ LoadEvent_Server();
//var areaCodeList = pm.GetAreaCode();
}
/// <summary>
@@ -30,11 +31,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 (btnGlobalRoaming.Text == "+86" && etAccount.Text.Trim().Length != 11)
+ if (!Utlis.CheckPhoneNumber(etAccount.Text.Trim(), phoneZoneCode))
{
btnGetVerificationCode_Phone.IsSelected = false;
}
@@ -46,7 +47,7 @@
}
else//閭娉ㄥ唽鑾峰彇楠岃瘉鐮佹寜閽敓鏁堟潯浠�
{
- if (!mFalg.Success)
+ if (!Utlis.CheckEmail(etAccount.Text.Trim()))
{
btnGetVerificationCode_Mail.IsSelected = false;
}
@@ -68,10 +69,11 @@
//閫夋嫨鎵嬫満娉ㄥ唽
btnPhoneLogin.MouseUpEventHandler = (sender, e) =>
{
- if(registerType == 0)
+ if (registerType == 0)
{
return;
}
+ etAccount.IsNumberKeyboardType = true;
etAccount.Text = registerPhone;
etPassword.Text = "";
etRepeatPassword.Text = "";
@@ -100,6 +102,8 @@
{
if (registerType == 1)
return;
+
+ etAccount.IsNumberKeyboardType = false;
etAccount.Text = registerEmail;
etPassword.Text = "";
etRepeatPassword.Text = "";
@@ -148,9 +152,7 @@
{
if (registerType == 0)
{
- 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))
+ if (!Utlis.CheckPhoneNumber(etAccount.Text.Trim(), phoneZoneCode))
{
btnAccountViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2;
btnAccountViewBottomLine.Height = Application.GetRealHeight(2);
@@ -179,10 +181,7 @@
else if (registerType == 1)
{
//閭娉ㄥ唽-楠岃瘉閭鏄惁姝g‘
- var reg = new Regex("^\\s*([A-Za-z0-9_-]+(\\.\\w+)*@(\\w+\\.)+\\w{2,5})\\s*$");
- //Regex.IsMatch(etAccount.Text.Trim(), "([a-zA-Z0-9_\\.\\-])+\\@(([a-zA-Z0-9\\-])+\\.)+([a-zA-Z0-9]{2,5})+");
- 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);
@@ -208,7 +207,7 @@
}
}
}
- if(accountType ==0)
+ if (accountType == 0)
{
registerPhone = etAccount.Text.Trim();
}
@@ -366,74 +365,125 @@
void LoadEvent_GetVerificationCode()
{
EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
- {
- if ((sender as Button).IsSelected)
- {
- (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(() =>
- {
- //鑾峰彇楠岃瘉鐮�
- var result = pm.GetRegisterVerCode(account);
- if (result.StateCode.ToUpper() == "SUCCESS")
- {
- }
- else
- {
- string tipString = "Server error";
- switch (result.StateCode)
- {
- case "Exist":
- tipString = Language.StringByID(StringId.AccountAlreadyUse);
- break;
- case "SendFail":
- tipString = Language.StringByID(StringId.FailedToSendVerificationCode);
- break;
- case "Self:Net_Error":
- tipString = Language.StringByID(StringId.NetworkAnomaly);
- break;
- case "ParameterOrEmpty":
- if (registerType == 0)
- tipString = Language.StringByID(StringId.PlsEntryCorrectMobilNeumber);
- else
- tipString = Language.StringByID(StringId.PlsEntryCorrectEmailAddress);
- break;
- }
- Application.RunOnMainThread(() =>
- {
- new Tip()
- {
- CloseTime = 1,
- Direction = AMPopTipDirection.None,
- Text = tipString
- }.Show(bodyView);
- });
- }
- })
- { IsBackground = true }.Start();
- }
- };
+ {
+ if ((sender as Button).IsSelected)
+ {
+ //鍒ゆ柇鏄惁閫夋嫨浜嗘湇鍔″櫒锛岄�夋嫨浜嗘墠鑳藉彂閫侀獙璇佺爜
+ if (CheckIfSelectServer() == false) return;
+
+ string account = etAccount.Text.Trim();
+ int time = 60;
+ new Thread(() =>
+ {
+ //1.鍏堟鏌ヨ处鍙锋槸鍚︽敞鍐岃繃
+ var result = pm.GetRegionByAccount(account);
+ //2.璐﹀彿涓嶅瓨鍦紝鎵嶅厑璁哥户缁敞鍐�
+ if (result.Code == StateCode.ACCOUNT_NOT_EXIST)
+ {
+ //璐﹀彿涓嶅瓨鍦� 鏈敞鍐屽厑璁稿彂閫侀獙璇佺爜娉ㄥ唽
+ Application.RunOnMainThread(() =>
+ {
+ //鐭俊鍙戦�侀棿闅�60s
+ (sender as Button).IsSelected = false;
+
+ });
+ //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();
+
+ //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 if (result.Code.ToUpper() == StateCode.SUCCESS)
+ {
+ //3.鎻愮ず璐﹀彿宸插瓨鍦紝鏃犳硶閲嶅娉ㄥ唽
+ Utlis.ShowAlertOnMainThread(Language.StringByID(StringId.AccountAlreadyUse));
+ }
+ else
+ {
+ //4.鎻愮ず鍏跺畠寮傚父閿欒
+ IMessageCommon.Current.ShowErrorInfoAlter(result.Code);
+ }
+ })
+ { IsBackground = true }.Start();
+
+ //(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;
@@ -446,7 +496,7 @@
{
btnRegister.MouseUpEventHandler = (sender, e) =>
{
- if(etPassword.Text.Trim().Length > 13 || etPassword.Text.Trim().Length<6)
+ if (etPassword.Text.Trim().Length > 13 || etPassword.Text.Trim().Length < 6)
{
new Tip()
{
@@ -458,6 +508,9 @@
}
if (btnRegister.IsSelected)
{
+ //鍒ゆ柇鏄惁閫夋嫨浜嗘湇鍔″櫒锛岄�夋嫨浜嗘墠鑳藉彂閫侀獙璇佺爜
+ if (CheckIfSelectServer() == false) return;
+
waitPage = new Loading();
new PublicAssmebly().LoadPage_WaitPage(LoadMethod_RegisterThread(), bodyView, waitPage);
}
@@ -477,10 +530,10 @@
{
try
{
- //鏍¢獙楠岃瘉鐮�/娉ㄥ唽璐﹀彿
- var validateSmsResult = pm.ValidataCodeAndRegister(account, password, entryPassword, verCode, 86);
- //楠岃瘉鐮佹牎楠屾垚鍔�
- if (validateSmsResult.StateCode.ToUpper() == "SUCCESS")
+ //鏍¢獙楠岃瘉鐮佸苟娉ㄥ唽璐﹀彿
+ var isPhone = registerType == 0;
+ var validateSmsResult = pm.ValidataCodeAndRegister(account, password, verCode, isPhone);
+ if (validateSmsResult.Code == StateCode.SUCCESS)
{
//娉ㄥ唽鎴愬姛
//鎵ц鍥炶皟浜嬩欢
@@ -491,41 +544,45 @@
LoadEvent_AutoLogin(account, password);
});
}
- else//娉ㄥ唽澶辫触
+ else// 娉ㄥ唽澶辫触
{
- string erorrInfo = "";
- switch (validateSmsResult.StateCode)
- {
- case "Exist":
- erorrInfo = Language.StringByID(StringId.AccountAlreadyUse);
- break;
- case "PwdNoConfirm":
- erorrInfo = Language.StringByID(StringId.IncorrectRepeatPassword);
- break;
- case "ValidCodeAndPhoneNoEqual":
- erorrInfo = Language.StringByID(StringId.VerificationCodeWrong);
- break;
- case "NoRecord":
- erorrInfo = Language.StringByID(StringId.PlsGetTheVerificationCode);
- Application.RunOnMainThread(() =>
- {
- btnVerificationCodeViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2;
- btnVerificationCodeViewBottomLine.Height = Application.GetRealHeight(2);
- });
- break;
- default:
- erorrInfo = Language.StringByID(StringId.RegistrationFailedPleaseTryAgain);
- break;
- }
- Application.RunOnMainThread(() =>
- {
- new Tip()
- {
- CloseTime = 1,
- Direction = AMPopTipDirection.None,
- Text = erorrInfo,
- }.Show(bodyView);
- });
+ // 鎻愮ず閿欒
+ IMessageCommon.Current.ShowErrorInfoAlter(validateSmsResult.Code);
+
+ //2020-11-13 寰呬慨鏀�
+ //string erorrInfo = "";
+ //switch (validateSmsResult.StateCode)
+ //{
+ // case "Exist":
+ // erorrInfo = Language.StringByID(StringId.AccountAlreadyUse);
+ // break;
+ // case "PwdNoConfirm":
+ // erorrInfo = Language.StringByID(StringId.IncorrectRepeatPassword);
+ // break;
+ // case "ValidCodeAndPhoneNoEqual":
+ // erorrInfo = Language.StringByID(StringId.VerificationCodeWrong);
+ // break;
+ // case "NoRecord":
+ // erorrInfo = Language.StringByID(StringId.PlsGetTheVerificationCode);
+ // Application.RunOnMainThread(() =>
+ // {
+ // btnVerificationCodeViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2;
+ // btnVerificationCodeViewBottomLine.Height = Application.GetRealHeight(2);
+ // });
+ // break;
+ // default:
+ // erorrInfo = Language.StringByID(StringId.RegistrationFailedPleaseTryAgain);
+ // break;
+ //}
+ //Application.RunOnMainThread(() =>
+ //{
+ // new Tip()
+ // {
+ // CloseTime = 1,
+ // Direction = AMPopTipDirection.None,
+ // Text = erorrInfo,
+ // }.Show(bodyView);
+ //});
}
}
catch (Exception ex)
@@ -541,5 +598,78 @@
}
});
}
+
+ /// <summary>
+ /// 鍔犺浇鏈嶅姟鍣ㄩ�夋嫨鎸夐挳浜嬩欢
+ /// </summary>
+ void LoadEvent_Server()
+ {
+ //鍒ゆ柇涔嬪墠鏄惁閫夋嫨杩�
+ if (UserInfo.Current.GlobalRegion != null && !string.IsNullOrEmpty(UserInfo.Current.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)
+ {
+ btnServerBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2;
+ btnServerBottomLine.Height = Application.GetRealHeight(2);
+ }
+ else
+ {
+ btnServerBottomLine.BackgroundColor = CSS_Color.DividingLineColor;
+ btnServerBottomLine.Height = Application.GetRealHeight(1);
+ }
+ }
+
+ /// <summary>
+ ///
+ /// </summary>
+ void SetServerText()
+ {
+ //鏈嶅姟鍣ㄩ�夋嫨杩囨爣璁颁负true
+ isSelectServer = true;
+ ShowServerBottomLineState(false);
+ btnServerText.TextColor = CSS_Color.FirstLevelTitleColor;
+ btnServerText.Text = UserInfo.Current.GlobalRegion.regionName;
+ }
}
}
\ No newline at end of file
--
Gitblit v1.8.0