| | |
| | | btnAccountViewBottomLine.Height = Application.GetRealHeight(2); |
| | | return; |
| | | } |
| | | //加载Loading效果 |
| | | var waitPage = new Loading(); |
| | | bodyView.AddChidren(waitPage); |
| | | waitPage.Start(Language.StringByID(StringId.PleaseWait)); |
| | | |
| | | int time = 60; |
| | | new Thread(() => |
| | | { |
| | | //1.先检查账号是否注册过 |
| | | var result = pm.GetRegionByAccount(account); |
| | | if (result.Code != StateCode.SUCCESS) |
| | | try |
| | | { |
| | | IMessageCommon.Current.ShowErrorInfoAlter(result.Code); |
| | | ShowBtnAccountViewBottomLineError(); |
| | | return; |
| | | } |
| | | else |
| | | { |
| | | //检测当前配置域名是否一致,不一致则替换 |
| | | CheckAndSetUserRequestHost(result); |
| | | |
| | | //2.1请求获取验证码 |
| | | var resultObj = pm.VerificationCodeSend(VerifyType.VERIFY_LOGIN, account, true, phoneZoneCode); |
| | | if (resultObj.Code != StateCode.SUCCESS) |
| | | //1.先检查账号是否注册过 |
| | | var result = pm.GetRegionByAccount(account); |
| | | if (result.Code != StateCode.SUCCESS) |
| | | { |
| | | //2.2请求获取验证码失败 |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | btnPasswordViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2; |
| | | btnPasswordViewBottomLine.Height = Application.GetRealHeight(2); |
| | | }); |
| | | // 提示错误 |
| | | IMessageCommon.Current.ShowErrorInfoAlter(resultObj.Code); |
| | | IMessageCommon.Current.ShowErrorInfoAlter(result.Code); |
| | | ShowBtnAccountViewBottomLineError(); |
| | | return; |
| | | } |
| | | else |
| | | { |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | btnGetVerificationCode.IsSelected = false; |
| | | btnGetVerificationCode.TextColor = CSS_Color.PromptingColor1; |
| | | }); |
| | | //检测当前配置域名是否一致,不一致则替换 |
| | | CheckAndSetUserRequestHost(result); |
| | | |
| | | new Thread(() => |
| | | //2.1请求获取验证码 |
| | | var resultObj = pm.VerificationCodeSend(VerifyType.VERIFY_LOGIN, account, true, phoneZoneCode); |
| | | if (resultObj.Code != StateCode.SUCCESS) |
| | | { |
| | | while (time > 0) |
| | | { |
| | | time--; |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | btnGetVerificationCode.Text = time.ToString() + "s"; |
| | | }); |
| | | Thread.Sleep(1000); |
| | | } |
| | | //2.2请求获取验证码失败 |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | btnGetVerificationCode.IsSelected = true; |
| | | btnGetVerificationCode.TextID = StringId.GetVerificationCode; |
| | | btnPasswordViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2; |
| | | btnPasswordViewBottomLine.Height = Application.GetRealHeight(2); |
| | | }); |
| | | }) |
| | | { IsBackground = true }.Start(); |
| | | // 提示错误 |
| | | IMessageCommon.Current.ShowErrorInfoAlter(resultObj.Code); |
| | | } |
| | | else |
| | | { |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | btnGetVerificationCode.IsSelected = false; |
| | | btnGetVerificationCode.TextColor = CSS_Color.PromptingColor1; |
| | | }); |
| | | |
| | | new Thread(() => |
| | | { |
| | | while (time > 0) |
| | | { |
| | | time--; |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | btnGetVerificationCode.Text = time.ToString() + "s"; |
| | | }); |
| | | Thread.Sleep(1000); |
| | | } |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | btnGetVerificationCode.IsSelected = true; |
| | | btnGetVerificationCode.TextID = StringId.GetVerificationCode; |
| | | }); |
| | | }) |
| | | { IsBackground = true }.Start(); |
| | | } |
| | | } |
| | | } |
| | | |
| | | catch { } |
| | | finally |
| | | { |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | if (waitPage != null) |
| | | { |
| | | waitPage.RemoveFromParent(); |
| | | waitPage = null; |
| | | } |
| | | }); |
| | | } |
| | | }) |
| | | { IsBackground = true }.Start(); |
| | | |
| | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 切换登录类型 |
| | | /// |
| | | /// </summary> |
| | | void LoadPage_SwitchLoginType() |
| | | /// <param name="type">是否选择手机登录</param> |
| | | void LoginTypeChange(bool isPhone) |
| | | { |
| | | //选择手机登录 |
| | | btnPhoneLogin.MouseUpEventHandler = (sender, e) => |
| | | if(isPhone) |
| | | { |
| | | if (loginType == 0) |
| | | return; |
| | |
| | | etPassword.SecureTextEntry = false; |
| | | } |
| | | #endregion |
| | | |
| | | }; |
| | | |
| | | //选择邮箱登录 |
| | | btnEmailLogin.MouseUpEventHandler += (sender, e) => |
| | | } |
| | | else |
| | | { |
| | | if (loginType == 1) |
| | | return; |
| | |
| | | etPassword.SecureTextEntry = true; |
| | | //隐藏验证码登录方式,邮箱登录没有验证码登录 |
| | | btnSwitchLoginMode.Visible = false; |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 切换登录类型 |
| | | /// </summary> |
| | | void LoadPage_SwitchLoginType() |
| | | { |
| | | //选择手机登录 |
| | | btnPhoneLogin.MouseUpEventHandler = (sender, e) => |
| | | { |
| | | LoginTypeChange(true); |
| | | }; |
| | | |
| | | //选择邮箱登录 |
| | | btnEmailLogin.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | LoginTypeChange(false); |
| | | }; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 切换登录方式 验证码/密码 |
| | | /// </summary> |
| | | void LoginModeChange() |
| | | { |
| | | //清除密码框文本数据 |
| | | etPassword.Text = ""; |
| | | //密码登录 |
| | | if (logintMode == 0) |
| | | { |
| | | btnSwitchLoginMode.TextID = StringId.VerificationCodeLogin; |
| | | passwordView.AddChidren(btnVisiblePassword); |
| | | passwordView.AddChidren(btnDividingLineVertical_PasswordView2); |
| | | etPassword.PlaceholderText = Language.StringByID(StringId.PlsEntryPassword); |
| | | passwordView.AddChidren(btnForgetPassword); |
| | | btnPasswordIcon.IsSelected = false; |
| | | //if (btnGetVerificationCode.Parent != null) |
| | | //{ |
| | | //btnGetVerificationCode.RemoveFromParent(); |
| | | btnGetVerificationCode.Visible = false; |
| | | //} |
| | | //隐藏密码 |
| | | etPassword.SecureTextEntry = true; |
| | | } |
| | | //验证码登录 |
| | | else if (logintMode == 1) |
| | | { |
| | | if (Regex.IsMatch(account, @"^[1]+\d{10}") && (account.Length == 11) && btnGetVerificationCode.Text == Language.StringByID(StringId.GetVerificationCode)) |
| | | { |
| | | btnGetVerificationCode.IsSelected = true; |
| | | } |
| | | btnSwitchLoginMode.TextID = StringId.PasswordLogin; |
| | | //passwordView.AddChidren(btnGetVerificationCode); |
| | | btnGetVerificationCode.Visible = true; |
| | | etPassword.PlaceholderText = Language.StringByID(StringId.PlsEntryVerificationCode); |
| | | btnPasswordIcon.IsSelected = true; |
| | | if (btnVisiblePassword.Parent != null) |
| | | { |
| | | btnVisiblePassword.RemoveFromParent(); |
| | | } |
| | | if (btnDividingLineVertical_PasswordView2.Parent != null) |
| | | { |
| | | btnDividingLineVertical_PasswordView2.RemoveFromParent(); |
| | | } |
| | | if (btnForgetPassword.Parent != null) |
| | | { |
| | | btnForgetPassword.RemoveFromParent(); |
| | | } |
| | | //验证码不需要隐藏 |
| | | etPassword.SecureTextEntry = false; |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | btnSwitchLoginMode.MouseUpEventHandler = (sender, e) => |
| | | { |
| | | logintMode = logintMode == 0 ? 1 : 0; |
| | | //清除密码框文本数据 |
| | | etPassword.Text = ""; |
| | | //密码登录 |
| | | if (logintMode == 0) |
| | | { |
| | | btnSwitchLoginMode.TextID = StringId.VerificationCodeLogin; |
| | | passwordView.AddChidren(btnVisiblePassword); |
| | | passwordView.AddChidren(btnDividingLineVertical_PasswordView2); |
| | | etPassword.PlaceholderText = Language.StringByID(StringId.PlsEntryPassword); |
| | | passwordView.AddChidren(btnForgetPassword); |
| | | btnPasswordIcon.IsSelected = false; |
| | | //if (btnGetVerificationCode.Parent != null) |
| | | //{ |
| | | //btnGetVerificationCode.RemoveFromParent(); |
| | | btnGetVerificationCode.Visible = false; |
| | | //} |
| | | //隐藏密码 |
| | | etPassword.SecureTextEntry = true; |
| | | } |
| | | //验证码登录 |
| | | else if (logintMode == 1) |
| | | { |
| | | if (Regex.IsMatch(account, @"^[1]+\d{10}") && (account.Length == 11) && btnGetVerificationCode.Text == Language.StringByID(StringId.GetVerificationCode)) |
| | | { |
| | | btnGetVerificationCode.IsSelected = true; |
| | | } |
| | | btnSwitchLoginMode.TextID = StringId.PasswordLogin; |
| | | //passwordView.AddChidren(btnGetVerificationCode); |
| | | btnGetVerificationCode.Visible = true; |
| | | etPassword.PlaceholderText = Language.StringByID(StringId.PlsEntryVerificationCode); |
| | | btnPasswordIcon.IsSelected = true; |
| | | if (btnVisiblePassword.Parent != null) |
| | | { |
| | | btnVisiblePassword.RemoveFromParent(); |
| | | } |
| | | if (btnDividingLineVertical_PasswordView2.Parent != null) |
| | | { |
| | | btnDividingLineVertical_PasswordView2.RemoveFromParent(); |
| | | } |
| | | if (btnForgetPassword.Parent != null) |
| | | { |
| | | btnForgetPassword.RemoveFromParent(); |
| | | } |
| | | //验证码不需要隐藏 |
| | | etPassword.SecureTextEntry = false; |
| | | } |
| | | LoginModeChange(); |
| | | }; |
| | | } |
| | | |
| | |
| | | btnAccountViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2; |
| | | btnAccountViewBottomLine.Height = Application.GetRealHeight(2); |
| | | } |
| | | else if (loginResult.Code == "14") |
| | | else if (loginResult.Code == StateCode.VERIFICATION_CODE_WRONG) |
| | | { |
| | | btnPasswordViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2; |
| | | btnPasswordViewBottomLine.Height = Application.GetRealHeight(2); |
| | |
| | | { |
| | | btnRegister.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | //回调事件 |
| | | //Action callBackAction = () => |
| | | //{ |
| | | // Application.RunOnMainThread(() => |
| | | // { |
| | | // try |
| | | // { |
| | | // } |
| | | // catch (Exception ex) |
| | | // { |
| | | // MainPage.Log($"login callBackAction : {ex.Message}"); |
| | | // } |
| | | // }); |
| | | //}; |
| | | |
| | | //判断是否同意了隐私政策 |
| | | if (CheckPrivacyPolicy() == false) return; |
| | | |
| | | var registerPage = new RegisterPage(); |
| | | Action<string, string, bool> autoLoginAction = (account, password, isPhone) => |
| | | { |
| | | try |
| | | { |
| | | AutoLoginAction(account, password, isPhone); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | MainPage.Log($"login callBackAction : {ex.Message}"); |
| | | } |
| | | }; |
| | | |
| | | var registerPage = new RegisterPage(autoLoginAction); |
| | | registerPage.Show(); |
| | | registerPage.ShowDialog(); |
| | | }; |
| | |
| | | { |
| | | btnForgetPassword.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | Action<string> callBackAction = (callBackPar_Action) => |
| | | //判断是否同意了隐私政策 |
| | | if (CheckPrivacyPolicy() == false) return; |
| | | |
| | | Action<string, string, bool> autoLoginAction = (account, password, isPhone) => |
| | | { |
| | | Application.RunOnMainThread(() => |
| | | |
| | | try |
| | | { |
| | | try |
| | | { |
| | | etAccount.Text = callBackPar_Action; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | MainPage.Log($"login callBackAction : {ex.Message}"); |
| | | } |
| | | }); |
| | | AutoLoginAction(account, password, isPhone); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | MainPage.Log($"login callBackAction : {ex.Message}"); |
| | | } |
| | | }; |
| | | var forgetPasswordDialog = new ForgetPasswordPage(callBackAction); |
| | | var forgetPasswordDialog = new ForgetPasswordPage(autoLoginAction); |
| | | forgetPasswordDialog.Show(); |
| | | forgetPasswordDialog.ShowDialog(); |
| | | |
| | |
| | | btnAccountViewBottomLine.Height = Application.GetRealHeight(2); |
| | | }); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 自动登录回调事件 |
| | | /// </summary> |
| | | /// <param name="mAccount"></param> |
| | | /// <param name="mPassword"></param> |
| | | /// <param name="isPhone"></param> |
| | | void AutoLoginAction(string mAccount, string mPassword, bool isPhone) |
| | | { |
| | | //切换回手机或者邮箱登录 |
| | | LoginTypeChange(isPhone); |
| | | //切换回密码登录1 |
| | | logintMode = 0; |
| | | //切换回密码登录2 |
| | | LoginModeChange(); |
| | | //设置账户名和密码 |
| | | etAccount.Text = account; |
| | | etPassword.Text = password; |
| | | this.account = mAccount; |
| | | this.password = mPassword; |
| | | //创建登录线程 |
| | | var loginThread = LoadThread_Login(); |
| | | waitPage = new Loading(); |
| | | new PublicAssmebly().LoadPage_WaitPage(loginThread, bodyView, waitPage); |
| | | } |
| | | } |
| | | } |