From 9aa32bd5ed75d54b2141b6c91f163d43216a3643 Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期五, 06 十二月 2019 13:14:02 +0800
Subject: [PATCH] 20191206
---
HDL_ON/UI/UI1-Login/BLL/RegisterPageBLL.cs | 393 +++++++++++++++++++++++++++++++------------------------
1 files changed, 222 insertions(+), 171 deletions(-)
diff --git a/HDL_ON/UI/UI1-Login/BLL/RegisterPageBLL.cs b/HDL_ON/UI/UI1-Login/BLL/RegisterPageBLL.cs
index 69578ca..2eefeb0 100644
--- a/HDL_ON/UI/UI1-Login/BLL/RegisterPageBLL.cs
+++ b/HDL_ON/UI/UI1-Login/BLL/RegisterPageBLL.cs
@@ -19,6 +19,28 @@
LoadEvent_ChangeTextVisble();
LoadEvent_GetVerificationCode();
LoadEvent_Register();
+
+ LoadEvent_TextChange();
+ //var areaCodeList = pm.GetAreaCode();
+ }
+ /// <summary>
+ /// 鍔犺浇鏂囨湰鍙樺寲浜嬩欢
+ /// </summary>
+ void LoadEvent_TextChange()
+ {
+ etAccount.TextChangeEventHandler += (sender, e) =>
+ {
+ 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.IsSelected = false;
+ }
+ else
+ {
+ btnGetVerificationCode.IsSelected = true;
+ }
+ };
}
/// <summary>
@@ -29,6 +51,10 @@
//閫夋嫨鎵嬫満娉ㄥ唽
btnPhoneLogin.MouseUpEventHandler += (sender, e) =>
{
+#if DEBUG
+ etAccount.Text = "17576024298";
+#endif
+
#region 鍒囨崲閫変腑鎸夐挳
btnEmailLogin.TextColor = CSS_Color.PromptingColor1;
btnEmailLogin.TextSize = CSS_FontSize.TextFontSize;
@@ -70,7 +96,6 @@
};
}
-
/// <summary>
/// 鍔犺浇鏂囨湰妗嗙劍鐐瑰彉鍖栦簨浠�
/// </summary>
@@ -91,56 +116,61 @@
btnAccountViewBottomLine.BackgroundColor = CSS_Color.DividingLineColor;
btnAccountViewBottomLine.Height = Application.GetRealHeight(1);
//鎵嬫満娉ㄥ唽-楠岃瘉鎵嬫満鍙风爜鏄惁姝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()
+
+ 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))
{
- CloseTime = 3,
- Text = Language.StringByID(InternationalizationString.PlsEntryCorrectMobilNeumber),
- Direction = AMPopTipDirection.None,
- }.Show(bodyView);
- }
- else
- {
- //鏍囪鎵嬫満鍙风爜鏈夋晥
- btnGetVerificationCode.IsSelected = true;
- //璐﹀彿鏈夋晥銆佸瘑鐮佹湁鏁堛�侀獙璇佺爜杈撳叆浜嗭紝鎵嶈兘鐐瑰嚮娉ㄥ唽
- if (btnGetVerificationCode.IsSelected && ValidPassword && string.IsNullOrEmpty(etVerificationCode.Text.Trim()))
+ btnAccountViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2;
+ btnAccountViewBottomLine.Height = Application.GetRealHeight(2);
+ new Tip()
+ {
+ CloseTime = 3,
+ Text = Language.StringByID(InternationalizationString.PlsEntryCorrectMobilNeumber),
+ Direction = AMPopTipDirection.None,
+ }.Show(bodyView);
+ }
+ else
{
- btnRegister.IsSelected = true;
+ //鏍囪鎵嬫満鍙风爜鏈夋晥
+ btnGetVerificationCode.IsSelected = true;
+ //璐﹀彿鏈夋晥銆佸瘑鐮佹湁鏁堛�侀獙璇佺爜杈撳叆浜嗭紝鎵嶈兘鐐瑰嚮娉ㄥ唽
+ if (btnGetVerificationCode.IsSelected && 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))
+ else if (registerType == 1)
{
- btnAccountViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2;
- btnAccountViewBottomLine.Height = Application.GetRealHeight(2);
- new Tip()
+ //閭娉ㄥ唽-楠岃瘉閭鏄惁姝g‘
+ var reg = new Regex("^\\s*([A-Za-z0-9_-]+(\\.\\w+)*@(\\w+\\.)+\\w{2,5})\\s*$");
+ Regex.IsMatch(etAccount.Text.Trim(), "^[\\w-]+@[\\w-]+\\.(com|net|org|edu|mil|tv|biz|info)$");
+ var mFalg = reg.Match(etAccount.Text.Trim());
+ if (!mFalg.Success)
{
- CloseTime = 3,
- Text = Language.StringByID(InternationalizationString.PlsEntryCorrectEmailAddress),
- Direction = AMPopTipDirection.None,
- }.Show(bodyView);
- }
- else
- {
- //鏍囪鎵嬫満鍙风爜鏈夋晥
- btnGetVerificationCode.IsSelected = true;
- //璐﹀彿鏈夋晥銆佸瘑鐮佹湁鏁堛�侀獙璇佺爜杈撳叆浜嗭紝鎵嶈兘鐐瑰嚮娉ㄥ唽
- if (btnGetVerificationCode.IsSelected && ValidPassword && string.IsNullOrEmpty(etVerificationCode.Text.Trim()))
+ btnAccountViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2;
+ btnAccountViewBottomLine.Height = Application.GetRealHeight(2);
+ new Tip()
+ {
+ CloseTime = 3,
+ Text = Language.StringByID(InternationalizationString.PlsEntryCorrectEmailAddress),
+ Direction = AMPopTipDirection.None,
+ }.Show(bodyView);
+ }
+ else
{
- btnRegister.IsSelected = true;
+ //鏍囪鎵嬫満鍙风爜鏈夋晥
+ btnGetVerificationCode.IsSelected = true;
+ //璐﹀彿鏈夋晥銆佸瘑鐮佹湁鏁堛�侀獙璇佺爜杈撳叆浜嗭紝鎵嶈兘鐐瑰嚮娉ㄥ唽
+ if (btnGetVerificationCode.IsSelected && ValidPassword && string.IsNullOrEmpty(etVerificationCode.Text.Trim()))
+ {
+ btnRegister.IsSelected = true;
+ }
}
}
}
@@ -148,7 +178,8 @@
};
//瀵嗙爜鏂囨湰妗嗙劍鐐瑰彉鍖栦簨浠�
- etPassword.FoucsChanged += (sender, e) => {
+ etPassword.FoucsChanged += (sender, e) =>
+ {
if (etPassword.Foucs)
{
btnPasswordViewBottomLine.BackgroundColor = CSS_Color.MainColor;
@@ -156,23 +187,30 @@
}
else
{
- btnPasswordViewBottomLine.BackgroundColor = CSS_Color.DividingLineColor;
- btnPasswordViewBottomLine.Height = Application.GetRealHeight(1);
- //鏍¢獙瀵嗙爜鏄惁绗﹀悎瑕佹眰
- if (etPassword.Text.Trim().Length < 6)
+ //闇�瑕佽緭鍏�6浣嶄互涓婄殑瀵嗙爜
+ if (etPassword.Text.Length < 6)
{
+ btnRepeatPasswordViewBottomLine.BackgroundColor = CSS_Color.DividingLineColor;
+ btnRepeatPasswordViewBottomLine.Height = Application.GetRealHeight(1);
+
new Tip()
{
CloseTime = 3,
Direction = AMPopTipDirection.None,
- Text = Language.StringByID(InternationalizationString.IncorrectRepeatPassword)
+ Text = Language.StringByID(InternationalizationString.PlsRegisterPassword)
}.Show(bodyView);
+ }
+ else
+ {
+ btnPasswordViewBottomLine.BackgroundColor = CSS_Color.DividingLineColor;
+ btnPasswordViewBottomLine.Height = Application.GetRealHeight(1);
}
}
};
//纭瀵嗙爜鏂囨湰妗嗙劍鐐瑰彉鍖栦簨浠�
- etRepeatPassword.FoucsChanged += (sender, e) => {
+ etRepeatPassword.FoucsChanged += (sender, e) =>
+ {
if (etRepeatPassword.Foucs)
{
btnRepeatPasswordViewBottomLine.BackgroundColor = CSS_Color.MainColor;
@@ -183,31 +221,35 @@
btnRepeatPasswordViewBottomLine.BackgroundColor = CSS_Color.DividingLineColor;
btnRepeatPasswordViewBottomLine.Height = Application.GetRealHeight(1);
//鏍¢獙涓ゆ杈撳叆鐨勫瘑鐮佹槸鍚︿竴鑷�
- 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(InternationalizationString.IncorrectRepeatPassword)
- }.Show(bodyView);
- }
- else
- {
- ValidPassword = true;
- //璐﹀彿鏈夋晥銆佸瘑鐮佹湁鏁堛�侀獙璇佺爜杈撳叆浜嗭紝鎵嶈兘鐐瑰嚮娉ㄥ唽
- if (btnGetVerificationCode.IsSelected && ValidPassword && string.IsNullOrEmpty(etVerificationCode.Text.Trim()))
+ btnRepeatPasswordViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2;
+ btnRepeatPasswordViewBottomLine.Height = Application.GetRealHeight(2);
+ new Tip()
+ {
+ CloseTime = 3,
+ Direction = AMPopTipDirection.None,
+ Text = Language.StringByID(InternationalizationString.IncorrectRepeatPassword)
+ }.Show(bodyView);
+ }
+ else
{
- btnRegister.IsSelected = true;
+ ValidPassword = true;
+ //璐﹀彿鏈夋晥銆佸瘑鐮佹湁鏁堛�侀獙璇佺爜杈撳叆浜嗭紝鎵嶈兘鐐瑰嚮娉ㄥ唽
+ if (btnGetVerificationCode.IsSelected && 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;
@@ -217,10 +259,10 @@
{
btnVerificationCodeViewBottomLine.BackgroundColor = CSS_Color.DividingLineColor;
btnVerificationCodeViewBottomLine.Height = Application.GetRealHeight(1);
- if (etVerificationCode.Text.Length > 4)
+ if (etVerificationCode.Text.Length > 1)
{
//璐﹀彿鏈夋晥銆佸瘑鐮佹湁鏁堛�侀獙璇佺爜杈撳叆浜嗭紝鎵嶈兘鐐瑰嚮娉ㄥ唽
- if (btnGetVerificationCode.IsSelected && ValidPassword && string.IsNullOrEmpty(etVerificationCode.Text.Trim()))
+ if (btnGetVerificationCode.IsSelected && ValidPassword)
{
btnRegister.IsSelected = true;
}
@@ -235,12 +277,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,46 +295,58 @@
/// </summary>
void LoadEvent_GetVerificationCode()
{
- btnGetVerificationCode.MouseUpEventHandler += (sender, e) => {
+ btnGetVerificationCode.MouseUpEventHandler += (sender, e) =>
+ {
if (btnGetVerificationCode.IsSelected)
{
- //鐭俊鍙戦�侀棿闅�60s
- btnGetVerificationCode.IsSelected = false;
- int time = 60;
- new Thread(() =>
+ //鑾峰彇楠岃瘉鐮�
+ var result = pm.GetPhoneRegisterVerCode(etAccount.Text.Trim());
+ if (result.StateCode == "Success")
{
- while (time == 0)
+ //鐭俊鍙戦�侀棿闅�60s
+ btnGetVerificationCode.IsSelected = false;
+ int time = 60;
+ new Thread(() =>
{
- time--;
+ while (time > 0)
+ {
+ time--;
+ Application.RunOnMainThread(() =>
+ {
+ btnGetVerificationCode.Text = time.ToString() + "s";
+ });
+ Thread.Sleep(1000);
+ }
Application.RunOnMainThread(() =>
{
- btnGetVerificationCode.Text = time.ToString() + "s";
+ //鍥炲鑾峰彇鐭俊鎸夐挳浜嬩欢
+ btnGetVerificationCode.IsSelected = true;
+ btnGetVerificationCode.TextID = InternationalizationString.GetVerificationCode;
});
- 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);
+ })
+ { IsBackground = true }.Start();
}
- else
+ else
{
- //鎻愮ず鎵嬫満鍙风爜宸茬粡娉ㄥ唽
+ string tipString = "Server error";
+ switch (result.StateCode)
+ {
+ case "Exist":
+ tipString = Language.StringByID(InternationalizationString.AccountAlreadyExists);
+ break;
+ case "SendFail":
+ tipString = Language.StringByID(InternationalizationString.FailedToSendVerificationCode);
+ break;
+ case "Self:Net_Error":
+ tipString = Language.StringByID(InternationalizationString.NetworkAnomaly);
+ break;
+ }
+
new Tip()
{
CloseTime = 3,
Direction = AMPopTipDirection.None,
- Text = Language.StringByID(InternationalizationString.AccountAlreadyExists)
+ Text = tipString
}.Show(bodyView);
}
}
@@ -304,84 +360,79 @@
{
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(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(InternationalizationString.VerificationCodeWrong)
- }.Show(bodyView);
- }
+ waitPage = new Loading();
+ new WaitPageMothed().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 validateSmsResult = pm.ValidataCodeAndRegister(account, password, entryPassword, verCode, 86);
+ //楠岃瘉鐮佹牎楠屾垚鍔�
+ if (validateSmsResult.StateCode == "Success")
+ {
+ //娉ㄥ唽鎴愬姛
+ //鎵ц鍥炶皟浜嬩欢
+ this.Close();
+ callbackAction?.Invoke(account);
+ }
+ else//娉ㄥ唽澶辫触
+ {
+ string erorrInfo = "";
+ switch (validateSmsResult.StateCode)
+ {
+ case "Exist":
+ erorrInfo = Language.StringByID(InternationalizationString.AccountAlreadyExists);
+ break;
+ case "PwdNoConfirm":
+ erorrInfo = Language.StringByID(InternationalizationString.IncorrectRepeatPassword);
+ break;
+ case "ValidCodeAndPhoneNoEqual":
+ erorrInfo = Language.StringByID(InternationalizationString.VerificationCodeWrong);
+ break;
+ default:
+ erorrInfo = Language.StringByID(InternationalizationString.RegistrationFailedPleaseTryAgain);
+ break;
+ }
+ Application.RunOnMainThread(() =>
+ {
+ new Tip()
+ {
+ CloseTime = 3,
+ Direction = AMPopTipDirection.None,
+ Text = erorrInfo,
+ }.Show(bodyView);
+ });
+ }
+ }
+ catch (Exception ex)
+ {
+ MainPage.Log("Exception 1 : " + ex.Message);
+ }
+ finally
+ {
+ Application.RunOnMainThread(() =>
+ {
+ waitPage.Hide();
+ });
+ }
+ });
+ }
+
}
-}
+}
\ No newline at end of file
--
Gitblit v1.8.0