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/ForgetPasswordPageBLL.cs |  673 +++++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 496 insertions(+), 177 deletions(-)

diff --git a/HDL_ON/UI/UI1-Login/ForgetPasswordPageBLL.cs b/HDL_ON/UI/UI1-Login/ForgetPasswordPageBLL.cs
index 98fbf25..79dced0 100644
--- a/HDL_ON/UI/UI1-Login/ForgetPasswordPageBLL.cs
+++ b/HDL_ON/UI/UI1-Login/ForgetPasswordPageBLL.cs
@@ -18,7 +18,8 @@
             LoadEvent_EditTextFcousChange();
             LoadEvent_ChangeTextVisble();
             LoadEvent_GetVerificationCode();
-            LoadEvent_Register();
+            LoadEvent_Reset();
+            LoadEvent_TextChange();
         }
 
         /// <summary>
@@ -29,13 +30,26 @@
             //閫夋嫨鎵嬫満鏂瑰紡
             btnPhoneLogin.MouseUpEventHandler += (sender, e) =>
             {
+                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_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;
-                btnChooseBottomLine.X = btnPhoneLogin.X + Application.GetRealWidth(27);
-                etAccount.PlaceholderText = Language.StringByID(R.InternationalizationString.PlsEntryCorrectMobilNeumber);
+                etAccount.PlaceholderText = Language.StringByID(StringId.PlsEntryPhoneNumber);
                 #endregion
 
                 #region 鍒囨崲鏂瑰紡鏂瑰紡鍙婂浘鏍�
@@ -51,13 +65,27 @@
             //閫夋嫨閭鏂瑰紡
             btnEmailLogin.MouseUpEventHandler += (sender, e) =>
             {
+                if (registerType == 1)
+                    return;
+
+                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_Phone.Visible = false;
+                btnGetVerificationCode_Mail.Visible = true;
                 btnPhoneLogin.TextColor = CSS_Color.PromptingColor1;
                 btnPhoneLogin.TextSize = CSS_FontSize.TextFontSize;
                 btnEmailLogin.TextColor = CSS_Color.MainColor;
                 btnEmailLogin.TextSize = CSS_FontSize.EmphasisFontSize_Secondary;
-                btnChooseBottomLine.X = btnEmailLogin.X + Application.GetRealWidth(27);
-                etAccount.PlaceholderText = Language.StringByID(R.InternationalizationString.PlsEntryEmailAddress);
+                etAccount.PlaceholderText = Language.StringByID(StringId.PlsEntryEmailAddress);
                 #endregion
 
                 #region 鍒囨崲淇敼鏂瑰紡鍙婂浘鏍�
@@ -73,6 +101,61 @@
         }
 
         /// <summary>
+        /// 鍔犺浇鏂囨湰鍙樺寲浜嬩欢
+        /// </summary>
+        void LoadEvent_TextChange()
+        {
+            etAccount.TextChangeEventHandler += (sender, e) =>
+            {
+                //Regex reg = new Regex(@"^[1]+\d{10}");
+                //var mFalg = reg.Match(etAccount.Text.Trim());
+                if (registerType == 0)//鎵嬫満鑾峰彇楠岃瘉鐮佹寜閽敓鏁堟潯浠�
+                {
+                    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//閭鑾峰彇楠岃瘉鐮佹寜閽敓鏁堟潯浠�
+                {
+                    if (!Utlis.CheckEmail(etAccount.Text.Trim()))
+                    {
+                        btnGetVerificationCode_Mail.IsSelected = false;
+                    }
+                    else
+                    {
+                        if (btnGetVerificationCode_Mail.Text == Language.StringByID(StringId.GetVerificationCode))
+                            btnGetVerificationCode_Mail.IsSelected = true;
+                    }
+                }
+
+                LoadMothed_EnableResetButton();
+            };
+
+            //etVerificationCode.TextChangeEventHandler = (sender, e) => {
+
+            //    if (etVerificationCode.Text.Length > 1)
+            //    {
+            //        LoadMothed_EnableResetButton();
+            //    }
+            //};
+
+            Action<View, string> textChangeEventHandler = (view, textStr) =>
+            {
+                LoadMothed_EnableResetButton();
+            };
+            //etAccount.TextChangeEventHandler += textChangeEventHandler;
+            etPassword.TextChangeEventHandler += textChangeEventHandler;
+            etRepeatPassword.TextChangeEventHandler += textChangeEventHandler;
+            etVerificationCode.TextChangeEventHandler += textChangeEventHandler;
+        }
+
+        /// <summary>
         /// 鍔犺浇鏂囨湰妗嗙劍鐐瑰彉鍖栦簨浠�
         /// </summary>
         void LoadEvent_EditTextFcousChange()
@@ -82,153 +165,143 @@
             {
                 if (etAccount.Foucs)
                 {
-                    btnAccountViewBottomLine.BackgroundColor = CSS_Color.MainColor;
-                    btnAccountViewBottomLine.Height = Application.GetRealHeight(2);
+                    HDLCommon.Current.BottomLineShowType(btnAccountViewBottomLine, BottomLineType.GotFocus);
                 }
                 else
                 {
-                    //鏍囪鎵嬫満鍙风爜鏃犳晥
-                    btnGetVerificationCode.IsSelected = false;
-                    btnAccountViewBottomLine.BackgroundColor = CSS_Color.DividingLineColor;
-                    btnAccountViewBottomLine.Height = Application.GetRealHeight(1);
+                    if (isHitBack) return;//鐐瑰嚮杩斿洖鍏抽棴椤甸潰涓嶆娴嬫彁绀�
+
+                    HDLCommon.Current.BottomLineShowType(btnAccountViewBottomLine, BottomLineType.Normal);
+                    if (etAccount.Text.Length == 0) return;//娌¤緭鍏ヤ笉妫�娴嬫彁绀�
+
                     //鎵嬫満鏂瑰紡-楠岃瘉鎵嬫満鍙风爜鏄惁姝g‘
                     if (registerType == 0)
                     {
-                        Regex reg = new Regex("^\\d+$");
-                        var mFalg = reg.Match(etAccount.Text.Trim());
-                        if (!mFalg.Success || (btnGlobalRoaming.Text == "+86" && etAccount.Text.Trim().Length != 11))
+                        btnGetVerificationCode_Phone.IsSelected = false;
+                        if (!Utlis.CheckPhoneNumber(etAccount.Text.Trim(), phoneZoneCode))
                         {
-                            btnAccountViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2;
-                            btnAccountViewBottomLine.Height = Application.GetRealHeight(2);
+                            HDLCommon.Current.BottomLineShowType(btnAccountViewBottomLine, BottomLineType.Error);
                             new Tip()
                             {
-                                CloseTime = 3,
-                                Text = Language.StringByID(R.InternationalizationString.PlsEntryCorrectMobilNeumber),
+                                CloseTime = 1,
+                                Text = Language.StringByID(StringId.PlsEntryCorrectMobilNeumber),
                                 Direction = AMPopTipDirection.None,
                             }.Show(bodyView);
                         }
                         else
                         {
-                            //鏍囪鎵嬫満鍙风爜鏈夋晥
-                            btnGetVerificationCode.IsSelected = true;
-                            //璐﹀彿鏈夋晥銆佸瘑鐮佹湁鏁堛�侀獙璇佺爜杈撳叆浜嗭紝鎵嶈兘鐐瑰嚮鏂瑰紡
-                            if (btnGetVerificationCode.IsSelected && ValidPassword && string.IsNullOrEmpty(etVerificationCode.Text.Trim()))
+                            if (btnGetVerificationCode_Phone.Text == Language.StringByID(StringId.GetVerificationCode))
                             {
-                                btnRegister.IsSelected = true;
+                                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 (!Utlis.CheckEmail(etAccount.Text.Trim()))
                         {
-                            btnAccountViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2;
-                            btnAccountViewBottomLine.Height = Application.GetRealHeight(2);
+                            HDLCommon.Current.BottomLineShowType(btnAccountViewBottomLine, BottomLineType.Error);
                             new Tip()
                             {
-                                CloseTime = 3,
-                                Text = Language.StringByID(R.InternationalizationString.PlsEntryCorrectEmailAddress),
+                                CloseTime = 1,
+                                Text = Language.StringByID(StringId.PlsEntryCorrectEmailAddress),
                                 Direction = AMPopTipDirection.None,
                             }.Show(bodyView);
                         }
                         else
                         {
-                            //鏍囪鎵嬫満鍙风爜鏈夋晥
-                            btnGetVerificationCode.IsSelected = true;
-                            //璐﹀彿鏈夋晥銆佸瘑鐮佹湁鏁堛�侀獙璇佺爜杈撳叆浜嗭紝鎵嶈兘鐐瑰嚮鏂瑰紡
-                            if (btnGetVerificationCode.IsSelected && ValidPassword && string.IsNullOrEmpty(etVerificationCode.Text.Trim()))
+                            if (btnGetVerificationCode_Mail.Text == Language.StringByID(StringId.GetVerificationCode))
                             {
-                                btnRegister.IsSelected = true;
+                                btnGetVerificationCode_Mail.IsSelected = true;
                             }
+                            LoadMothed_EnableResetButton();
                         }
                     }
                 }
             };
 
             //瀵嗙爜鏂囨湰妗嗙劍鐐瑰彉鍖栦簨浠�
-            etPassword.FoucsChanged += (sender, e) => {
+            etPassword.FoucsChanged += (sender, e) =>
+            {
                 if (etPassword.Foucs)
                 {
-                    btnPasswordViewBottomLine.BackgroundColor = CSS_Color.MainColor;
-                    btnPasswordViewBottomLine.Height = Application.GetRealHeight(2);
+                    HDLCommon.Current.BottomLineShowType(btnPasswordViewBottomLine, BottomLineType.GotFocus);
                 }
                 else
                 {
-                    btnPasswordViewBottomLine.BackgroundColor = CSS_Color.DividingLineColor;
-                    btnPasswordViewBottomLine.Height = Application.GetRealHeight(1);
+                    if (isHitBack) return;//鐐瑰嚮杩斿洖鍏抽棴椤甸潰涓嶆娴嬫彁绀�
+
+                    HDLCommon.Current.BottomLineShowType(btnPasswordViewBottomLine, BottomLineType.Normal);
+                    if (etPassword.Text.Length == 0) return;//娌¤緭鍏ヤ笉妫�娴嬫彁绀�
+
                     //鏍¢獙瀵嗙爜鏄惁绗﹀悎瑕佹眰
-                    if (etPassword.Text.Trim().Length < 6)
+                    if (etPassword.Text.Trim().Length < 6 || etPassword.Text.Trim().Length > 13)
                     {
+                        HDLCommon.Current.BottomLineShowType(btnPasswordViewBottomLine, BottomLineType.Error);
                         new Tip()
                         {
-                            CloseTime = 3,
+                            CloseTime = 1,
                             Direction = AMPopTipDirection.None,
-                            Text = Language.StringByID(R.InternationalizationString.IncorrectRepeatPassword)
+                            Text = Language.StringByID(StringId.PasswordIsUnqualified)
                         }.Show(bodyView);
                     }
                 }
             };
 
             //纭瀵嗙爜鏂囨湰妗嗙劍鐐瑰彉鍖栦簨浠�
-            etRepeatPassword.FoucsChanged += (sender, e) => {
+            etRepeatPassword.FoucsChanged += (sender, e) =>
+            {
                 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() != 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(R.InternationalizationString.IncorrectRepeatPassword)
+                            MaxWidth = Application.GetRealWidth(300),
+                            Text = Language.StringByID(StringId.IncorrectRepeatPassword)
                         }.Show(bodyView);
                     }
                     else
                     {
-                        ValidPassword = true;
-                        //璐﹀彿鏈夋晥銆佸瘑鐮佹湁鏁堛�侀獙璇佺爜杈撳叆浜嗭紝鎵嶈兘鐐瑰嚮鏂瑰紡
-                        if (btnGetVerificationCode.IsSelected && ValidPassword && string.IsNullOrEmpty(etVerificationCode.Text.Trim()))
-                        {
-                            btnRegister.IsSelected = true;
-                        }
+                        LoadMothed_EnableResetButton();
                     }
                 }
             };
 
             //楠岃瘉鐮佹枃鏈鐒︾偣鍙樺寲浜嬩欢
-            etVerificationCode.FoucsChanged += (sender, e) => {
+            etVerificationCode.FoucsChanged += (sender, e) =>
+            {
                 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 > 4)
                     {
-                        //璐﹀彿鏈夋晥銆佸瘑鐮佹湁鏁堛�侀獙璇佺爜杈撳叆浜嗭紝鎵嶈兘鐐瑰嚮鏂瑰紡
-                        if (btnGetVerificationCode.IsSelected && ValidPassword && string.IsNullOrEmpty(etVerificationCode.Text.Trim()))
-                        {
-                            btnRegister.IsSelected = true;
-                        }
+                        LoadMothed_EnableResetButton();
                     }
                 }
             };
         }
+
 
         /// <summary>
         /// 鏇存敼瀵嗙爜鍙鎬�
@@ -236,153 +309,399 @@
         void LoadEvent_ChangeTextVisble()
         {
             //瀵嗙爜鏂囨湰鍙鎬у彉鍖�
-            btnVisiblePassword.MouseUpEventHandler += (sender, e) => {
+            btnVisiblePassword.MouseUpEventHandler += (sender, e) =>
+            {
                 btnVisiblePassword.IsSelected = !btnVisiblePassword.IsSelected;
                 etPassword.SecureTextEntry = !btnVisiblePassword.IsSelected;
             };
             //閲嶅瀵嗙爜鏂囨湰鍙鎬у彉鍖�
-            btnRepeatVisiblePassword.MouseUpEventHandler += (sender, e) => {
+            btnRepeatVisiblePassword.MouseUpEventHandler += (sender, e) =>
+            {
                 btnRepeatVisiblePassword.IsSelected = !btnRepeatVisiblePassword.IsSelected;
                 etRepeatPassword.SecureTextEntry = !btnRepeatVisiblePassword.IsSelected;
             };
         }
 
         /// <summary>
+        /// 妫�娴嬪綋鍓嶉厤缃煙鍚嶆槸鍚︿竴鑷达紝涓嶄竴鑷村垯鏇挎崲
+        /// </summary>
+        /// <param name="result"></param>
+        void CheckAndSetUserRequestHost(ResponsePackNew result)
+        {
+            try
+            {
+                var mGlobalRegionListObj = Newtonsoft.Json.JsonConvert.DeserializeObject<GlobalRegionListRes>(result.Data.ToString());
+                if (OnAppConfig.Instance.RequestHttpsHost != mGlobalRegionListObj.regionUrl)
+                {
+                    OnAppConfig.Instance.RequestHttpsHost = mGlobalRegionListObj.regionUrl;
+                    OnAppConfig.Instance.GlobalRegion = mGlobalRegionListObj;
+                    OnAppConfig.Instance.SaveConfig();
+                }
+            }
+            catch { }
+        }
+
+
+        /// <summary>
         /// 鑾峰彇楠岃瘉鐮�
         /// </summary>
         void LoadEvent_GetVerificationCode()
         {
-            btnGetVerificationCode.MouseUpEventHandler += (sender, e) => {
-                if (btnGetVerificationCode.IsSelected)
+            EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
+            {
+                var account = etAccount.Text.Trim();
+                if ((sender as Button).IsSelected)
                 {
-                    //鐭俊鍙戦�侀棿闅�60s
-                    btnGetVerificationCode.IsSelected = false;
+                    //鍔犺浇Loading鏁堟灉
+                    var waitPage = new Loading();
+                    bodyView.AddChidren(waitPage);
+                    waitPage.Start(Language.StringByID(StringId.PleaseWait));
+
                     int time = 60;
                     new Thread(() =>
                     {
-                        while (time == 0)
+                        try
                         {
-                            time--;
+                            //1.鍏堟鏌ヨ处鍙锋槸鍚︽敞鍐岃繃
+                            var result = pm.GetRegionByAccount(account);
+                            if (result.Code != StateCode.SUCCESS)
+                            {
+                                IMessageCommon.Current.ShowErrorInfoAlter(result.Code);
+                                return;
+                            }
+                            else
+                            {
+
+                                //2.1妫�娴嬪綋鍓嶉厤缃煙鍚嶆槸鍚︿竴鑷达紝涓嶄竴鑷村垯鏇挎崲
+                                CheckAndSetUserRequestHost(result);
+                                //2.2宸茬粡娉ㄥ唽杩囷紝鍙戦�侀獙璇佺爜鎵惧洖瀵嗙爜
+                                ResponsePackNew resultObj;
+                                //2.3璇锋眰鑾峰彇楠岃瘉鐮�
+                                if (registerType == 1)//閭
+                                {
+                                    resultObj = pm.VerificationCodeSend(VerifyType.FIND_PASSWORD, account);
+                                }
+                                else
+                                {
+                                    resultObj = pm.VerificationCodeSend(VerifyType.FIND_PASSWORD, account, true, phoneZoneCode);
+                                }
+
+                                if (resultObj.Code != StateCode.SUCCESS)
+                                {
+                                    // 鎻愮ず閿欒
+                                    IMessageCommon.Current.ShowErrorInfoAlter(resultObj.Code);
+                                }
+                                else
+                                {
+                                    //3.鍙戦�侀獙璇佺爜鎴愬姛锛屽紑濮嬭鏃�
+                                    Application.RunOnMainThread(() =>
+                                    {
+                                        //鐭俊鍙戦�侀棿闅�60s
+                                        (sender as Button).IsSelected = false;
+                                        etVerificationCode.Foucs = true;
+                                    });
+                                    //2.1鑾峰彇楠岃瘉鐮佸�掕鏃�
+                                    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();
+
+                                }
+                            }
+                        }
+                        catch { }
+                        finally
+                        {
                             Application.RunOnMainThread(() =>
                             {
-                                btnGetVerificationCode.Text = time.ToString() + "s";
+                                if (waitPage != null)
+                                {
+                                    waitPage.RemoveFromParent();
+                                    waitPage = null;
+                                }
                             });
-                            Thread.Sleep(1000);
                         }
-                        Application.RunOnMainThread(() =>
-                        {
-                            //鍥炲鑾峰彇鐭俊鎸夐挳浜嬩欢
-                            btnGetVerificationCode.IsSelected = true;
-                        });
                     })
                     { IsBackground = true }.Start();
-                    //妫�鏌ユ墜鏈烘槸鍚﹀凡缁忚鏂瑰紡
-                    var checkPhoneResult = pm.IsExistingAccount(etAccount.Text.Trim());
-                    //鎵嬫満鏈鏂瑰紡
-                    if (checkPhoneResult.StateCode != HttpRequesResult.SUCCESS.ToString())
-                    {
-                        //鑾峰彇楠岃瘉鐮�
-                        pm.GetPhoneVerificationCode(etAccount.Text.Trim(), MainPage.Company);
-                    }
-                    else
-                    {
-                        //鎻愮ず鎵嬫満鍙风爜宸茬粡鏂瑰紡
-                        new Tip()
-                        {
-                            CloseTime = 3,
-                            Direction = AMPopTipDirection.None,
-                            Text = Language.StringByID(R.InternationalizationString.AccountAlreadyExists)
-                        }.Show(bodyView);
-                    }
                 }
             };
+
+            btnGetVerificationCode_Mail.MouseUpEventHandler = eventHandler;
+            btnGetVerificationCode_Phone.MouseUpEventHandler = eventHandler;
         }
 
         /// <summary>
         /// 鍔犺浇鏂瑰紡鎸夐挳浜嬩欢
         /// </summary>
-        void LoadEvent_Register()
+        void LoadEvent_Reset()
         {
-            btnRegister.MouseUpEventHandler += (sender, e) =>
+            btnReset.MouseUpEventHandler += (sender, e) =>
             {
-                //鎵嬫満鏂瑰紡
-                if (registerType == 0)
+                if (btnReset.IsSelected)
                 {
-                    //鏍¢獙楠岃瘉鐮�
-                    var validateSmsResult = pm.ValidateSmsCode(etAccount.Text.Trim(), etVerificationCode.Text.Trim());
-                    //楠岃瘉鐮佹牎楠屾垚鍔�
-                    if (validateSmsResult.StateCode == HttpRequesResult.SUCCESS.ToString())
-                    {
-                        //楠岃瘉璐﹀彿
-                        var registerPhoneResult = pm.RegisterPhone(etAccount.Text.Trim(), etPassword.Text.Trim(), Language.CurrentLanguage);
-                        if (registerPhoneResult.StateCode == HttpRequesResult.SUCCESS.ToString())
-                        {
-                            //楠岃瘉鎴愬姛
-                            //鎵ц鍥炶皟浜嬩欢
-                            callbackAction?.Invoke(etAccount.Text.Trim());
-                        }
-                        else
-                        {
-                            //楠岃瘉澶辫触
-                            new Tip()
-                            {
-                                CloseTime = 3,
-                                Text = registerPhoneResult.ErrorInfo,
-                                Direction = AMPopTipDirection.None,
-                            }.Show(bodyView);
-                        }
-                    }
-                    else
-                    {
-                        //楠岃瘉鐮佹牎楠屽け璐�
-                        new Tip()
-                        {
-                            CloseTime = 3,
-                            Direction = AMPopTipDirection.None,
-                            Text = Language.StringByID(R.InternationalizationString.VerificationCodeWrong)
-                        }.Show(bodyView);
-                    }
-                }
-                else if (registerType == 1)
-                {
-                    //閭鏂瑰紡
-                    //鏍¢獙楠岃瘉鐮�
-                    var validateSmsResult = pm.ValidateSmsCode(etAccount.Text.Trim(), etVerificationCode.Text.Trim());
-                    //楠岃瘉鐮佹牎楠屾垚鍔�
-                    if (validateSmsResult.StateCode == HttpRequesResult.SUCCESS.ToString())
-                    {
-                        //鏂瑰紡璐﹀彿
-                        var registerPhoneResult = pm.RegisterPhone(etAccount.Text.Trim(), etPassword.Text.Trim(), Language.CurrentLanguage);
-                        if (registerPhoneResult.StateCode == HttpRequesResult.SUCCESS.ToString())
-                        {
-                            //鏂瑰紡鎴愬姛
-                            //鎵ц鍥炶皟浜嬩欢
-                            callbackAction?.Invoke(etAccount.Text.Trim());
-                        }
-                        else
-                        {
-                            //鏂瑰紡澶辫触
-                            new Tip()
-                            {
-                                CloseTime = 3,
-                                Text = registerPhoneResult.ErrorInfo,
-                                Direction = AMPopTipDirection.None,
-                            }.Show(bodyView);
-                        }
-                    }
-                    else
-                    {
-                        //楠岃瘉鐮佹牎楠屽け璐�
-                        new Tip()
-                        {
-                            CloseTime = 3,
-                            Direction = AMPopTipDirection.None,
-                            Text = Language.StringByID(R.InternationalizationString.VerificationCodeWrong)
-                        }.Show(bodyView);
-                    }
+                    //妫�娴嬭处鍙�
+                    if (!CheckAccount()) return;
+                    //妫�娴嬪瘑鐮�
+                    if (!CheckPassword()) return;
+                    //妫�娴嬮獙璇佺爜
+                    if (!CheckVerificationCode()) return;
+
+                    //鍒涘缓淇敼瀵嗙爜绾跨▼
+                    var loginThread = LoadMothed_ResetThread();
+                    waitPage = new Loading();
+                    new PublicAssmebly().LoadPage_WaitPage(loginThread, bodyView, waitPage);
                 }
             };
         }
 
+        /// <summary>
+        /// 鍔犺浇閲嶇疆瀵嗙爜鏂规硶
+        /// </summary>
+        Thread LoadMothed_ResetThread()
+        {
+            string account = etAccount.Text.Trim();
+            string password = etPassword.Text.Trim();
+            string repeatPassword = etRepeatPassword.Text.Trim();
+            string verCode = etVerificationCode.Text.Trim();
+            int countryIndex = 0;
+            try
+            {
+                countryIndex = Convert.ToInt32(btnGlobalRoaming.Text.Trim().Remove('+'));
+            }
+            catch { }
+
+            return new Thread(() =>
+            {
+                // 蹇樿瀵嗙爜
+                var isPhone = registerType == 0;
+                var resultObj = pm.ForgetPassword(account, password, verCode, isPhone);
+                if (resultObj.Code == StateCode.SUCCESS)
+                {
+                    Application.RunOnMainThread(() =>
+                    {
+                        if (waitPage != null)
+                        {
+                            waitPage.Hide();
+                        }
+                        ShowAutoLoginDialog(account, password, isPhone);
+                    });
+
+                }
+                else
+                {
+                    Application.RunOnMainThread(() =>
+                    {
+                        if (waitPage != null)
+                        {
+                            waitPage.Hide();
+                        }
+
+                        // 楠岃瘉鐮侀敊璇� 璀﹀憡鎻愮ず
+                        if (resultObj.Code == StateCode.VERIFICATION_CODE_WRONG)
+                        {
+                            HDLCommon.Current.BottomLineShowType(btnVerificationCodeViewBottomLine, BottomLineType.Error);
+                        }
+                    });
+                    // 鎻愮ず閿欒
+                    IMessageCommon.Current.ShowErrorInfoAlter(resultObj.Code);
+                }
+            });
+        }
+
+        /// <summary>
+        /// 浣胯兘淇敼纭畾鎸夐挳
+        /// </summary>
+        void LoadMothed_EnableResetButton()
+        {
+            if (!string.IsNullOrEmpty(etAccount.Text) && !string.IsNullOrEmpty(etPassword.Text) && !string.IsNullOrEmpty(etVerificationCode.Text) && (etPassword.Text.Trim() == etRepeatPassword.Text.Trim()))
+            {
+                btnReset.IsSelected = true;
+            }
+            else
+            {
+                btnReset.IsSelected = false;
+            }
+        }
+
+        /// <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;
+        }
+
+        /// <summary>
+        /// 鏄剧ず鑷姩鑷姩鐧诲綍浜嬩欢
+        /// </summary>
+        void ShowAutoLoginDialog(string account, string password, bool isPhone)
+        {
+            Dialog dialog = new Dialog();
+
+            FrameLayout dialogView = new FrameLayout();
+            dialogView.MouseUpEventHandler = (sender, e) =>
+            {
+                dialog.Close();
+            };
+            dialog.AddChidren(dialogView);
+
+            FrameLayout contentView = new FrameLayout()
+            {
+                Gravity = Gravity.CenterHorizontal,
+                Y = Application.GetRealWidth(200),
+                Width = Application.GetRealWidth(288),
+                Height = Application.GetRealWidth(270),
+                Radius = (uint)Application.GetRealWidth(6),
+                BackgroundColor = CSS_Color.MainBackgroundColor,
+            };
+            dialogView.AddChidren(contentView);
+
+            contentView.Y = (dialogView.Height - contentView.Height) / 2;
+
+            Button btnTitleIcon = new Button()
+            {
+                X = Application.GetRealWidth(108),
+                Y = contentView.Y - Application.GetRealWidth(71),
+                Width = Application.GetRealWidth(160),
+                Height = Application.GetRealWidth(160),
+                UnSelectedImagePath = "Public/Dialog/DialogTipTitleIcon_1.png"
+            };
+            dialogView.AddChidren(btnTitleIcon);
+            btnTitleIcon.MouseUpEventHandler = (sender, e) =>
+            {
+                dialog.Close();
+            };
+
+            Button btnMsg = new Button()
+            {
+                Gravity = Gravity.CenterHorizontal,
+                Y = Application.GetRealWidth(88),
+                Width = Application.GetRealWidth(220),
+                Height = Application.GetRealWidth(44),
+                TextColor = CSS_Color.MainColor,
+                TextSize = CSS_FontSize.SubheadingFontSize,
+                TextID = StringId.ModifySuccess
+            };
+            contentView.AddChidren(btnMsg);
+
+            Button btnMsg2 = new Button()
+            {
+                Gravity = Gravity.CenterHorizontal,
+                Y = btnMsg.Bottom + Application.GetRealWidth(8),
+                Width = Application.GetRealWidth(220),
+                Height = Application.GetRealWidth(60),
+                TextColor = CSS_Color.PromptingColor1,
+                TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+                TextID = StringId.YourPasswordHasBeenChanged,
+                TextAlignment = TextAlignment.TopCenter,
+                IsMoreLines = true
+            };
+            contentView.AddChidren(btnMsg2);
+
+
+            Button btnSkipBindPage = new Button()
+            {
+                Gravity = Gravity.CenterHorizontal,
+                Y = Application.GetRealWidth(194),
+                Width = Application.GetRealWidth(220),
+                Height = Application.GetRealWidth(44),
+                TextAlignment = TextAlignment.Center,
+                Radius = (uint)Application.GetRealWidth(22),
+                BackgroundColor = CSS_Color.MainColor,
+                TextID = StringId.Login,
+                TextSize = CSS_FontSize.SubheadingFontSize,
+                TextColor = CSS_Color.MainBackgroundColor,
+            };
+            contentView.AddChidren(btnSkipBindPage);
+
+            btnSkipBindPage.MouseUpEventHandler = (sender, e) =>
+            {
+                dialog.Close();
+                this.Close();
+
+                AutoLoginAction?.Invoke(account, password, isPhone);
+
+            };
+
+            dialog.Show();
+        }
+
     }
 }

--
Gitblit v1.8.0