From af1cb3ecd0f4b0589e00b28f7f9edccf39e6e12b Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期四, 10 九月 2020 16:15:11 +0800
Subject: [PATCH] 202009101

---
 HDL_ON/UI/UI1-Login/ForgetPasswordPageBLL.cs |  283 +++++++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 215 insertions(+), 68 deletions(-)

diff --git a/HDL_ON/UI/UI1-Login/ForgetPasswordPageBLL.cs b/HDL_ON/UI/UI1-Login/ForgetPasswordPageBLL.cs
index 237a1e9..ebbdac0 100644
--- a/HDL_ON/UI/UI1-Login/ForgetPasswordPageBLL.cs
+++ b/HDL_ON/UI/UI1-Login/ForgetPasswordPageBLL.cs
@@ -30,12 +30,19 @@
             //閫夋嫨鎵嬫満鏂瑰紡
             btnPhoneLogin.MouseUpEventHandler += (sender, e) =>
             {
+                if (registerType == 0)
+                    return;
+                etAccount.Text = registerPhone;
+                etPassword.Text = "";
+                etRepeatPassword.Text = "";
                 #region 鍒囨崲閫変腑鎸夐挳
+                btnGetVerificationCode_Phone.Visible = true;
+                btnGetVerificationCode_Mail.Visible = false;
                 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 鍒囨崲鏂瑰紡鏂瑰紡鍙婂浘鏍�
@@ -51,7 +58,14 @@
             //閫夋嫨閭鏂瑰紡
             btnEmailLogin.MouseUpEventHandler += (sender, e) =>
             {
+                if (registerType == 1)
+                    return;
+                etAccount.Text = registerEmail;
+                etPassword.Text = "";
+                etRepeatPassword.Text = "";
                 #region 鍒囨崲閫変腑鎸夐挳
+                btnGetVerificationCode_Phone.Visible = false;
+                btnGetVerificationCode_Mail.Visible = true;
                 btnPhoneLogin.TextColor = CSS_Color.PromptingColor1;
                 btnPhoneLogin.TextSize = CSS_FontSize.TextFontSize;
                 btnEmailLogin.TextColor = CSS_Color.MainColor;
@@ -78,15 +92,31 @@
         {
             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))
+                if (registerType == 0)//鎵嬫満鑾峰彇楠岃瘉鐮佹寜閽敓鏁堟潯浠�
                 {
-                    btnGetVerificationCode.IsSelected = false;
+                    if (btnGlobalRoaming.Text == "+86" && etAccount.Text.Trim().Length != 11)
+                    {
+                        btnGetVerificationCode_Phone.IsSelected = false;
+                    }
+                    else
+                    {
+                        if (btnGetVerificationCode_Phone.Text == Language.StringByID(StringId.GetVerificationCode))
+                            btnGetVerificationCode_Phone.IsSelected = true;
+                    }
                 }
-                else
+                else//閭鑾峰彇楠岃瘉鐮佹寜閽敓鏁堟潯浠�
                 {
-                    btnGetVerificationCode.IsSelected = true;
+                    if (!mFalg.Success)
+                    {
+                        btnGetVerificationCode_Mail.IsSelected = false;
+                    }
+                    else
+                    {
+                        if (btnGetVerificationCode_Mail.Text == Language.StringByID(StringId.GetVerificationCode))
+                            btnGetVerificationCode_Mail.IsSelected = true;
+                    }
                 }
             };
         }
@@ -107,12 +137,12 @@
                 else
                 {
                     //鏍囪鎵嬫満鍙风爜鏃犳晥
-                    btnGetVerificationCode.IsSelected = false;
                     btnAccountViewBottomLine.BackgroundColor = CSS_Color.DividingLineColor;
                     btnAccountViewBottomLine.Height = Application.GetRealHeight(1);
                     //鎵嬫満鏂瑰紡-楠岃瘉鎵嬫満鍙风爜鏄惁姝g‘
                     if (registerType == 0)
                     {
+                    btnGetVerificationCode_Phone.IsSelected = false;
                         Regex reg = new Regex(@"^[1]+\d{9}");
                         var mFalg = reg.Match(etAccount.Text.Trim());
                         if (!mFalg.Success || (btnGlobalRoaming.Text == "+86" && etAccount.Text.Trim().Length != 11))
@@ -121,36 +151,43 @@
                             btnAccountViewBottomLine.Height = Application.GetRealHeight(2);
                             new Tip()
                             {
-                                CloseTime = 3,
+                                CloseTime = 1,
                                 Text = Language.StringByID(StringId.PlsEntryCorrectMobilNeumber),
                                 Direction = AMPopTipDirection.None,
                             }.Show(bodyView);
                         }
                         else
                         {
-                            btnGetVerificationCode.IsSelected = true;
+                            if (btnGetVerificationCode_Phone.Text == Language.StringByID( StringId.GetVerificationCode))
+                            {
+                                btnGetVerificationCode_Phone.IsSelected = true;
+                            }
                             LoadMothed_EnableResetButton();
                         }
                     }
                     else if (registerType == 1)
                     {
+                        btnGetVerificationCode_Mail.IsSelected = false;
                         //閭鏂瑰紡-楠岃瘉閭鏄惁姝g‘
                         var reg = new Regex("^\\s*([A-Za-z0-9_-]+(\\.\\w+)*@(\\w+\\.)+\\w{2,5})\\s*$");
                         var mFalg = reg.Match(etAccount.Text.Trim());
-                        if (!mFalg.Success || (btnGlobalRoaming.Text == "+86" && etAccount.Text.Trim().Length != 11))
+                        if (!mFalg.Success )
                         {
                             btnAccountViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2;
                             btnAccountViewBottomLine.Height = Application.GetRealHeight(2);
                             new Tip()
                             {
-                                CloseTime = 3,
+                                CloseTime = 1,
                                 Text = Language.StringByID(StringId.PlsEntryCorrectEmailAddress),
                                 Direction = AMPopTipDirection.None,
                             }.Show(bodyView);
                         }
                         else
                         {
-                            btnGetVerificationCode.IsSelected = true;
+                            if (btnGetVerificationCode_Mail.Text == Language.StringByID(StringId.GetVerificationCode))
+                            {
+                                btnGetVerificationCode_Mail.IsSelected = true;
+                            }
                             LoadMothed_EnableResetButton();
                         }
                     }
@@ -170,13 +207,13 @@
                     btnPasswordViewBottomLine.BackgroundColor = CSS_Color.DividingLineColor;
                     btnPasswordViewBottomLine.Height = Application.GetRealHeight(1);
                     //鏍¢獙瀵嗙爜鏄惁绗﹀悎瑕佹眰
-                    if (etPassword.Text.Trim().Length < 6)
+                    if (etPassword.Text.Trim().Length < 6 || etPassword.Text.Trim().Length > 13)
                     {
                         new Tip()
                         {
-                            CloseTime = 3,
+                            CloseTime = 1,
                             Direction = AMPopTipDirection.None,
-                            Text = Language.StringByID(StringId.IncorrectRepeatPassword)
+                            Text = Language.StringByID(StringId.PasswordIsUnqualified)
                         }.Show(bodyView);
                     }
                 }
@@ -201,7 +238,7 @@
                         btnRepeatPasswordViewBottomLine.Height = Application.GetRealHeight(2);
                         new Tip()
                         {
-                            CloseTime = 3,
+                            CloseTime = 1,
                             Direction = AMPopTipDirection.None,
                             Text = Language.StringByID(StringId.IncorrectRepeatPassword)
                         }.Show(bodyView);
@@ -258,63 +295,75 @@
         /// </summary>
         void LoadEvent_GetVerificationCode()
         {
-            btnGetVerificationCode.MouseUpEventHandler += (sender, e) =>
+            EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
             {
-                if (btnGetVerificationCode.IsSelected)
+                var account = etAccount.Text.Trim();
+                if ((sender as Button).IsSelected)
                 {
+                    //鐭俊鍙戦�侀棿闅�60s
+                    (sender as Button).IsSelected = false;
+                    etVerificationCode.Foucs = true;
                     //鑾峰彇楠岃瘉鐮�
-                    var result = pm.SendSms(etAccount.Text.Trim());
-                    if (result.StateCode == "Success")
-                    {
-                        //鐭俊鍙戦�侀棿闅�60s
-                        btnGetVerificationCode.IsSelected = false;
-                        etVerificationCode.Foucs = true;
                         int time = 60;
-                        new Thread(() =>
+                    new Thread(() => {
+                        while (time > 0)
                         {
-                            while (time > 0)
-                            {
-                                time--;
-                                Application.RunOnMainThread(() =>
-                                {
-                                    btnGetVerificationCode.Text = time.ToString() + "s";
-                                });
-                                Thread.Sleep(1000);
-                            }
+                            time--;
                             Application.RunOnMainThread(() =>
                             {
-                                //鍥炲鑾峰彇鐭俊鎸夐挳浜嬩欢
-                                btnGetVerificationCode.IsSelected = true;
-                                btnGetVerificationCode.TextID = StringId.GetVerificationCode;
+                                (sender as Button).Text = time.ToString() + "s";
                             });
-                        })
-                        { 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;
+                            Thread.Sleep(1000);
                         }
-
-                        new Tip()
+                        Application.RunOnMainThread(() =>
                         {
-                            CloseTime = 3,
-                            Direction = AMPopTipDirection.None,
-                            Text = tipString
-                        }.Show(bodyView);
-                    }
+                            //鍥炲鑾峰彇鐭俊鎸夐挳浜嬩欢
+                            (sender as Button).IsSelected = true;
+                            (sender as Button).TextID = StringId.GetVerificationCode;
+                        });
+                    }){ IsBackground = true}.Start();
+                    new Thread(() =>
+                    {
+                        var result = pm.GetLoginVerCode(account);
+                        if (result.StateCode.ToUpper() == "SUCCESS")
+                        {
+                        }
+                        else
+                        {
+                            string tipString = "Server error";
+                            switch (result.StateCode)
+                            {
+                                case "Exist":
+                                    tipString = Language.StringByID(StringId.AccountAlreadyUse);
+                                    break;
+                                case "SendFail":
+                                    tipString = Language.StringByID(StringId.FailedToSendVerificationCode);
+                                    break;
+                                case "AccountNoExists":
+                                    tipString = Language.StringByID(StringId.AccountNotExist);
+                                    break;
+                                case "Self:Net_Error":
+                                    tipString = Language.StringByID(StringId.NetworkAnomaly);
+                                    break;
+                            }
+
+                            Application.RunOnMainThread(() =>
+                            {
+                                new Tip()
+                                {
+                                    CloseTime = 1,
+                                    Direction = AMPopTipDirection.None,
+                                    Text = tipString
+                                }.Show(bodyView);
+                            });
+                        }
+                    })
+                    { IsBackground = true }.Start();
                 }
             };
+
+            btnGetVerificationCode_Mail.MouseUpEventHandler = eventHandler;
+            btnGetVerificationCode_Phone.MouseUpEventHandler = eventHandler;
         }
 
         /// <summary>
@@ -329,7 +378,7 @@
                     //鍒涘缓淇敼瀵嗙爜绾跨▼
                     var loginThread = LoadMothed_ResetThread();
                     waitPage = new Loading();
-                    new WaitPageMothed().LoadPage_WaitPage(loginThread, bodyView, waitPage);
+                    new PublicAssmebly().LoadPage_WaitPage(loginThread, bodyView, waitPage);
                 }
             };
         }
@@ -353,15 +402,15 @@
             return new Thread(() =>
             {
                 var verResult = pm.ValidatorCode(account, verCode, countryIndex);
-                if (verResult.StateCode == "Success")
+                if (verResult.StateCode.ToUpper() == "SUCCESS")
                 {
                     var resetResult = pm.ResetPassword(account, password, repeatPassword, countryIndex);
-                    if (resetResult.StateCode == "Success")
+                    if (resetResult.StateCode.ToUpper() == "SUCCESS")
                     {
                         Application.RunOnMainThread(() =>
                         {
-                            waitPage.Hide();
-                            this.Close();
+                            LoadEvent_AutoLogin();
+
                             callbackAction?.Invoke(account);
                         });
                     }
@@ -385,7 +434,7 @@
                             waitPage.Hide();
                             new Tip()
                             {
-                                CloseTime = 3,
+                                CloseTime = 1,
                                 Direction = AMPopTipDirection.None,
                                 Text = erorrInfo,
                             }.Show(bodyView);
@@ -399,6 +448,19 @@
                     {
                         case "ValidCodeAndPhoneNoEqual"://楠岃瘉鐮侀敊璇�
                             erorrInfo = Language.StringByID(StringId.VerificationCodeWrong);
+                            Application.RunOnMainThread(() =>
+                            {
+                                btnVerificationCodeViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2;
+                                btnVerificationCodeViewBottomLine.Height = Application.GetRealHeight(2);
+                            });
+                            break;
+                        case "NoRecord":
+                            erorrInfo = Language.StringByID(StringId.PlsGetTheVerificationCode);
+                            Application.RunOnMainThread(() =>
+                            {
+                                btnVerificationCodeViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2;
+                                btnVerificationCodeViewBottomLine.Height = Application.GetRealHeight(2);
+                            });
                             break;
                         default:
                             erorrInfo = "Server error";
@@ -409,7 +471,7 @@
                         waitPage.Hide();
                         new Tip()
                         {
-                            CloseTime = 3,
+                            CloseTime = 1,
                             Direction = AMPopTipDirection.None,
                             Text = erorrInfo,
                         }.Show(bodyView);
@@ -433,5 +495,90 @@
             }
         }
 
+        /// <summary>
+        /// 浣忓畢鎴愬姛涔嬪悗鑷姩鐧诲綍
+        /// </summary>
+        void LoadEvent_AutoLogin()
+        {
+            Dialog dialog = new Dialog();
+
+            FrameLayout frame = new FrameLayout()
+            {
+                Gravity = Gravity.CenterHorizontal,
+                Y = Application.GetRealHeight(198),
+                Width = Application.GetRealWidth(288),
+                Height = Application.GetRealHeight(206),
+                BackgroundColor = CSS_Color.MainBackgroundColor,
+                Radius = (uint)Application.GetRealWidth(12),
+                BorderWidth = 0,
+                BorderColor = 0x00000000,
+            };
+            dialog.AddChidren(frame);
+
+            Button btnAccountText = new Button()
+            {
+                Gravity = Gravity.CenterHorizontal,
+                Y = Application.GetRealHeight(40),
+                Height = Application.GetRealHeight(17 + 14 + 14),
+                IsMoreLines = true,
+                TextAlignment = TextAlignment.Center,
+                TextColor = CSS_Color.FirstLevelTitleColor,
+                TextSize = CSS_FontSize.TextFontSize,
+                //Text = "s鏄敓鐢熶笘涓�",
+            };
+            frame.AddChidren(btnAccountText);
+
+            Button btnTipRegisterSuccess = new Button()
+            {
+                Gravity = Gravity.CenterHorizontal,
+                Y = Application.GetRealHeight(123),
+                Height = Application.GetRealHeight(30),
+                TextAlignment = TextAlignment.Center,
+                TextColor = CSS_Color.MainColor,
+                TextSize = CSS_FontSize.SubheadingFontSize,
+                TextID = StringId.PasswordChangeSuccessfully,
+            };
+            frame.AddChidren(btnTipRegisterSuccess);
+
+            Button btnAutoLoginTip = new Button()
+            {
+                Gravity = Gravity.CenterHorizontal,
+                Y = btnTipRegisterSuccess.Bottom,
+                Height = Application.GetRealHeight(17 + 8),
+                TextAlignment = TextAlignment.Center,
+                TextColor = CSS_Color.PromptingColor1,
+                TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+                TextID = StringId.AutomaticallyLogin,
+            };
+            //frame.AddChidren(btnAutoLoginTip);
+
+            Button btnHeadImage = new Button()
+            {
+                Gravity = Gravity.CenterHorizontal,
+                Y = Application.GetRealHeight(150),
+                Width = Application.GetRealWidth(84),
+                Height = Application.GetRealWidth(84),
+                Radius = (uint)Application.GetRealWidth(42),
+                BorderColor = 0x00000000,
+                BorderWidth = 0,
+                UnSelectedImagePath = "LoginIcon/2.png",
+            };
+            dialog.AddChidren(btnHeadImage);
+
+            dialog.Show();
+
+            new Thread(() =>
+            {
+                Thread.Sleep(1500);
+                Application.RunOnMainThread(() =>
+                {
+                    dialog.Close();
+                    this.Close();
+                });
+            })
+            { IsBackground = true }.Start();
+        }
+
+
     }
 }

--
Gitblit v1.8.0