HDL_ON/UI/UI1-Login/LoginPageBLL.cs
@@ -84,65 +84,83 @@
                        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();
@@ -151,12 +169,12 @@
        }
        /// <summary>
        /// 切换登录类型
        ///
        /// </summary>
        void LoadPage_SwitchLoginType()
        /// <param name="type">是否选择手机登录</param>
        void LoginTypeChange(bool isPhone)
        {
            //选择手机登录
            btnPhoneLogin.MouseUpEventHandler = (sender, e) =>
            if(isPhone)
            {
                if (loginType == 0)
                    return;
@@ -209,11 +227,8 @@
                    etPassword.SecureTextEntry = false;
                }
                #endregion
            };
            //选择邮箱登录
            btnEmailLogin.MouseUpEventHandler += (sender, e) =>
            }
            else
            {
                if (loginType == 1)
                    return;
@@ -254,7 +269,78 @@
                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>
@@ -266,52 +352,7 @@
            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();
            };
        }
@@ -696,7 +737,7 @@
                        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);
@@ -740,25 +781,22 @@
        {
            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();
            };
@@ -771,21 +809,22 @@
        {
            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();
@@ -804,5 +843,30 @@
                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);
        }
    }
}