| | |
| | | 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) => |
| | | 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; |
| | | 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 |
| | | else//邮箱注册获取验证码按钮生效条件 |
| | | { |
| | | btnGetVerificationCode.IsSelected = true; |
| | | 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(); |
| | | }; |
| | | } |
| | | |
| | |
| | | void LoadPage_SwitchRegisterType() |
| | | { |
| | | //选择手机注册 |
| | | btnPhoneLogin.MouseUpEventHandler += (sender, e) => |
| | | btnPhoneLogin.MouseUpEventHandler = (sender, e) => |
| | | { |
| | | #if DEBUG |
| | | etAccount.Text = "17576024298"; |
| | | #endif |
| | | 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(StringId.PlsEntryCorrectMobilNeumber); |
| | | etAccount.PlaceholderText = Language.StringByID(StringId.PlsEntryPhoneNumber); |
| | | #endregion |
| | | |
| | | #region 切换注册方式及图标 |
| | |
| | | }; |
| | | |
| | | //选择邮箱注册 |
| | | btnEmailLogin.MouseUpEventHandler += (sender, e) => |
| | | btnEmailLogin.MouseUpEventHandler = (sender, e) => |
| | | { |
| | | if (registerType == 1) |
| | | return; |
| | | |
| | | #if DEBUG |
| | | etAccount.Text = "979412578@qq.com"; |
| | | #endif |
| | | if (!string.IsNullOrEmpty(etAccount.Text.Trim())) |
| | | { |
| | | //记录之前的手机号 |
| | | registerPhone = etAccount.Text.Trim(); |
| | | } |
| | | etAccount.IsNumberKeyboardType = false; |
| | | etAccount.SecureTextEntry = false;//2020-12-10 解决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; |
| | |
| | | { |
| | | 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); |
| | | //手机注册-验证手机号码是否正确 |
| | | if (etAccount.Text.Trim().Length > 0) |
| | | { |
| | | 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); |
| | | HDLCommon.Current.BottomLineShowType(btnAccountViewBottomLine, BottomLineType.Error); |
| | | btnGetVerificationCode_Phone.IsSelected = false; |
| | | new Tip() |
| | | { |
| | | CloseTime = 3, |
| | | CloseTime = 1, |
| | | Text = Language.StringByID(StringId.PlsEntryCorrectMobilNeumber), |
| | | Direction = AMPopTipDirection.None, |
| | | }.Show(bodyView); |
| | | } |
| | | else |
| | | { |
| | | //标记手机号码有效 |
| | | btnGetVerificationCode.IsSelected = true; |
| | | if (btnGetVerificationCode_Phone.Text == Language.StringByID(StringId.GetVerificationCode)) |
| | | { |
| | | //标记手机号码有效 |
| | | btnGetVerificationCode_Phone.IsSelected = true; |
| | | } |
| | | //账号有效、密码有效、验证码输入了,才能点击注册 |
| | | if (btnGetVerificationCode.IsSelected && ValidPassword && !string.IsNullOrEmpty(etVerificationCode.Text.Trim())) |
| | | if (ValidPassword && !string.IsNullOrEmpty(etVerificationCode.Text.Trim())) |
| | | { |
| | | btnRegister.IsSelected = true; |
| | | } |
| | |
| | | else if (registerType == 1) |
| | | { |
| | | //邮箱注册-验证邮箱是否正确 |
| | | 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); |
| | | HDLCommon.Current.BottomLineShowType(btnAccountViewBottomLine, BottomLineType.Error); |
| | | btnGetVerificationCode_Mail.IsSelected = false; |
| | | new Tip() |
| | | { |
| | | CloseTime = 3, |
| | | CloseTime = 1, |
| | | Text = Language.StringByID(StringId.PlsEntryCorrectEmailAddress), |
| | | Direction = AMPopTipDirection.None, |
| | | }.Show(bodyView); |
| | | } |
| | | else |
| | | { |
| | | //标记手机号码有效 |
| | | btnGetVerificationCode.IsSelected = true; |
| | | if (btnGetVerificationCode_Mail.Text == Language.StringByID(StringId.GetVerificationCode)) |
| | | {//标记手机号码有效 |
| | | btnGetVerificationCode_Mail.IsSelected = true; |
| | | } |
| | | //账号有效、密码有效、验证码输入了,才能点击注册 |
| | | if (btnGetVerificationCode.IsSelected && ValidPassword && string.IsNullOrEmpty(etVerificationCode.Text.Trim())) |
| | | if (ValidPassword && string.IsNullOrEmpty(etVerificationCode.Text.Trim())) |
| | | { |
| | | btnRegister.IsSelected = true; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | }; |
| | | |
| | |
| | | { |
| | | if (etPassword.Foucs) |
| | | { |
| | | btnPasswordViewBottomLine.BackgroundColor = CSS_Color.MainColor; |
| | | btnPasswordViewBottomLine.Height = Application.GetRealHeight(2); |
| | | HDLCommon.Current.BottomLineShowType(btnPasswordViewBottomLine, BottomLineType.GotFocus); |
| | | } |
| | | else |
| | | { |
| | | 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) |
| | | if (etPassword.Text.Length < 6 || etPassword.Text.Length > 13) |
| | | { |
| | | |
| | | btnPasswordViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2; |
| | | btnPasswordViewBottomLine.Height = Application.GetRealHeight(2); |
| | | |
| | | HDLCommon.Current.BottomLineShowType(btnPasswordViewBottomLine, BottomLineType.Error); |
| | | new Tip() |
| | | { |
| | | CloseTime = 3, |
| | | CloseTime = 1, |
| | | Direction = AMPopTipDirection.None, |
| | | Text = Language.StringByID(StringId.PlsRegisterPassword) |
| | | }.Show(bodyView); |
| | | } |
| | | else |
| | | { |
| | | btnPasswordViewBottomLine.BackgroundColor = CSS_Color.DividingLineColor; |
| | | btnPasswordViewBottomLine.Height = Application.GetRealHeight(1); |
| | | } |
| | | |
| | | } |
| | | }; |
| | | |
| | |
| | | { |
| | | 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().Length > 5) |
| | | { |
| | | if (etPassword.Text.Trim() != etRepeatPassword.Text.Trim()) |
| | | { |
| | | btnRepeatPasswordViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2; |
| | | btnRepeatPasswordViewBottomLine.Height = Application.GetRealHeight(2); |
| | | HDLCommon.Current.BottomLineShowType(btnRepeatPasswordViewBottomLine, BottomLineType.Error); |
| | | new Tip() |
| | | { |
| | | CloseTime = 3, |
| | | CloseTime = 1, |
| | | Direction = AMPopTipDirection.None, |
| | | Text = Language.StringByID(StringId.IncorrectRepeatPassword) |
| | | Text = Language.StringByID(StringId.IncorrectRepeatPassword), |
| | | MaxWidth = Application.GetRealWidth(300), |
| | | }.Show(bodyView); |
| | | } |
| | | else |
| | | { |
| | | ValidPassword = true; |
| | | //账号有效、密码有效、验证码输入了,才能点击注册 |
| | | if (btnGetVerificationCode.IsSelected && ValidPassword && !string.IsNullOrEmpty(etVerificationCode.Text.Trim())) |
| | | if (ValidPassword && !string.IsNullOrEmpty(etVerificationCode.Text.Trim())) |
| | | { |
| | | btnRegister.IsSelected = true; |
| | | } |
| | |
| | | { |
| | | 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 (isHitBack) return;//点击返回关闭页面不检测提示 |
| | | |
| | | HDLCommon.Current.BottomLineShowType(btnVerificationCodeViewBottomLine, BottomLineType.Normal); |
| | | if (etVerificationCode.Text.Length > 1) |
| | | { |
| | | //账号有效、密码有效、验证码输入了,才能点击注册 |
| | |
| | | } |
| | | } |
| | | } |
| | | }; |
| | | |
| | | } |
| | | |
| | | /// <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(); |
| | | }; |
| | | } |
| | | |
| | |
| | | /// </summary> |
| | | void LoadEvent_GetVerificationCode() |
| | | { |
| | | btnGetVerificationCode.MouseUpEventHandler += (sender, e) => |
| | | EventHandler<MouseEventArgs> eventHandler = (sender, e) => |
| | | { |
| | | if (btnGetVerificationCode.IsSelected) |
| | | if ((sender as Button).IsSelected) |
| | | { |
| | | btnGetVerificationCode.IsSelected = false; |
| | | //判断是否选择了服务器,选择了才能发送验证码 |
| | | if (CheckIfSelectServer() == false) return; |
| | | |
| | | string account = etAccount.Text.Trim(); |
| | | //短信发送间隔60s |
| | | int time = 60; |
| | | //加载Loading效果 |
| | | var waitPage = new Loading(); |
| | | bodyView.AddChidren(waitPage); |
| | | waitPage.Start(Language.StringByID(StringId.PleaseWait)); |
| | | |
| | | new Thread(() => |
| | | { |
| | | while (time > 0) |
| | | try |
| | | { |
| | | time--; |
| | | Application.RunOnMainThread(() => |
| | | //1.先检查账号是否注册过 |
| | | var result = pm.GetRegionByAccount(account); |
| | | //2.账号不存在,才允许继续注册 |
| | | if (result.Code == StateCode.ACCOUNT_NOT_EXIST) |
| | | { |
| | | btnGetVerificationCode.Text = time.ToString() + "s"; |
| | | }); |
| | | Thread.Sleep(1000); |
| | | } |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | //回复获取短信按钮事件 |
| | | btnGetVerificationCode.IsSelected = true; |
| | | btnGetVerificationCode.TextID = StringId.GetVerificationCode; |
| | | }); |
| | | }) |
| | | { IsBackground = true }.Start(); |
| | | new Thread(() => |
| | | { |
| | | //获取验证码 |
| | | var result = pm.GetPhoneRegisterVerCode(account); |
| | | if (result.StateCode == "Success") |
| | | { |
| | | } |
| | | 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 "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() |
| | | //账号不存在 未注册允许发送验证码注册 |
| | | |
| | | //2.2 获取验证码 |
| | | ResponsePackNew resultObj; |
| | | if (registerType == 1)//邮箱 |
| | | { |
| | | CloseTime = 3, |
| | | Direction = AMPopTipDirection.None, |
| | | Text = tipString |
| | | }.Show(bodyView); |
| | | 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(() => |
| | | { |
| | | if (waitPage != null) |
| | | { |
| | | waitPage.RemoveFromParent(); |
| | | waitPage = null; |
| | | } |
| | | }); |
| | | } |
| | | }) |
| | | { 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; |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | /// </summary> |
| | | void LoadEvent_Register() |
| | | { |
| | | btnRegister.MouseUpEventHandler += (sender, e) => |
| | | btnRegister.MouseUpEventHandler = (sender, e) => |
| | | { |
| | | if (btnRegister.IsSelected) |
| | | { |
| | | //判断是否选择了服务器,选择了才能发送验证码 |
| | | if (CheckIfSelectServer() == false) return; |
| | | //检测账号 |
| | | if (!CheckAccount()) return; |
| | | //检测密码 |
| | | if (!CheckPassword()) return; |
| | | //检测验证码 |
| | | if (!CheckVerificationCode()) return; |
| | | |
| | | waitPage = new Loading(); |
| | | new PublicAssmebly().LoadPage_WaitPage(LoadMethod_RegisterThread(), bodyView, waitPage); |
| | | } |
| | |
| | | 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") |
| | | { |
| | | //注册成功 |
| | | //执行回调事件 |
| | | //callbackAction?.Invoke(account); |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | this.Close(); |
| | | LoadEvent_AutoLogin(account, password); |
| | | }); |
| | | } |
| | | else//注册失败 |
| | | { |
| | | string erorrInfo = ""; |
| | | switch (validateSmsResult.StateCode) |
| | | { |
| | | case "Exist": |
| | | erorrInfo = Language.StringByID(StringId.AccountAlreadyExists); |
| | | 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 = 3, |
| | | Direction = AMPopTipDirection.None, |
| | | Text = erorrInfo, |
| | | }.Show(bodyView); |
| | | }); |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | MainPage.Log("Exception 1 : " + ex.Message); |
| | | } |
| | | finally |
| | | { |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | waitPage.Hide(); |
| | | }); |
| | | } |
| | | }); |
| | | { |
| | | 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() |
| | | { |
| | | //手机方式-验证手机号码是否正确 |
| | | if (registerType == 0) |
| | | { |
| | | if (!Utlis.CheckPhoneNumber(etAccount.Text.Trim(), phoneZoneCode)) |
| | | { |
| | | Utlis.ShowTip(Language.StringByID(StringId.PlsEntryCorrectMobilNeumber)); |
| | | } |
| | | else |
| | | { |
| | | return true; |
| | | } |
| | | |
| | | } |
| | | else if (registerType == 1) |
| | | { |
| | | //邮箱方式-验证邮箱是否正确 |
| | | 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; |
| | | } |
| | | } |
| | | } |