wxr
2020-04-14 06696e6f225733a60b03eea4a7c6374053d92c1d
HDL_ON/UI/UI1-Login/RegisterPageBLL.cs
@@ -14,7 +14,7 @@
        /// </summary>
        void LoadEventList()
        {
            LoadPage_SwitchLoginType();
            LoadPage_SwitchRegisterType();
            LoadEvent_EditTextFcousChange();
            LoadEvent_ChangeTextVisble();
            LoadEvent_GetVerificationCode();
@@ -30,7 +30,7 @@
        {
            etAccount.TextChangeEventHandler += (sender, e) =>
            {
                Regex reg = new Regex(@"^[1]+\d{9}");
                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))
                {
@@ -46,7 +46,7 @@
        /// <summary>
        /// 切换注册类型
        /// </summary>
        void LoadPage_SwitchLoginType()
        void LoadPage_SwitchRegisterType()
        {
            //选择手机注册
            btnPhoneLogin.MouseUpEventHandler += (sender, e) =>
@@ -76,6 +76,10 @@
            //选择邮箱注册
            btnEmailLogin.MouseUpEventHandler += (sender, e) =>
            {
#if DEBUG
                etAccount.Text = "979412578@qq.com";
#endif
                #region 切换选中按钮
                btnPhoneLogin.TextColor = CSS_Color.PromptingColor1;
                btnPhoneLogin.TextSize = CSS_FontSize.TextFontSize;
@@ -121,7 +125,7 @@
                        if (registerType == 0)
                        {
                            Regex reg = new Regex(@"^[1]+\d{9}");
                            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))
                            {
@@ -149,7 +153,7 @@
                        {
                            //邮箱注册-验证邮箱是否正确
                            var reg = new Regex("^\\s*([A-Za-z0-9_-]+(\\.\\w+)*@(\\w+\\.)+\\w{2,5})\\s*$");
                            Regex.IsMatch(etAccount.Text.Trim(), "^[\\w-]+@[\\w-]+\\.(com|net|org|edu|mil|tv|biz|info)$");
                            //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)
                            {
@@ -188,10 +192,11 @@
                else
                {
                    //需要输入6位以上的密码
                    if (etPassword.Text.Length < 6)
                    if (etPassword.Text.Length < 6|| etPassword.Text.Length >13)
                    {
                        btnRepeatPasswordViewBottomLine.BackgroundColor = CSS_Color.DividingLineColor;
                        btnRepeatPasswordViewBottomLine.Height = Application.GetRealHeight(1);
                        btnPasswordViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2;
                        btnPasswordViewBottomLine.Height = Application.GetRealHeight(2);
                        new Tip()
                        {
@@ -262,7 +267,7 @@
                    if (etVerificationCode.Text.Length > 1)
                    {
                        //账号有效、密码有效、验证码输入了,才能点击注册
                        if (btnGetVerificationCode.IsSelected && ValidPassword)
                        if (ValidPassword)
                        {
                            btnRegister.IsSelected = true;
                        }
@@ -299,56 +304,69 @@
            {
                if (btnGetVerificationCode.IsSelected)
                {
                    //获取验证码
                    var result = pm.GetPhoneRegisterVerCode(etAccount.Text.Trim());
                    if (result.StateCode == "Success")
                    btnGetVerificationCode.IsSelected = false;
                    string account = etAccount.Text.Trim();
                    //短信发送间隔60s
                    int time = 60;
                    new Thread(() =>
                    {
                        //短信发送间隔60s
                        btnGetVerificationCode.IsSelected = false;
                        int time = 60;
                        new Thread(() =>
                        while (time > 0)
                        {
                            while (time > 0)
                            time--;
                            Application.RunOnMainThread(() =>
                            {
                                time--;
                                Application.RunOnMainThread(() =>
                                {
                                    btnGetVerificationCode.Text = time.ToString() + "s";
                                });
                                Thread.Sleep(1000);
                                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(() =>
                            {
                                //回复获取短信按钮事件
                                btnGetVerificationCode.IsSelected = true;
                                btnGetVerificationCode.TextID = StringId.GetVerificationCode;
                                new Tip()
                                {
                                    CloseTime = 3,
                                    Direction = AMPopTipDirection.None,
                                    Text = tipString
                                }.Show(bodyView);
                            });
                        })
                        { IsBackground = true }.Start();
                    }
                    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;
                        }
                        new Tip()
                        {
                            CloseTime = 3,
                            Direction = AMPopTipDirection.None,
                            Text = tipString
                        }.Show(bodyView);
                    }
                    })
                    { IsBackground = true }.Start();
                }
            };
        }
@@ -363,7 +381,7 @@
                if (btnRegister.IsSelected)
                {
                    waitPage = new Loading();
                    new WaitPageMothed().LoadPage_WaitPage(LoadMethod_RegisterThread(), bodyView, waitPage);
                    new PublicAssmebly().LoadPage_WaitPage(LoadMethod_RegisterThread(), bodyView, waitPage);
                }
            };
        }
@@ -388,8 +406,12 @@
                     {
                         //注册成功
                         //执行回调事件
                         this.Close();
                         callbackAction?.Invoke(account);
                         //callbackAction?.Invoke(account);
                         Application.RunOnMainThread(() =>
                         {
                            this.Close();
                             LoadEvent_AutoLogin(account, password);
                         });
                     }
                     else//注册失败
                     {
@@ -405,6 +427,14 @@
                             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;