From eda3fb873e59544ff36301b51e05aef64f87b0f9 Mon Sep 17 00:00:00 2001
From: wei <kaede@kaededeMacBook-Air.local>
Date: 星期五, 27 八月 2021 13:21:21 +0800
Subject: [PATCH] Merge branch 'newBranch1' of http://172.16.1.23:6688/r/~wxr/HDL_APP_Project into newBranch1

---
 HDL_ON/UI/UI2/4-PersonalCenter/UnlockSetting/AppUnlockSettingsPageBLL.cs |  421 +++++++++++++++++++++++++++++++++++----------------
 1 files changed, 286 insertions(+), 135 deletions(-)

diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/UnlockSetting/AppUnlockSettingsPageBLL.cs b/HDL_ON/UI/UI2/4-PersonalCenter/UnlockSetting/AppUnlockSettingsPageBLL.cs
index 01125ba..43e9dc3 100644
--- a/HDL_ON/UI/UI2/4-PersonalCenter/UnlockSetting/AppUnlockSettingsPageBLL.cs
+++ b/HDL_ON/UI/UI2/4-PersonalCenter/UnlockSetting/AppUnlockSettingsPageBLL.cs
@@ -32,8 +32,10 @@
                 {
                     btnUnprotectedBg.IsSelected = btnUnprotectedSelectionIcon.IsSelected = btnUnprotectedSelectionTip.IsSelected = true;
                     btnStartupBg.IsSelected = btnStartupSelectionIcon.IsSelected = btnStartupSelectionTip.IsSelected = false;
-                    btnSecurityBg.IsSelected = btnSecuritySelectionIcon.IsSelected = btnSecuritySelectionTip.IsSelected = false;
+                    #region F3闃舵
+                    //btnSecurityBg.IsSelected = btnSecuritySelectionIcon.IsSelected = btnSecuritySelectionTip.IsSelected = false;
                     btnDoorlockBg.IsSelected = btnDoorlockSelectionIcon.IsSelected = btnDoorlockSelectionTip.IsSelected = false;
+                    #endregion
 
                     btnTipMsg.TextID = StringId.UnprotectedTipMsg;
 
@@ -44,48 +46,19 @@
                     unlockOptionView.Visible = false;
                     refreshAction();
                 };
-                Action action1 = () => {
+                Action action1 = () =>
+                {
                     if (!btnUnprotectedBg.IsSelected)
                     {
                         //1:楠岃瘉鎸囩汗
                         if (UserInfo.Current.appUnlockType.Contains("3"))
                         {
-                            TouchIDUtils.Instance.showTouchIDWithDescribe(null, Language.StringByID(StringId.PleaseVerifyTheFingerprint));
-                            TouchIDUtils.Instance.OnHDLTouchIDStateBackEvent = (sender1, e) =>
-                            {
-                                if (e == TouchIDUtils.TouchIDState.NotSupport)
-                                {
-                                    MainPage.Log("KK:褰撳墠璁惧涓嶆敮鎸乀ouchID楠岃瘉,璇疯緭鍏ュ瘑鐮佹潵楠岃瘉");
-                                }
-                                else if (e == TouchIDUtils.TouchIDState.Success)
-                                {
-                                    MainPage.Log("KK:TouchID楠岃瘉鎴愬姛");
-                                    action();
-                                }
-                                else if (e == TouchIDUtils.TouchIDState.InputPassword || e == TouchIDUtils.TouchIDState.TouchIDLockout)
-                                {
-                                    MainPage.Log("KK:鐢ㄦ埛閫夋嫨鎵嬪姩杈撳叆瀵嗙爜");
-                                    if (UserInfo.Current.appUnlockType.Contains("1"))
-                                    {
-                                        var page = new AppUnlockPasswordPage(UserInfo.Current.appUnlockPasswrod, action);
-                                        MainPage.BasePageView.AddChidren(page);
-                                        page.LoadPage("4");
-                                        MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
-                                    }
-                                    else if (UserInfo.Current.appUnlockType.Contains("1"))
-                                    {
-                                        var page = new AppUnlockGesturePage(UserInfo.Current.appUnlockPasswrod, action);
-                                        MainPage.BasePageView.AddChidren(page);
-                                        page.LoadPage("4");
-                                        MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
-                                    }
-                                }
-                            };
+                            TouchIDVerification_TurnOffUnlock(action);
                         }
                         else if (UserInfo.Current.appUnlockType.Contains("4"))
                         {
                             //Face ID楠岃瘉
-                            //
+                            FaceIDVerification_TurnOffUnlock(action);
                         }
                         else if (UserInfo.Current.appUnlockType.Contains("1"))
                         {
@@ -160,50 +133,48 @@
             btnStartupSelectionIcon.MouseUpEventHandler = eventHandler2;
             btnStartupSelectionTip.MouseUpEventHandler = eventHandler2;
 
-            EventHandler<MouseEventArgs> eventHandler3 = (sender, e) =>
-            {
-                bool result = !btnSecurityBg.IsSelected;
-                if (!result)
-                {
-                    //濡傛灉鍙墿甯冮槻/鎾ら槻涓�绉� 涓嶈兘鍙栨秷甯冮槻/鎾ら槻
-                    if (!CheckIfCanDeselect("2")) return;
-                }
-
-                btnSecurityBg.IsSelected = btnSecuritySelectionIcon.IsSelected = btnSecuritySelectionTip.IsSelected = result;
-
-                btnTipMsg.Text = Language.StringByID(StringId.DefenseAndUndefenseTipMsg);
-
-                if (result)
-                {
-                    btnUnprotectedBg.IsSelected = btnUnprotectedSelectionIcon.IsSelected = btnUnprotectedSelectionTip.IsSelected = false;
-                    if (!UserInfo.Current.appUnlockPage.Contains("2"))
-                    {
-                        UserInfo.Current.appUnlockPage.Add("2");
-                        if (UserInfo.Current.appUnlockPasswrod != "")
-                            UserInfo.Current.SaveUserInfo();
-                    }
-                    unlockOptionView.Visible = true;
-                }
-                else
-                {
-                    if (UserInfo.Current.appUnlockPage.Contains("2"))
-                    {
-                        UserInfo.Current.appUnlockPage.Remove("2");
-                    }
-                    if (UserInfo.Current.appUnlockPage.Count == 0)
-                    {
-                        btnUnprotectedBg.IsSelected = btnUnprotectedSelectionIcon.IsSelected = btnUnprotectedSelectionTip.IsSelected = result;
-                        btnTipMsg.TextID = StringId.UnprotectedTipMsg;
-                        UserInfo.Current.appUnlockPasswrod = "";
-                        unlockOptionView.Visible = false;
-                        refreshAction();
-                    }
-                    UserInfo.Current.SaveUserInfo();
-                }
-            };
-            btnSecurityBg.MouseUpEventHandler = eventHandler3;
-            btnSecuritySelectionIcon.MouseUpEventHandler = eventHandler3;
-            btnSecuritySelectionTip.MouseUpEventHandler = eventHandler3;
+            #region F3闃舵
+            //EventHandler<MouseEventArgs> eventHandler3 = (sender, e) =>
+            //{
+            //    bool result = !btnSecurityBg.IsSelected;
+            //    if (!result)
+            //    {
+            //        //濡傛灉鍙墿甯冮槻/鎾ら槻涓�绉� 涓嶈兘鍙栨秷甯冮槻/鎾ら槻
+            //        if (!CheckIfCanDeselect("2")) return;
+            //    }
+            //    btnSecurityBg.IsSelected = btnSecuritySelectionIcon.IsSelected = btnSecuritySelectionTip.IsSelected = result;
+            //    btnTipMsg.Text = Language.StringByID(StringId.DefenseAndUndefenseTipMsg);
+            //    if (result)
+            //    {
+            //        btnUnprotectedBg.IsSelected = btnUnprotectedSelectionIcon.IsSelected = btnUnprotectedSelectionTip.IsSelected = false;
+            //        if (!UserInfo.Current.appUnlockPage.Contains("2"))
+            //        {
+            //            UserInfo.Current.appUnlockPage.Add("2");
+            //            if (UserInfo.Current.appUnlockPasswrod != "")
+            //                UserInfo.Current.SaveUserInfo();
+            //        }
+            //        unlockOptionView.Visible = true;
+            //    }
+            //    else
+            //    {
+            //        if (UserInfo.Current.appUnlockPage.Contains("2"))
+            //        {
+            //            UserInfo.Current.appUnlockPage.Remove("2");
+            //        }
+            //        if (UserInfo.Current.appUnlockPage.Count == 0)
+            //        {
+            //            btnUnprotectedBg.IsSelected = btnUnprotectedSelectionIcon.IsSelected = btnUnprotectedSelectionTip.IsSelected = result;
+            //            btnTipMsg.TextID = StringId.UnprotectedTipMsg;
+            //            UserInfo.Current.appUnlockPasswrod = "";
+            //            unlockOptionView.Visible = false;
+            //            refreshAction();
+            //        }
+            //        UserInfo.Current.SaveUserInfo();
+            //    }
+            //};
+            //btnSecurityBg.MouseUpEventHandler = eventHandler3;
+            //btnSecuritySelectionIcon.MouseUpEventHandler = eventHandler3;
+            //btnSecuritySelectionTip.MouseUpEventHandler = eventHandler3;
 
             EventHandler<MouseEventArgs> eventHandler4 = (sender, e) =>
             {
@@ -248,6 +219,7 @@
             btnDoorlockBg.MouseUpEventHandler = eventHandler4;
             btnDoorlockSelectionIcon.MouseUpEventHandler = eventHandler4;
             btnDoorlockSelectionTip.MouseUpEventHandler = eventHandler4;
+            #endregion
         }
 
         /// <summary>
@@ -266,16 +238,18 @@
                     btnStartupBg.IsSelected = btnStartupSelectionIcon.IsSelected = btnStartupSelectionTip.IsSelected = true;
                     btnTipMsg.Text = Language.StringByID(StringId.AtStartupTipMsg);
                 }
-                if (UserInfo.Current.appUnlockPage.Contains("2"))
-                {
-                    btnSecurityBg.IsSelected = btnSecuritySelectionIcon.IsSelected = btnSecuritySelectionTip.IsSelected = true;
-                    btnTipMsg.Text = Language.StringByID(StringId.DefenseAndUndefenseTipMsg);
-                }
+                #region F3闃舵
+                //if (UserInfo.Current.appUnlockPage.Contains("2"))
+                //{
+                //    btnSecurityBg.IsSelected = btnSecuritySelectionIcon.IsSelected = btnSecuritySelectionTip.IsSelected = true;
+                //    btnTipMsg.Text = Language.StringByID(StringId.DefenseAndUndefenseTipMsg);
+                //}
                 if (UserInfo.Current.appUnlockPage.Contains("3"))
                 {
                     btnDoorlockBg.IsSelected = btnDoorlockSelectionIcon.IsSelected = btnDoorlockSelectionTip.IsSelected = true;
                     btnTipMsg.Text = Language.StringByID(StringId.RemoteUnlockingTipMsg);
                 }
+                #endregion
             }
         }
 
@@ -319,64 +293,14 @@
             {
                 btnFingerprintUnlockSwtichIcon.MouseUpEventHandler = (sender, e1) =>
                 {
-                    Action fingerAction = () => {
-                        TouchIDUtils.Instance.showTouchIDWithDescribe(null, Language.StringByID(StringId.PleaseVerifyTheFingerprint));
-                    };
-                    new AppUnlockPage().LoadGesturePage("5",fingerAction);
-
-                    TouchIDUtils.Instance.showTouchIDWithDescribe(null, Language.StringByID(StringId.PleaseVerifyTheFingerprint));
-
-                    TouchIDUtils.Instance.OnHDLTouchIDStateBackEvent = (sender1, e) =>
-                    {
-                        if (e == TouchIDUtils.TouchIDState.Success)
-                        {
-                            var result = btnFingerprintUnlockSwtichIcon.IsSelected = !btnFingerprintUnlockSwtichIcon.IsSelected;
-                            if (result)
-                            {
-                                if (!UserInfo.Current.appUnlockType.Contains("3"))
-                                {
-                                    UserInfo.Current.appUnlockType.Add("3");
-                                    UserInfo.Current.SaveUserInfo();
-                                }
-                            }
-                            else
-                            {
-                                if (UserInfo.Current.appUnlockType.Contains("3"))
-                                {
-                                    UserInfo.Current.appUnlockType.Remove("3");
-                                    UserInfo.Current.SaveUserInfo();
-                                }
-                            }
-                            //MainPage.BasePageView.RemoveAt(MainPage.BasePageView.ChildrenCount - 1);
-                            MainPage.BasePageView.GetChildren(MainPage.BasePageView.ChildrenCount - 1).RemoveFromParent();
-                        }
-                        else// if (e == TouchIDUtils.TouchIDState.InputPassword || e == TouchIDUtils.TouchIDState.TouchIDLockout)
-                        {
-                            if (UserInfo.Current.appUnlockType.Contains("1"))
-                            {
-                                var page = new AppUnlockPasswordPage(UserInfo.Current.appUnlockPasswrod, refreshAction);
-                                MainPage.BasePageView.AddChidren(page);
-                                page.LoadPage("5");
-                                MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
-                            }
-                            else if (UserInfo.Current.appUnlockType.Contains("2"))
-                            {
-                                var page = new AppUnlockGesturePage(UserInfo.Current.appUnlockPasswrod, refreshAction);
-                                MainPage.BasePageView.AddChidren(page);
-                                page.LoadPage("5");
-                                MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
-                            }
-                        }
-                    };
+                    TouchIDVerification_SwtichOnOff();
                 };
             }
             if (sFaceID)
             {
                 btnFaceIdUnlockSwtichIcon.MouseUpEventHandler = (sender, e1) =>
                 {
-                    //btnFaceIdUnlockSwtichIcon.IsSelected = !btnFaceIdUnlockSwtichIcon.IsSelected;
-                    if (!btnFaceIdUnlockSwtichIcon.IsSelected)
-                    { }
+                    FaceIDVerification_SwtichOnOff();
                 };
             }
         }
@@ -396,5 +320,232 @@
             return true;
         }
 
+        /// <summary>
+        /// 闈㈠ID楠岃瘉寮圭獥
+        /// </summary>
+        /// <param name="successAction"></param>
+        /// <param name="goToVerifyPasswordAction"></param>
+        void FaceIDVerification_Show(Action successAction, Action goToVerifyPasswordAction)
+        {
+            //鎻愮ず鏁板瓧瀵嗙爜楠岃瘉杩樻槸缁樺埗鎵嬪娍楠岃瘉
+            string verificationTitleString = GetVerificationTitleString();
+
+            TouchIDUtils.Instance.showTouchIDWithDescribe(verificationTitleString, Language.StringByID(StringId.VerifyFaceID));
+            TouchIDUtils.Instance.OnHDLTouchIDStateBackEvent = (sender1, e) =>
+            {
+                if (e == TouchIDUtils.TouchIDState.Success)
+                {
+                    MainPage.Log("KK:FaceID楠岃瘉鎴愬姛");
+                    successAction?.Invoke();
+                }
+                else if (e == TouchIDUtils.TouchIDState.NotSupport)
+                {
+                    MainPage.Log("KK:褰撳墠璁惧涓嶆敮鎸丗aceID楠岃瘉,璇疯緭鍏ュ瘑鐮佹潵楠岃瘉");
+                    goToVerifyPasswordAction();
+                }
+                else if (e == TouchIDUtils.TouchIDState.InputPassword || e == TouchIDUtils.TouchIDState.TouchIDLockout)
+                {
+                    MainPage.Log("KK:鐢ㄦ埛閫夋嫨鎵嬪姩杈撳叆瀵嗙爜");
+                    goToVerifyPasswordAction();
+                }
+            };
+        }
+
+        /// <summary>
+        /// 闈㈠ID寮�鍚拰鍏抽棴
+        /// </summary>
+        /// <param name="successAction">楠岃瘉鎴愬姛浜嬩欢</param>
+        void FaceIDVerification_SwtichOnOff()
+        {
+            //4:闈㈠ID
+            string faceIDUnlockType = "4";
+            //6:闈㈠ID寮�鍏�
+            string optionType = "6";
+            //鎴愬姛浜嬩欢
+            Action successAction = () =>
+            {
+                var result = btnFaceIdUnlockSwtichIcon.IsSelected = !btnFaceIdUnlockSwtichIcon.IsSelected;
+                if (result)
+                {
+                    if (!UserInfo.Current.appUnlockType.Contains(faceIDUnlockType))
+                    {
+                        UserInfo.Current.appUnlockType.Add(faceIDUnlockType);
+                        UserInfo.Current.SaveUserInfo();
+                    }
+                }
+                else
+                {
+                    if (UserInfo.Current.appUnlockType.Contains(faceIDUnlockType))
+                    {
+                        UserInfo.Current.appUnlockType.Remove(faceIDUnlockType);
+                        UserInfo.Current.SaveUserInfo();
+                    }
+                }
+            };
+            
+            //璺宠浆鏁板瓧瀵嗙爜鎴栬�呮墜鍔垮瘑鐮侀獙璇侀〉闈�
+            Action goToVerifyPasswordAction = () =>
+            {
+                //鍏抽棴瑙i攣楠岃瘉
+                GotogoToVerifyPasswordPage(optionType, successAction);
+            };
+
+            FaceIDVerification_Show(successAction, goToVerifyPasswordAction);
+
+        }
+
+        /// <summary>
+        /// FaceID楠岃瘉 鍏抽棴瑙i攣璁剧疆
+        /// </summary>
+        /// <param name="action">楠岃瘉鎴愬姛浜嬩欢</param>
+        void FaceIDVerification_TurnOffUnlock(Action successAction)
+        {
+            //璋冩暣鏁板瓧瀵嗙爜鎴栬�呮墜鍔垮瘑鐮侀獙璇侀〉闈�
+            Action goToVerifyPasswordAction = () =>
+            {
+                //鍏抽棴瑙i攣楠岃瘉
+                GotogoToVerifyPasswordPage("4", successAction);
+            };
+
+            FaceIDVerification_Show(successAction, goToVerifyPasswordAction);
+        }
+
+        /// <summary>
+        /// 鎸囩汗ID缁熶竴寮瑰嚭
+        /// </summary>
+        /// <param name="optionType"></param>
+        /// <param name="successAction"></param>
+        /// <param name="goToVerifyPasswordAction"></param>
+        void TouchIDVerification_Show(Action successAction, Action goToVerifyPasswordAction)
+        {
+            //鎻愮ず鏁板瓧瀵嗙爜楠岃瘉杩樻槸缁樺埗鎵嬪娍楠岃瘉
+            string verificationTitleString = GetVerificationTitleString();
+
+            TouchIDUtils.Instance.showTouchIDWithDescribe(verificationTitleString, Language.StringByID(StringId.PleaseVerifyTheFingerprint));
+            TouchIDUtils.Instance.OnHDLTouchIDStateBackEvent = (sender1, e) =>
+            {
+                if (e == TouchIDUtils.TouchIDState.NotSupport)
+                {
+                    MainPage.Log("KK:褰撳墠璁惧涓嶆敮鎸乀ouchID楠岃瘉,璇疯緭鍏ュ瘑鐮佹潵楠岃瘉");
+                    goToVerifyPasswordAction?.Invoke();
+                }
+                else if (e == TouchIDUtils.TouchIDState.Success)
+                {
+                    MainPage.Log("KK:TouchID楠岃瘉鎴愬姛");
+                    successAction?.Invoke();
+                }
+                else if (e == TouchIDUtils.TouchIDState.InputPassword || e == TouchIDUtils.TouchIDState.TouchIDLockout)
+                {
+                    MainPage.Log("KK:鐢ㄦ埛閫夋嫨鎵嬪姩杈撳叆瀵嗙爜");
+                    goToVerifyPasswordAction?.Invoke();
+                }
+
+            };
+        }
+
+        /// <summary>
+        /// 鎸囩汗ID寮�鍚拰鍏抽棴 5:鎸囩汗ID寮�鍏�
+        /// </summary>
+        void TouchIDVerification_SwtichOnOff()
+        {
+            //鎸囩汗鍏抽棴鎴愬姛浜嬩欢 鎴愬姛浜嬩欢
+            Action successAction = () =>
+            {
+                var result = btnFingerprintUnlockSwtichIcon.IsSelected = !btnFingerprintUnlockSwtichIcon.IsSelected;
+                if (result)
+                {
+                    if (!UserInfo.Current.appUnlockType.Contains("3"))
+                    {
+                        UserInfo.Current.appUnlockType.Add("3");
+                        UserInfo.Current.SaveUserInfo();
+                    }
+                }
+                else
+                {
+                    if (UserInfo.Current.appUnlockType.Contains("3"))
+                    {
+                        UserInfo.Current.appUnlockType.Remove("3");
+                        UserInfo.Current.SaveUserInfo();
+                    }
+                }
+            };
+
+            //5:鎸囩汗ID寮�鍏�
+            string optionType = "5";
+            //璺宠浆鏁板瓧瀵嗙爜鎴栬�呮墜鍔垮瘑鐮侀獙璇侀〉闈�
+            Action goToVerifyPasswordAction = () =>
+            {
+                //5:鎸囩汗ID寮�鍏�
+                GotogoToVerifyPasswordPage(optionType, successAction);
+            };
+
+            
+
+            TouchIDVerification_Show(successAction, goToVerifyPasswordAction);
+        }
+
+        /// <summary>
+        /// TouchID楠岃瘉 4:鍏抽棴瑙i攣璁剧疆
+        /// </summary>
+        /// <param name="action">楠岃瘉鎴愬姛浜嬩欢</param>
+        void TouchIDVerification_TurnOffUnlock(Action successAction)
+        {
+            //璺宠浆鏁板瓧瀵嗙爜鎴栬�呮墜鍔垮瘑鐮侀獙璇侀〉闈�
+            Action goToVerifyPasswordAction = () =>
+            {
+                //4.鍏抽棴瑙i攣楠岃瘉
+                GotogoToVerifyPasswordPage("4", successAction);
+            };
+
+            TouchIDVerification_Show(successAction, goToVerifyPasswordAction);
+        }
+
+        /// <summary>
+        /// 璺宠浆鎵嬪娍鎴栬�呭瘑鐮侀獙璇佺晫闈�
+        /// </summary>
+        /// <param name="optionType">1:璁剧疆瀵嗙爜锛�2:楠岃瘉瀵嗙爜;3:鍏抽棴瀵嗙爜;4:鍏抽棴瑙i攣璁剧疆;5:鎸囩汗ID寮�鍏筹紱6:闈㈠ID寮�鍏�;7:瑙i攣楠岃瘉</param>
+        /// <param name="successAction"></param>
+        void GotogoToVerifyPasswordPage(string optionType, Action successAction)
+        {
+            if (UserInfo.Current.appUnlockType.Contains("1"))
+            {
+                var page = new AppUnlockPasswordPage(UserInfo.Current.appUnlockPasswrod, successAction);
+                MainPage.BasePageView.AddChidren(page);
+                page.LoadPage(optionType);
+                MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+            }
+            else if (UserInfo.Current.appUnlockType.Contains("2"))
+            {
+                var page = new AppUnlockGesturePage(UserInfo.Current.appUnlockPasswrod, successAction);
+                MainPage.BasePageView.AddChidren(page);
+                page.LoadPage(optionType);
+                MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+            }
+        }
+
+        /// <summary>
+        /// 鍒ゆ柇鏄惁鏁板瓧楠岃瘉銆佸惁鍒欑粯鍒舵墜鍔块獙璇�
+        /// </summary>
+        /// <returns></returns>
+        bool CheckIfUnlockPassword()
+        {
+            return UserInfo.Current.appUnlockType.Contains("1");
+        }
+
+        /// <summary>
+        /// 鍒ゆ柇鏄惁鏁板瓧楠岃瘉銆佸惁鍒欑粯鍒舵墜鍔块獙璇�
+        /// </summary>
+        /// <returns></returns>
+        string GetVerificationTitleString()
+        {
+            if (CheckIfUnlockPassword())
+            {
+                return Language.StringByID(StringId.PasswordVerification);
+            }
+            else
+            {
+                return Language.StringByID(StringId.GestureVerification);
+            }
+        }
     }
 }
\ No newline at end of file

--
Gitblit v1.8.0