| | |
| | | { |
| | | if (registerType == 0) |
| | | return; |
| | | etAccount.IsNumberKeyboardType = true; |
| | | etAccount.Text = registerPhone; |
| | | etPassword.Text = ""; |
| | | etRepeatPassword.Text = ""; |
| | |
| | | { |
| | | if (registerType == 1) |
| | | return; |
| | | etAccount.IsNumberKeyboardType = false; |
| | | etAccount.Text = registerEmail; |
| | | etPassword.Text = ""; |
| | | etRepeatPassword.Text = ""; |
| | |
| | | { |
| | | 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; |
| | | } |
| | |
| | | } |
| | | else//邮箱获取验证码按钮生效条件 |
| | | { |
| | | if (!mFalg.Success) |
| | | if (!Utlis.CheckEmail(etAccount.Text.Trim())) |
| | | { |
| | | btnGetVerificationCode_Mail.IsSelected = false; |
| | | } |
| | |
| | | //手机方式-验证手机号码是否正确 |
| | | if (registerType == 0) |
| | | { |
| | | 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)) |
| | | btnGetVerificationCode_Phone.IsSelected = false; |
| | | if (!Utlis.CheckPhoneNumber(etAccount.Text.Trim(), phoneZoneCode)) |
| | | { |
| | | btnAccountViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2; |
| | | btnAccountViewBottomLine.Height = Application.GetRealHeight(2); |
| | |
| | | { |
| | | btnGetVerificationCode_Mail.IsSelected = false; |
| | | //邮箱方式-验证邮箱是否正确 |
| | | 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 ) |
| | | if (!Utlis.CheckEmail(etAccount.Text.Trim())) |
| | | { |
| | | btnAccountViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2; |
| | | btnAccountViewBottomLine.Height = Application.GetRealHeight(2); |
| | |
| | | } |
| | | |
| | | /// <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() |
| | |
| | | var account = etAccount.Text.Trim(); |
| | | if ((sender as Button).IsSelected) |
| | | { |
| | | //短信发送间隔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(); |
| | | int time = 60; |
| | | new Thread(() => |
| | | { |
| | | var result = pm.GetLoginVerCode(account); |
| | | if (result.StateCode.ToUpper() == "SUCCESS") |
| | | //1.先检查账号是否注册过 |
| | | var result = pm.GetRegionByAccount(account); |
| | | if (result.Code != StateCode.SUCCESS) |
| | | { |
| | | IMessageCommon.Current.ShowErrorInfoAlter(result.Code); |
| | | return; |
| | | } |
| | | 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 "AccountNoExists": |
| | | tipString = Language.StringByID(StringId.AccountNotExist); |
| | | break; |
| | | case "Self:Net_Error": |
| | | tipString = Language.StringByID(StringId.NetworkAnomaly); |
| | | break; |
| | | } |
| | | //2.1检测当前配置域名是否一致,不一致则替换 |
| | | CheckAndSetUserRequestHost(result); |
| | | |
| | | //2.2已经注册过,发送验证码找回密码 |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | new Tip() |
| | | { |
| | | CloseTime = 1, |
| | | Direction = AMPopTipDirection.None, |
| | | Text = tipString |
| | | }.Show(bodyView); |
| | | //短信发送间隔60s |
| | | (sender as Button).IsSelected = false; |
| | | etVerificationCode.Foucs = true; |
| | | }); |
| | | //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(); |
| | |
| | | |
| | | return new Thread(() => |
| | | { |
| | | var verResult = pm.ValidatorCode(account, verCode, countryIndex); |
| | | if (verResult.StateCode.ToUpper() == "SUCCESS") |
| | | // 忘记密码 |
| | | var isPhone = registerType == 0; |
| | | var resultObj = pm.ForgetPassword(account, password, verCode, isPhone); |
| | | if (resultObj.Code == StateCode.SUCCESS) |
| | | { |
| | | var resetResult = pm.ResetPassword(account, password, repeatPassword, countryIndex); |
| | | if (resetResult.StateCode.ToUpper() == "SUCCESS") |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | LoadEvent_AutoLogin(); |
| | | LoadEvent_AutoLogin(); |
| | | callbackAction?.Invoke(account); |
| | | }); |
| | | |
| | | 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 |
| | | { |
| | | 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; |
| | | } |
| | | // 2020-11-13 待修改 验证码错误 警告提示 |
| | | //btnVerificationCodeViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2; |
| | | //btnVerificationCodeViewBottomLine.Height = Application.GetRealHeight(2); |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | waitPage.Hide(); |
| | | new Tip() |
| | | { |
| | | CloseTime = 1, |
| | | Direction = AMPopTipDirection.None, |
| | | Text = erorrInfo, |
| | | }.Show(bodyView); |
| | | }); |
| | | // 提示错误 |
| | | IMessageCommon.Current.ShowErrorInfoAlter(resultObj.Code); |
| | | } |
| | | }); |
| | | } |
| | |
| | | Width = Application.GetRealWidth(288), |
| | | Height = Application.GetRealHeight(206), |
| | | BackgroundColor = CSS_Color.MainBackgroundColor, |
| | | Radius = (uint)Application.GetRealWidth(12), |
| | | Radius = (uint)Application.GetRealHeight(12), |
| | | BorderWidth = 0, |
| | | BorderColor = 0x00000000, |
| | | }; |
| | |
| | | Y = Application.GetRealHeight(150), |
| | | Width = Application.GetRealWidth(84), |
| | | Height = Application.GetRealWidth(84), |
| | | Radius = (uint)Application.GetRealWidth(42), |
| | | Radius = (uint)Application.GetRealHeight(42), |
| | | BorderColor = 0x00000000, |
| | | BorderWidth = 0, |
| | | UnSelectedImagePath = "LoginIcon/2.png", |