xm
2021-12-01 6d73bf6e816570291865674bef8bce8972e4de3f
HDL_ON/UI/UI1-Login/RegisterPageBLL.cs
@@ -19,27 +19,71 @@
            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();
            };
        }
@@ -49,18 +93,31 @@
        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 切换注册方式及图标
@@ -74,13 +131,24 @@
            };
            //选择邮箱注册
            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;
@@ -110,40 +178,39 @@
            {
                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;
                                }
@@ -152,32 +219,32 @@
                        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;
                                }
                            }
                        }
                    }
                }
            };
@@ -186,30 +253,27 @@
            {
                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);
                    }
                }
            };
@@ -218,32 +282,32 @@
            {
                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;
                            }
@@ -257,13 +321,13 @@
            {
                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)
                    {
                        //账号有效、密码有效、验证码输入了,才能点击注册
@@ -273,6 +337,31 @@
                        }
                    }
                }
            };
        }
        /// <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();
            };
        }
@@ -300,75 +389,152 @@
        /// </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>
@@ -376,10 +542,19 @@
        /// </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);
                }
@@ -396,73 +571,192 @@
            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;
        }
    }
}