From 43b0d5870d528f23ecd6aeceb6cfd4325188b46f Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期四, 01 七月 2021 15:50:43 +0800
Subject: [PATCH] Revert "1"

---
 HDL_ON/UI/UI1-Login/RegisterPageBLL.cs |  668 +++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 478 insertions(+), 190 deletions(-)

diff --git a/HDL_ON/UI/UI1-Login/RegisterPageBLL.cs b/HDL_ON/UI/UI1-Login/RegisterPageBLL.cs
index 6996dec..4e2b8ce 100644
--- a/HDL_ON/UI/UI1-Login/RegisterPageBLL.cs
+++ b/HDL_ON/UI/UI1-Login/RegisterPageBLL.cs
@@ -19,28 +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//閭娉ㄥ唽鑾峰彇楠岃瘉鐮佹寜閽敓鏁堟潯浠�
                 {
-                    if (btnGetVerificationCode.Text == Language.StringByID(StringId.GetVerificationCode))
-                        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();
             };
         }
 
@@ -50,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 鍒囨崲娉ㄥ唽鏂瑰紡鍙婂浘鏍�
@@ -75,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 瑙e喅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;
@@ -111,43 +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);
                     //鎵嬫満娉ㄥ唽-楠岃瘉鎵嬫満鍙风爜鏄惁姝g‘
                     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
                             {
-                                if (btnGetVerificationCode.Text == Language.StringByID(StringId.GetVerificationCode))
+                                if (btnGetVerificationCode_Phone.Text == Language.StringByID(StringId.GetVerificationCode))
                                 {
                                     //鏍囪鎵嬫満鍙风爜鏈夋晥
-                                    btnGetVerificationCode.IsSelected = true;
+                                    btnGetVerificationCode_Phone.IsSelected = true;
                                 }
                                 //璐﹀彿鏈夋晥銆佸瘑鐮佹湁鏁堛�侀獙璇佺爜杈撳叆浜嗭紝鎵嶈兘鐐瑰嚮娉ㄥ唽
-                                if (btnGetVerificationCode.IsSelected && ValidPassword && !string.IsNullOrEmpty(etVerificationCode.Text.Trim()))
+                                if (ValidPassword && !string.IsNullOrEmpty(etVerificationCode.Text.Trim()))
                                 {
                                     btnRegister.IsSelected = true;
                                 }
@@ -156,34 +219,32 @@
                         else if (registerType == 1)
                         {
                             //閭娉ㄥ唽-楠岃瘉閭鏄惁姝g‘
-                            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
                             {
-                                if (btnGetVerificationCode.Text == Language.StringByID(StringId.GetVerificationCode))
+                                if (btnGetVerificationCode_Mail.Text == Language.StringByID(StringId.GetVerificationCode))
                                 {//鏍囪鎵嬫満鍙风爜鏈夋晥
-                                    btnGetVerificationCode.IsSelected = true;
+                                    btnGetVerificationCode_Mail.IsSelected = true;
                                 }
                                 //璐﹀彿鏈夋晥銆佸瘑鐮佹湁鏁堛�侀獙璇佺爜杈撳叆浜嗭紝鎵嶈兘鐐瑰嚮娉ㄥ唽
-                                if (btnGetVerificationCode.IsSelected && ValidPassword && string.IsNullOrEmpty(etVerificationCode.Text.Trim()))
+                                if (ValidPassword && string.IsNullOrEmpty(etVerificationCode.Text.Trim()))
                                 {
                                     btnRegister.IsSelected = true;
                                 }
                             }
                         }
                     }
+
                 }
             };
 
@@ -192,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);
-                    }
+
                 }
             };
 
@@ -224,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;
                             }
@@ -263,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)
                     {
                         //璐﹀彿鏈夋晥銆佸瘑鐮佹湁鏁堛�侀獙璇佺爜杈撳叆浜嗭紝鎵嶈兘鐐瑰嚮娉ㄥ唽
@@ -279,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();
             };
         }
 
@@ -306,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.ToUpper() == "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>
@@ -382,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);
                 }
@@ -402,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.ToUpper() == "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()
+        {
+            //鎵嬫満鏂瑰紡-楠岃瘉鎵嬫満鍙风爜鏄惁姝g‘
+            if (registerType == 0)
+            {
+                if (!Utlis.CheckPhoneNumber(etAccount.Text.Trim(), phoneZoneCode))
+                {
+                    Utlis.ShowTip(Language.StringByID(StringId.PlsEntryCorrectMobilNeumber));
+                }
+                else
+                {
+                    return true;
+                }
+
+            }
+            else if (registerType == 1)
+            {
+                //閭鏂瑰紡-楠岃瘉閭鏄惁姝g‘
+                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;
+        }
     }
 }
\ No newline at end of file

--
Gitblit v1.8.0