From 6d73bf6e816570291865674bef8bce8972e4de3f Mon Sep 17 00:00:00 2001
From: xm <1271024303@qq.com>
Date: 星期三, 01 十二月 2021 16:32:57 +0800
Subject: [PATCH] 2021-12-01-01

---
 HDL_ON/UI/UI1-Login/RegisterPage.cs |  403 +++++++++++++++++++++++++++++++++++++--------------------
 1 files changed, 260 insertions(+), 143 deletions(-)

diff --git a/HDL_ON/UI/UI1-Login/RegisterPage.cs b/HDL_ON/UI/UI1-Login/RegisterPage.cs
index 25dd3d1..e6225f9 100644
--- a/HDL_ON/UI/UI1-Login/RegisterPage.cs
+++ b/HDL_ON/UI/UI1-Login/RegisterPage.cs
@@ -27,6 +27,36 @@
         /// 閫夋嫨閭鐧诲綍鎸夐挳
         /// </summary>
         Button btnEmailLogin;
+        #region 鏈嶅姟鍣ㄩ�夋嫨
+        /// <summary>
+        /// 鏈嶅姟鍣ㄥ尯鍩�
+        /// </summary>
+        FrameLayout serverView;
+        /// <summary>
+        /// 鏈嶅姟鍣↖con鎸夐挳
+        /// </summary>
+        Button btnServerIcon;
+        /// <summary>
+        /// 鏈嶅姟鍣ㄦ枃鏈
+        /// </summary>
+        Button btnServerText;
+        ///// <summary>
+        ///// 鏈嶅姟鍣ㄦ枃鏈
+        ///// </summary>
+        //EditText etServer;
+        ///// <summary>
+        ///// 鏈嶅姟鍣ㄥ瓙鍖哄煙閲岄潰鐨勫垎鍓茬嚎1
+        ///// </summary>
+        //Button btnLineVertical_server;
+        /// <summary>
+        ///鏈嶅姟鍣╣o鎸夐挳
+        /// </summary>
+        Button btnServerGo;
+        /// <summary>
+        /// 鏈嶅姟鍣ㄥ瓙鍖哄煙搴曢儴妯嚎
+        /// </summary>
+        Button btnServerBottomLine;
+        #endregion
         /// <summary>
         /// 璐﹀彿瀛愬尯鍩�
         /// </summary>
@@ -136,12 +166,12 @@
         #endregion
 
         #region  灞�閮ㄥ彉閲忓垪琛�
-        /// <summary>
-        /// 璐﹀彿绫诲瀷
-        /// 0:鎵嬫満
-        /// 1:閭
-        /// </summary>
-        int accountType = 0;
+        ///// <summary>
+        ///// 璐﹀彿绫诲瀷
+        ///// 0:鎵嬫満
+        ///// 1:閭
+        ///// </summary>
+        //int accountType = 0;
         /// <summary>
         /// 鎵嬫満鍙风爜鏄惁鏈夋晥
         /// </summary>
@@ -163,22 +193,49 @@
         /// 0:鎵嬫満
         /// 1:閭
         /// </summary>
-        int registerType;
+        int registerType = 0;
         /// <summary>
         /// 鎵嬫満鍖哄彿
         /// </summary>
         string phoneZoneCode = "86";
+        /// <summary>
+        /// 鏄惁閫夋嫨杩囨湇鍔″櫒
+        /// </summary>
+        bool isSelectServer;
 
         string registerPhone;
         string registerEmail;
+        /// <summary>
+        /// 鏄惁鐐瑰嚮浜嗚繑鍥烇紝鐢ㄤ簬灞忚斀EditText澶卞幓鐒︾偣妫�娴嬩簨浠�
+        /// </summary>
+        bool isHitBack;
         #endregion
-        public RegisterPage()
+
+        /// <summary>
+        /// 鍥炶皟浜嬩欢
+        /// 璐﹀彿锛屽瘑鐮侊紝鏄惁鎵嬫満
+        /// account锛宲assword锛宨sPhone
+        /// </summary>
+        Action<string, string, bool> AutoLoginAction;
+
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="autoLoginAction">娉ㄥ唽鎴愬姛鍥炶皟浜嬩欢</param>
+        public RegisterPage(Action<string, string, bool> autoLoginAction)
         {
+            AutoLoginAction = autoLoginAction;
+
             bodyView = new FrameLayout()
             {
-                BackgroundColor = CSS_Color.BackgroundColor,
+                BackgroundColor = CSS_Color.MainBackgroundColor,
             };
             AddChidren(bodyView);
+
+            //2020-12-22 澧炲姞鐐瑰嚮闅愯棌閿洏浜嬩欢
+            bodyView.MouseDownEventHandler += (sender, e) => {
+                Application.HideSoftInput();
+            };
 
             pm = new HttpServerRequest();
         }
@@ -196,7 +253,14 @@
 
         public void ShowDialog()
         {
-            new TopViewDiv(this, bodyView, Language.StringByID(StringId.Register)).LoadTopView();
+            Action backAction = () =>
+            {
+                isHitBack = true;
+                //2020-12-22 澧炲姞鐐瑰嚮闅愯棌閿洏浜嬩欢
+                Application.HideSoftInput();
+            };
+
+            new TopViewDiv(this, bodyView, Language.StringByID(StringId.Register)).LoadTopView(backAction);
             //new PublicAssmebly().LoadTopView(this, bodyView, Language.StringByID(StringId.Register));
 
             #region 娉ㄥ唽鏂瑰紡閫夋嫨
@@ -225,13 +289,73 @@
                 TextSize = CSS_FontSize.TextFontSize,
             };
             bodyView.AddChidren(btnEmailLogin);
+            if(Language.CurrentLanguage!= "Chinese")
+            {
+                btnPhoneLogin.Width = Application.GetRealWidth(180);
+                btnEmailLogin.Width = Application.GetRealWidth(180);
+            }
             #endregion
 
+            #region 鏈嶅姟鍣ㄩ�夋嫨
+            serverView = new FrameLayout()
+            {
+                X = Application.GetRealWidth(28),
+                Y = Application.GetRealHeight(167),
+                Width = Application.GetRealWidth(319),
+                Height = Application.GetRealHeight(44),
+            };
+            bodyView.AddChidren(serverView);
+
+            btnServerIcon = new Button()
+            {
+                X = Application.GetRealWidth(9),
+                Gravity = Gravity.CenterVertical,
+                Width = Application.GetMinRealAverage(20),
+                Height = Application.GetMinRealAverage(20),
+                UnSelectedImagePath = "LoginIcon/Server.png",
+
+            };
+            serverView.AddChidren(btnServerIcon);
+
+            btnServerText = new Button()
+            {
+                X = Application.GetRealWidth(49),
+                Width = Application.GetRealWidth(319 - 78),
+                TextAlignment = TextAlignment.CenterLeft,
+                TextColor = CSS_Color.PromptingColor1,
+                TextSize = CSS_FontSize.TextFontSize,
+                TextID = StringId.PleaseSelectCountryOrRegion,
+            };
+            serverView.AddChidren(btnServerText);
+
+            #region 瀵嗙爜鐧诲綍-鎺т欢鍔犺浇
+            btnServerGo = new Button()
+            {
+                X = Application.GetRealWidth(303),
+                Gravity = Gravity.CenterVertical,
+                Width = Application.GetMinRealAverage(16),
+                Height = Application.GetMinRealAverage(16),
+                UnSelectedImagePath = "Public/Right.png",
+            };
+            serverView.AddChidren(btnServerGo);
+
+            #endregion
+            btnServerBottomLine = new Button()
+            {
+                Y = Application.GetRealHeight(42),
+                BackgroundColor = CSS_Color.DividingLineColor,
+                SelectedBackgroundColor = CSS_Color.MainColor,
+                Height = Application.GetRealHeight(1),
+            };
+            serverView.AddChidren(btnServerBottomLine);
+            #endregion
+
+            int topPadding = Application.GetRealHeight(12);
             #region 璐﹀彿濉啓
             accountView = new FrameLayout()
             {
                 X = Application.GetRealWidth(28),
-                Y = Application.GetRealHeight(167),
+                Y = serverView.Bottom + topPadding,
                 Width = Application.GetRealWidth(319),
                 Height = Application.GetRealHeight(44),
             };
@@ -259,7 +383,7 @@
             };
             btnGlobalRoaming.MouseUpEventHandler += eHandler;
 
-            if (accountType == 0)
+            if (registerType == 0)
             {
                 accountView.AddChidren(btnGlobalRoaming);
             }
@@ -303,7 +427,7 @@
                 Height = Application.GetMinRealAverage(20),
                 UnSelectedImagePath = "LoginIcon/AccountIcon.png",
             };
-            if (accountType == 1)
+            if (registerType == 1)
             {
                 accountView.AddChidren(btnAccountIcon);
             }
@@ -313,7 +437,7 @@
             passwordView = new FrameLayout()
             {
                 X = Application.GetRealWidth(28),
-                Y = Application.GetRealHeight(223),
+                Y = accountView.Bottom + topPadding,
                 Width = Application.GetRealWidth(319),
                 Height = Application.GetRealHeight(44),
             };
@@ -379,7 +503,7 @@
             repeatPasswordView = new FrameLayout()
             {
                 X = Application.GetRealWidth(28),
-                Y = Application.GetRealHeight(279),
+                Y = passwordView.Bottom + topPadding,
                 Width = Application.GetRealWidth(319),
                 Height = Application.GetRealHeight(44),
             };
@@ -447,7 +571,8 @@
             verificationCodeView = new FrameLayout()
             {
                 X = Application.GetRealWidth(28),
-                Y = Application.GetRealHeight(335),
+                Y = repeatPasswordView.Bottom + topPadding,
+                //Y = Application.GetRealHeight(335),
                 Width = Application.GetRealWidth(319),
                 Height = Application.GetRealHeight(44),
             };
@@ -482,6 +607,7 @@
                 TextSize = CSS_FontSize.TextFontSize,
                 PlaceholderTextColor = CSS_Color.PromptingColor1,
                 PlaceholderText = Language.StringByID(StringId.PlsEntryVerificationCode),
+                IsNumberKeyboardType = true
             };
             verificationCodeView.AddChidren(etVerificationCode);
 
@@ -524,10 +650,11 @@
             btnRegister = new Button()
             {
                 Gravity = Gravity.CenterHorizontal,
-                Y = Application.GetRealHeight(421),
+                Y = verificationCodeView.Bottom + Application.GetRealHeight(42),
+                //Y = Application.GetRealHeight(421),
                 Width = Application.GetRealWidth(220),
-                Height = Application.GetRealHeight(44),
-                Radius = (uint)Application.GetRealHeight(22),
+                Height = Application.GetRealWidth(44),
+                Radius = (uint)Application.GetRealWidth(22),
                 SelectedBackgroundColor = CSS_Color.MainColor,
                 BackgroundColor = CSS_Color.PromptingColor1,
                 TextID = StringId.Register,
@@ -618,140 +745,130 @@
                 Thread.Sleep(1500);
                 Application.RunOnMainThread(() =>
                 {
-                    //鍒涘缓鐧诲綍绾跨▼
-                    var loginThread = LoadThread_Login(account, password);
-                    waitPage = new Loading();
-                    new PublicAssmebly().LoadPage_WaitPage(loginThread, bodyView, waitPage);
+                    ////鍒涘缓鐧诲綍绾跨▼
+                    //var loginThread = LoadThread_Login(account, password);
+                    //waitPage = new Loading();
+                    //new PublicAssmebly().LoadPage_WaitPage(loginThread, bodyView, waitPage);
                     dialog.Close();
+
+                    var isPhone = registerType == 0;
+                    AutoLoginAction?.Invoke(account, password, isPhone);
                 });
             })
             { IsBackground = true }.Start();
         }
 
-        #region 鐧诲綍绾跨▼閮ㄥ垎
-        /// <summary>
-        /// 鍔犺浇鐧诲綍绾跨▼
-        /// </summary>
-        Thread LoadThread_Login(string account,string password)
-        {
-            var loginThread = new Thread(() =>
-            {
-                try
-                {
-                    //鐧诲綍
-                    var loginResult = LoadMethod_Login(account,password);
-                    if (loginResult)
-                    {
-                        //鑾峰彇浣忓畢淇℃伅
-                        var getResidencesResult = LoadMethod_GetResidences();
-                        if (getResidencesResult)
-                        {
-                            /*
-                             * Wait : 鎺ㄩ�佹敞鍐�
-                             */
+        //#region 鐧诲綍绾跨▼閮ㄥ垎
+        ///// <summary>
+        ///// 鍔犺浇鐧诲綍绾跨▼
+        ///// </summary>
+        //Thread LoadThread_Login(string account,string password)
+        //{
+        //    var loginThread = new Thread(() =>
+        //    {
+        //        try
+        //        {
+        //            //鐧诲綍
+        //            var loginResult = LoadMethod_Login(account,password);
+        //            if (loginResult)
+        //            {
+        //                //鑾峰彇浣忓畢淇℃伅
+        //                var getResidencesResult = LoadMethod_GetResidences();
+        //                if (getResidencesResult)
+        //                {
+        //                    /*
+        //                     * Wait : 鎺ㄩ�佹敞鍐�
+        //                     */
 
-                            Application.RunOnMainThread(() =>
-                            {
-                                waitPage.RemoveFromParent();
-                                waitPage = null;
+        //                    Application.RunOnMainThread(() =>
+        //                    {
+        //                        waitPage.RemoveFromParent();
+        //                        waitPage = null;
 
-                                //璺宠浆椤甸潰----
-                                MainPage.GoUserPage();
-                            });
-                        }
-                    }
-                }
-                catch (Exception ex)
-                {
-                    MainPage.Log($"LoginPage : {ex.Message}");
-                }
-            })
-            { IsBackground = true };
-            return loginThread;
-        }
+        //                        //璺宠浆椤甸潰----
+        //                        MainPage.GoUserPage();
+        //                    });
+        //                }
+        //            }
+        //        }
+        //        catch (Exception ex)
+        //        {
+        //            MainPage.Log($"LoginPage : {ex.Message}");
+        //        }
+        //    })
+        //    { IsBackground = true };
+        //    return loginThread;
+        //}
 
-        /// <summary>
-        /// 璋冪敤鐧诲綍鎺ュ彛鐧诲綍
-        /// </summary>
-        bool LoadMethod_Login(string account, string password)
-        {
-            var result = false;
-            //璋冪敤鐧诲綍鎺ュ彛
-            var loginResult = pm.LoginByPassword(account, password);
-            if (loginResult.Code == StateCode.SUCCESS)
-            {
-                var revertData = Newtonsoft.Json.JsonConvert.DeserializeObject<UserLoginRes>(loginResult.Data.ToString());
-                // UserInfo.Current = new UserInfo
-                //{
-                //    userType = revertData.userType,
-                //    accountString = account,
-                //    password = password,
-                //    lastTime = DateTime.Now,
-                //    ID = revertData.userId,
-                //    loginTokenString = revertData.headerPrefix + revertData.accessToken,
-                //    refreshToken = revertData.refreshToken,
-                //    userName = revertData.name
-                //};
-                UserInfo.Current.userType = revertData.userType;
-                UserInfo.Current.accountString = account;
-                //UserInfo.Current.password = password;
-                UserInfo.Current.lastTime = DateTime.Now;
-                UserInfo.Current.ID = revertData.userId;
-                UserInfo.Current.loginTokenString = revertData.headerPrefix + revertData.accessToken;
-                UserInfo.Current.refreshToken = revertData.refreshToken;
-                UserInfo.Current.userName = revertData.name;
+        ///// <summary>
+        ///// 璋冪敤鐧诲綍鎺ュ彛鐧诲綍
+        ///// </summary>
+        //bool LoadMethod_Login(string account, string password)
+        //{
+        //    var result = false;
+        //    //璋冪敤鐧诲綍鎺ュ彛
+        //    var loginResult = pm.LoginByPassword(account, password);
+        //    if (loginResult.Code == StateCode.SUCCESS)
+        //    {
+        //        var revertData = Newtonsoft.Json.JsonConvert.DeserializeObject<UserLoginRes>(loginResult.Data.ToString());
+        //        // UserInfo.Current = new UserInfo
+        //        //{
+        //        //    userType = revertData.userType,
+        //        //    accountString = account,
+        //        //    password = password,
+        //        //    lastTime = DateTime.Now,
+        //        //    ID = revertData.userId,
+        //        //    loginTokenString = revertData.headerPrefix + revertData.accessToken,
+        //        //    refreshToken = revertData.refreshToken,
+        //        //    userName = revertData.name
+        //        //};
+        //        UserInfo.Current.userType = revertData.userType;
+        //        UserInfo.Current.AccountString = account;
+        //        //UserInfo.Current.password = password;
+        //        UserInfo.Current.LastTime = DateTime.Now;
+        //        UserInfo.Current.ID = revertData.userId;
+        //        UserInfo.Current.LoginTokenString = revertData.headerPrefix + revertData.accessToken;
+        //        UserInfo.Current.RefreshToken = revertData.refreshToken;
+        //        UserInfo.Current.userName = revertData.name;
 
-                UserInfo.Current.SaveUserInfo();
-                MainPage.Log("鐧诲綍鎴愬姛銆�");
-                result = true;
-            }
-            else
-            {
-                //鐧诲綍澶辫触
-                IMessageCommon.Current.ShowErrorInfoAlter(loginResult.Code);
-                Application.RunOnMainThread(() =>
-                {
-                    btnPasswordViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2;
-                    btnPasswordViewBottomLine.Height = Application.GetRealHeight(2);
-                });
-            }
-            return result;
-        }
+        //        UserInfo.Current.SaveUserInfo();
+        //        MainPage.Log("鐧诲綍鎴愬姛銆�");
+        //        result = true;
+        //    }
+        //    else
+        //    {
+        //        //鐧诲綍澶辫触
+        //        IMessageCommon.Current.ShowErrorInfoAlter(loginResult.Code);
+        //        Application.RunOnMainThread(() =>
+        //        {
+        //            btnPasswordViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2;
+        //            btnPasswordViewBottomLine.Height = Application.GetRealHeight(2);
+        //        });
+        //    }
+        //    return result;
+        //}
 
-        /// <summary>
-        /// 鑾峰彇浣忓畢鍒楄〃
-        /// </summary>
-        bool LoadMethod_GetResidences()
-        {
-            var result = false;
-            var responsePack = pm.GetHomePager();
-            if (responsePack == StateCode.SUCCESS)
-            {
-            }
-            else
-            {
-                var tipStr = "Server erorr";
-                switch (responsePack)
-                {
-                    case "NoLogin":
-                        tipStr = Language.StringByID(StringId.InvalidLoginCertificate);
-                        break;
-                }
-                Application.RunOnMainThread(() =>
-                {
-                    //鎻愮ず鍘熷洜
-                    var tip = new Tip()
-                    {
-                        Text = tipStr,
-                        CloseTime = 1,
-                        Direction = AMPopTipDirection.None
-                    };
-                    tip.Show(bodyView);
-                });
-
-            }
-            return result;
-        }
-        #endregion
+        ///// <summary>
+        ///// 鑾峰彇浣忓畢鍒楄〃
+        ///// </summary>
+        //bool LoadMethod_GetResidences()
+        //{
+        //    var result = false;
+        //    var responsePack = pm.GetHomePager();
+        //    if (responsePack == StateCode.SUCCESS)
+        //    {
+        //        //2020-11-13 寰呯‘璁わ紝娌℃湁浣忓畢锛屼笉绠楃櫥褰曟垚鍔�
+        //        if (UserInfo.Current.regionList != null && UserInfo.Current.regionList.Count > 0)
+        //        {
+        //            result = true;
+        //        }
+        //    }
+        //    else
+        //    {
+        //        IMessageCommon.Current.ShowErrorInfoAlter(responsePack);
+        //    }
+        //    return result;
+        //}
+        //#endregion
     }
 }
\ No newline at end of file

--
Gitblit v1.8.0