HDL_ON/UI/UI1-Login/RegisterPageBLL.cs
@@ -24,6 +24,27 @@
            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>
@@ -57,7 +78,12 @@
                            btnGetVerificationCode_Mail.IsSelected = true;
                    }
                }
                CheckEnableRegisterButton();
            };
            etVerificationCode.TextChangeEventHandler = (sender, e) =>
            {
                CheckEnableRegisterButton();
            };
        }
@@ -73,6 +99,13 @@
                {
                    return;
                }
                if (!string.IsNullOrEmpty(etAccount.Text.Trim()))
                {
                    //记录之前的邮箱
                    registerEmail = etAccount.Text.Trim();
                }
                etAccount.IsNumberKeyboardType = true;
                etAccount.Text = registerPhone;
                etPassword.Text = "";
@@ -103,7 +136,13 @@
                if (registerType == 1)
                    return;
                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 = "";
@@ -139,14 +178,14 @@
            {
                if (etAccount.Foucs)
                {
                    btnAccountViewBottomLine.BackgroundColor = CSS_Color.MainColor;
                    btnAccountViewBottomLine.Height = Application.GetRealHeight(2);
                    HDLCommon.Current.BottomLineShowType(btnAccountViewBottomLine, BottomLineType.GotFocus);
                }
                else
                {
                    if (isHitBack) return;//点击返回关闭页面不检测提示
                    //标记手机号码无效
                    btnAccountViewBottomLine.BackgroundColor = CSS_Color.DividingLineColor;
                    btnAccountViewBottomLine.Height = Application.GetRealHeight(1);
                    HDLCommon.Current.BottomLineShowType(btnAccountViewBottomLine, BottomLineType.Normal);
                    //手机注册-验证手机号码是否正确
                    if (etAccount.Text.Trim().Length > 0)
                    {
@@ -154,8 +193,7 @@
                        {
                            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()
                                {
@@ -183,8 +221,7 @@
                            //邮箱注册-验证邮箱是否正确
                            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()
                                {
@@ -207,14 +244,7 @@
                            }
                        }
                    }
                    if (accountType == 0)
                    {
                        registerPhone = etAccount.Text.Trim();
                    }
                    else
                    {
                        registerEmail = etAccount.Text.Trim();
                    }
                }
            };
@@ -223,23 +253,19 @@
            {
                if (etPassword.Foucs)
                {
                    btnPasswordViewBottomLine.BackgroundColor = CSS_Color.MainColor;
                    btnPasswordViewBottomLine.Height = Application.GetRealHeight(2);
                    HDLCommon.Current.BottomLineShowType(btnPasswordViewBottomLine, BottomLineType.GotFocus);
                }
                else
                {
                    if (etPassword.Text.Length == 0)
                    {
                        btnPasswordViewBottomLine.BackgroundColor = CSS_Color.DividingLineColor;
                        btnPasswordViewBottomLine.Height = Application.GetRealHeight(1);
                        return;
                    }
                    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)
                    {
                        btnPasswordViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2;
                        btnPasswordViewBottomLine.Height = Application.GetRealHeight(2);
                        HDLCommon.Current.BottomLineShowType(btnPasswordViewBottomLine, BottomLineType.Error);
                        new Tip()
                        {
                            CloseTime = 1,
@@ -247,11 +273,7 @@
                            Text = Language.StringByID(StringId.PlsRegisterPassword)
                        }.Show(bodyView);
                    }
                    else
                    {
                        btnPasswordViewBottomLine.BackgroundColor = CSS_Color.DividingLineColor;
                        btnPasswordViewBottomLine.Height = Application.GetRealHeight(1);
                    }
                }
            };
@@ -260,20 +282,19 @@
            {
                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 = 1,
@@ -299,13 +320,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)
                    {
                        //账号有效、密码有效、验证码输入了,才能点击注册
@@ -316,6 +337,7 @@
                    }
                }
            };
        }
        /// <summary>
@@ -329,6 +351,7 @@
                {
                    etPassword.Text = etPassword.Text.Remove(15);
                }
                CheckEnableRegisterButton();
            };
            etRepeatPassword.TextChangeEventHandler = (sender, e) =>
@@ -337,6 +360,7 @@
                {
                    etRepeatPassword.Text = etRepeatPassword.Text.Remove(15);
                }
                CheckEnableRegisterButton();
            };
        }
@@ -519,20 +543,16 @@
        {
            btnRegister.MouseUpEventHandler = (sender, e) =>
            {
                if (etPassword.Text.Trim().Length > 13 || etPassword.Text.Trim().Length < 6)
                {
                    new Tip()
                    {
                        CloseTime = 1,
                        Direction = AMPopTipDirection.None,
                        Text = Language.StringByID(StringId.PlsRegisterPassword)
                    }.Show(bodyView);
                    return;
                }
                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);
@@ -572,40 +592,13 @@
                        // 提示错误
                        IMessageCommon.Current.ShowErrorInfoAlter(validateSmsResult.Code);
                        //2020-11-13 待修改
                        //string erorrInfo = "";
                        //switch (validateSmsResult.StateCode)
                        //{
                        //    case "Exist":
                        //        erorrInfo = Language.StringByID(StringId.AccountAlreadyUse);
                        //        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 = 1,
                        //        Direction = AMPopTipDirection.None,
                        //        Text = erorrInfo,
                        //    }.Show(bodyView);
                        //});
                        Application.RunOnMainThread(() =>
                        {
                            if (validateSmsResult.Code == StateCode.VERIFICATION_CODE_WRONG)
                            {
                                HDLCommon.Current.BottomLineShowType(btnVerificationCodeViewBottomLine, BottomLineType.Error);
                            }
                        });
                    }
                }
                catch (Exception ex)
@@ -673,13 +666,11 @@
        {
            if (isError)
            {
                btnServerBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2;
                btnServerBottomLine.Height = Application.GetRealHeight(2);
                HDLCommon.Current.BottomLineShowType(btnServerBottomLine, BottomLineType.Error);
            }
            else
            {
                btnServerBottomLine.BackgroundColor = CSS_Color.DividingLineColor;
                btnServerBottomLine.Height = Application.GetRealHeight(1);
                HDLCommon.Current.BottomLineShowType(btnServerBottomLine, BottomLineType.Normal);
            }
        }
@@ -694,5 +685,76 @@
            btnServerText.TextColor = CSS_Color.FirstLevelTitleColor;
            btnServerText.Text = UserInfo.Current.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;
        }
    }
}