From 0f2e0147e8990e913d16d99bc1b94fb6bc53abd7 Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期四, 03 十二月 2020 15:35:42 +0800
Subject: [PATCH] 2020-12-03-1

---
 HDL_ON/UI/UI1-Login/RegisterPageBLL.cs |  122 +++++++++++++++++++++++++++++++++-------
 1 files changed, 101 insertions(+), 21 deletions(-)

diff --git a/HDL_ON/UI/UI1-Login/RegisterPageBLL.cs b/HDL_ON/UI/UI1-Login/RegisterPageBLL.cs
index ce1f7a3..b6dc594 100644
--- a/HDL_ON/UI/UI1-Login/RegisterPageBLL.cs
+++ b/HDL_ON/UI/UI1-Login/RegisterPageBLL.cs
@@ -21,6 +21,7 @@
             LoadEvent_Register();
             LoadEvent_LimtPasswordLength();
             LoadEvent_TextChange();
+            LoadEvent_Server();
             //var areaCodeList = pm.GetAreaCode();
         }
         /// <summary>
@@ -30,11 +31,11 @@
         {
             etAccount.TextChangeEventHandler = (sender, e) =>
             {
-                Regex reg = new Regex(@"^[1]+\d{10}");
-                var mFalg = reg.Match(etAccount.Text.Trim());
+                //Regex reg = new Regex(@"^[1]+\d{10}");
+                //var mFalg = reg.Match(etAccount.Text.Trim());
                 if (registerType == 0)//鎵嬫満娉ㄥ唽鑾峰彇楠岃瘉鐮佹寜閽敓鏁堟潯浠�
                 {
-                    if (btnGlobalRoaming.Text == "+86" && etAccount.Text.Trim().Length != 11)
+                    if (!Utlis.CheckPhoneNumber(etAccount.Text.Trim(), phoneZoneCode))
                     {
                         btnGetVerificationCode_Phone.IsSelected = false;
                     }
@@ -46,7 +47,7 @@
                 }
                 else//閭娉ㄥ唽鑾峰彇楠岃瘉鐮佹寜閽敓鏁堟潯浠�
                 {
-                    if (!mFalg.Success)
+                    if (!Utlis.CheckEmail(etAccount.Text.Trim()))
                     {
                         btnGetVerificationCode_Mail.IsSelected = false;
                     }
@@ -68,10 +69,11 @@
             //閫夋嫨鎵嬫満娉ㄥ唽
             btnPhoneLogin.MouseUpEventHandler = (sender, e) =>
             {
-                if(registerType == 0)
+                if (registerType == 0)
                 {
                     return;
                 }
+                etAccount.IsNumberKeyboardType = true;
                 etAccount.Text = registerPhone;
                 etPassword.Text = "";
                 etRepeatPassword.Text = "";
@@ -100,6 +102,8 @@
             {
                 if (registerType == 1)
                     return;
+
+                etAccount.IsNumberKeyboardType = false;
                 etAccount.Text = registerEmail;
                 etPassword.Text = "";
                 etRepeatPassword.Text = "";
@@ -148,9 +152,7 @@
                     {
                         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);
@@ -179,10 +181,7 @@
                         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);
@@ -208,7 +207,7 @@
                             }
                         }
                     }
-                    if(accountType ==0)
+                    if (accountType == 0)
                     {
                         registerPhone = etAccount.Text.Trim();
                     }
@@ -369,6 +368,9 @@
             {
                 if ((sender as Button).IsSelected)
                 {
+                    //鍒ゆ柇鏄惁閫夋嫨浜嗘湇鍔″櫒锛岄�夋嫨浜嗘墠鑳藉彂閫侀獙璇佺爜
+                    if (CheckIfSelectServer() == false) return;
+
                     string account = etAccount.Text.Trim();
                     int time = 60;
                     new Thread(() =>
@@ -383,7 +385,7 @@
                             {
                                 //鐭俊鍙戦�侀棿闅�60s
                                 (sender as Button).IsSelected = false;
-                             
+
                             });
                             //2.1 寮�濮嬪�掕鏃�
                             new Thread(() =>
@@ -420,17 +422,19 @@
                             if (resultObj.Code != StateCode.SUCCESS)
                             {
                                 // 鎻愮ず閿欒
-                                IMessageCommon.Current.ShowErrorInfoAlter(NewAPI.API_POST_Verification_Send, resultObj.Code);
+                                IMessageCommon.Current.ShowErrorInfoAlter(resultObj.Code);
                             }
 
-                        }else if (result.Code.ToUpper() == StateCode.SUCCESS)
+                        }
+                        else if (result.Code.ToUpper() == StateCode.SUCCESS)
                         {
                             //3.鎻愮ず璐﹀彿宸插瓨鍦紝鏃犳硶閲嶅娉ㄥ唽
-                            MainPage.ShowAlertOnMainThread(Language.StringByID(StringId.AccountAlreadyUse));
-                        } else
+                            Utlis.ShowAlertOnMainThread(Language.StringByID(StringId.AccountAlreadyUse));
+                        }
+                        else
                         {
                             //4.鎻愮ず鍏跺畠寮傚父閿欒
-                            IMessageCommon.Current.ShowErrorInfoAlter(NewAPI.API_POST_GetRegionByAccount, result.Code);
+                            IMessageCommon.Current.ShowErrorInfoAlter(result.Code);
                         }
                     })
                     { IsBackground = true }.Start();
@@ -492,7 +496,7 @@
         {
             btnRegister.MouseUpEventHandler = (sender, e) =>
             {
-                if(etPassword.Text.Trim().Length > 13 || etPassword.Text.Trim().Length<6)
+                if (etPassword.Text.Trim().Length > 13 || etPassword.Text.Trim().Length < 6)
                 {
                     new Tip()
                     {
@@ -504,6 +508,9 @@
                 }
                 if (btnRegister.IsSelected)
                 {
+                    //鍒ゆ柇鏄惁閫夋嫨浜嗘湇鍔″櫒锛岄�夋嫨浜嗘墠鑳藉彂閫侀獙璇佺爜
+                    if (CheckIfSelectServer() == false) return;
+
                     waitPage = new Loading();
                     new PublicAssmebly().LoadPage_WaitPage(LoadMethod_RegisterThread(), bodyView, waitPage);
                 }
@@ -540,7 +547,7 @@
                     else// 娉ㄥ唽澶辫触
                     {
                         // 鎻愮ず閿欒
-                        IMessageCommon.Current.ShowErrorInfoAlter(NewAPI.API_POST_Member_Register, validateSmsResult.Code);
+                        IMessageCommon.Current.ShowErrorInfoAlter(validateSmsResult.Code);
 
                         //2020-11-13 寰呬慨鏀�
                         //string erorrInfo = "";
@@ -591,5 +598,78 @@
                 }
             });
         }
+
+        /// <summary>
+        /// 鍔犺浇鏈嶅姟鍣ㄩ�夋嫨鎸夐挳浜嬩欢
+        /// </summary>
+        void LoadEvent_Server()
+        {
+            //鍒ゆ柇涔嬪墠鏄惁閫夋嫨杩�
+            if (UserInfo.Current.GlobalRegion != null && !string.IsNullOrEmpty(UserInfo.Current.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)
+            {
+                btnServerBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2;
+                btnServerBottomLine.Height = Application.GetRealHeight(2);
+            }
+            else
+            {
+                btnServerBottomLine.BackgroundColor = CSS_Color.DividingLineColor;
+                btnServerBottomLine.Height = Application.GetRealHeight(1);
+            }
+        }
+
+        /// <summary>
+        /// 
+        /// </summary>
+        void SetServerText()
+        {
+            //鏈嶅姟鍣ㄩ�夋嫨杩囨爣璁颁负true
+            isSelectServer = true;
+            ShowServerBottomLineState(false);
+            btnServerText.TextColor = CSS_Color.FirstLevelTitleColor;
+            btnServerText.Text = UserInfo.Current.GlobalRegion.regionName;
+        }
     }
 }
\ No newline at end of file

--
Gitblit v1.8.0