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/UI0-Public/AppUnlockPage.cs |  454 +++++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 361 insertions(+), 93 deletions(-)

diff --git a/HDL_ON/UI/UI0-Public/AppUnlockPage.cs b/HDL_ON/UI/UI0-Public/AppUnlockPage.cs
index 513166e..637798b 100644
--- a/HDL_ON/UI/UI0-Public/AppUnlockPage.cs
+++ b/HDL_ON/UI/UI0-Public/AppUnlockPage.cs
@@ -5,90 +5,157 @@
     /// <summary>
 	/// app瑙i攣鐣岄潰
 	/// </summary>
-    public static class AppUnlockPage
+    public class AppUnlockPage
     {
-        static DateTime unlockTime = DateTime.MinValue;
-        static void LoadOption()
+        void LoadOption()
         {
-           
-            Action action = () => {
-                unlockTime = DateTime.Now;
-            };
-            //1:楠岃瘉鎸囩汗
-            if (MainPage.LoginUser.appUnlockType.Contains("3"))
-            {
-                LoadGesturePage();
-                TouchIDUtils.Instance.showTouchIDWithDescribe(null, Language.StringByID(StringId.PleaseVerifyTheFingerprint));
-                TouchIDUtils.Instance.OnHDLTouchIDStateBackEvent = (sender1, e) =>
-                {
-                    if (e == TouchIDUtils.TouchIDState.Success)
-                    {
-                        MainPage.Log("KK:TouchID楠岃瘉鎴愬姛");
-                        unlockTime = DateTime.Now;
-                        MainPage.BasePageView.RemoveAt(MainPage.BasePageView.ChildrenCount - 1);
-                    }
-                    else
-                    {
-                        ///灏嗛獙璇佹寚绾圭殑椤甸潰绉婚櫎
-                        MainPage.BasePageView.RemoveAt( MainPage.BasePageView.ChildrenCount - 1);
-
-                        if (MainPage.LoginUser.appUnlockType.Contains("1"))
-                        {
-                            var page = new AppUnlockPasswordPage(MainPage.LoginUser.appUnlockPasswrod, action);
-                            MainPage.BasePageView.AddChidren(page);
-                            page.LoadPage("7");
-                            MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
-                        }
-                        else if (MainPage.LoginUser.appUnlockType.Contains("1"))
-                        {
-                            var page = new AppUnlockGesturePage(MainPage.LoginUser.appUnlockPasswrod, action);
-                            MainPage.BasePageView.AddChidren(page);
-                            page.LoadPage("7");
-                            MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
-                        }
-                    }
-                };
-            }
-            else if (MainPage.LoginUser.appUnlockType.Contains("4"))
-            {
-                //Face ID楠岃瘉
-                //
-            }
-            else if (MainPage.LoginUser.appUnlockType.Contains("1"))
-            {
-                var page = new AppUnlockPasswordPage(MainPage.LoginUser.appUnlockPasswrod, action);
-                MainPage.BasePageView.AddChidren(page);
-                page.LoadPage("7");
-                MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
-            }
-            else if (MainPage.LoginUser.appUnlockType.Contains("2"))
-            {
-                var page = new AppUnlockGesturePage(MainPage.LoginUser.appUnlockPasswrod, action);
-                MainPage.BasePageView.AddChidren(page);
-                page.LoadPage("7");
-                MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
-            }
-        }
-
-        public static void LoadPage()
-        {
-            LoadOption();
-        }
-        static void LoadGesturePage()
-        {
-            if (unlockTime.AddSeconds(60) > DateTime.Now || MainPage.LoginUser.appUnlockPasswrod == "" || MainPage.LoginUser.appUnlockPage.Count == 0)
+            //2020-12-12 鏈櫥褰曟垨鑰匒PP鏈惎鍔ㄩ兘杩斿洖锛岃В鍐抽棯閫�闂
+            if (UserInfo.Current == null || !UserInfo.Current.IsLogin || MainPage.BasePageView == null)
             {
                 return;
             }
+            Action action = () =>
+            {
+                UserInfo.Current.unlockTime = DateTime.Now;
+            };
+            //1:楠岃瘉鎸囩汗
+            if (UserInfo.Current.appUnlockType.Contains("3"))
+            {
+                TouchIDVerification();
+            }
+            else if (UserInfo.Current.appUnlockType.Contains("4"))
+            {
+                //Face ID楠岃瘉
+                //2020-12-11 寰呭鍔犻潰瀹瑰け璐ラ獙璇侀〉闈紝涓嶇劧浼氬鑷撮攣灞忓姞瀵嗘棤鏁�
+                FaceIDVerification();
+            }
+            else if (UserInfo.Current.appUnlockType.Contains("1"))
+            {
+                var page = new AppUnlockPasswordPage(UserInfo.Current.appUnlockPasswrod, action);
+                MainPage.BasePageView.AddChidren(page);
+                page.LoadPage("7");
+            }
+            else if (UserInfo.Current.appUnlockType.Contains("2"))
+            {
+                var page = new AppUnlockGesturePage(UserInfo.Current.appUnlockPasswrod, action);
+                MainPage.BasePageView.AddChidren(page);
+                page.LoadPage("7");
+            }
+#if __ANDROID__
+            new System.Threading.Thread(() =>
+            {
+                int i = 0;
+                while (i > 1)
+                {
+                    MainPage.Log($"鍊掕鏃讹細{i} sec");
+                    System.Threading.Thread.Sleep(1000);
+                    i++;
+                }
+                Application.RunOnMainThread(() =>
+                {
+                    MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+                });
+            })
+            { IsBackground = true }.Start();
+#else
+            MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+#endif
+
+        }
+
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="isFirstOpen">濡傛灉鏄涓�娆″惎鍔ㄧ洿鎺ュ脊绐楅獙璇佸瘑鐮�</param>
+        public void LoadPage(bool isFirstOpen = false)
+        {
+            try
+            {
+                if (!isFirstOpen)
+                {
+                    if (UserInfo.Current.unlockTime.AddMinutes(5) > DateTime.Now || UserInfo.Current.appUnlockPasswrod == "" || UserInfo.Current.appUnlockPage.Count == 0)
+                    {
+                        return;
+                    }
+                }
+                LoadOption();
+            }
+            catch
+            {
+                Utlis.WriteLine("AppUnlockPage error");
+            }
+        }
+
+        /// <summary>
+        /// 鎸囩汗楠岃瘉
+        /// </summary>
+        void TouchIDVerification()
+        {
+            //楠岃瘉鎴愬姛Action
+            Action successAction = () =>
+            {
+                UserInfo.Current.unlockTime = DateTime.Now;
+            };
+
+            //鎻愮ず鏁板瓧瀵嗙爜楠岃瘉杩樻槸缁樺埗鎵嬪娍楠岃瘉
+            string verificationTitleString = GetVerificationTitleString();
+
+            //寮瑰嚭鎸囩汗楠岃瘉瀵硅瘽妗�
+            Action fingerAction = () =>
+            {
+                TouchIDUtils.Instance.showTouchIDWithDescribe(verificationTitleString, Language.StringByID(StringId.PleaseVerifyTheFingerprint));
+            };
+            //鍔犺浇UI椤甸潰
+            LoadGesturePage("7", fingerAction, null);
+
+            TouchIDUtils.Instance.showTouchIDWithDescribe(verificationTitleString, Language.StringByID(StringId.PleaseVerifyTheFingerprint));
+            TouchIDUtils.Instance.OnHDLTouchIDStateBackEvent = (sender1, e) =>
+            {
+                if (e == TouchIDUtils.TouchIDState.Success)
+                {
+                    MainPage.Log("KK:TouchID楠岃瘉鎴愬姛");
+                    UserInfo.Current.unlockTime = DateTime.Now;
+                    MainPage.BasePageView.GetChildren(MainPage.BasePageView.ChildrenCount - 1).RemoveFromParent();
+                }
+                else
+                {
+                    ///灏嗛獙璇佹寚绾圭殑椤甸潰绉婚櫎
+                    MainPage.BasePageView.GetChildren(MainPage.BasePageView.ChildrenCount - 1).RemoveFromParent();
+                    if (UserInfo.Current.appUnlockType.Contains("1"))
+                    {
+                        var page = new AppUnlockPasswordPage(UserInfo.Current.appUnlockPasswrod, successAction);
+                        MainPage.BasePageView.AddChidren(page);
+                        page.LoadPage("7");
+                        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("7");
+                        MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+                    }
+
+                }
+            };
+        }
+
+        /// <summary>
+        /// 鍔犺浇鎸囩汗楠岃瘉鐣岄潰
+        /// </summary>
+        /// <param name="optionType"></param>
+        /// <param name="fingerAction"></param>
+        /// <param name="successAction"></param>
+        public void LoadGesturePage(string optionType, Action fingerAction, Action successAction)
+        {
             var bodyView = new FrameLayout()
             {
                 BackgroundColor = CSS.CSS_Color.MainBackgroundColor
             };
             MainPage.BasePageView.AddChidren(bodyView);
-            MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
 
-
-            bodyView.AddChidren(new Button() {
+            bodyView.AddChidren(new Button()
+            {
                 Height = Application.GetRealHeight(64),
                 BackgroundColor = CSS.CSS_Color.BackgroundColor,
             });
@@ -109,12 +176,13 @@
                 Gravity = Gravity.CenterHorizontal,
                 Width = Application.GetRealWidth(102),
                 Height = Application.GetRealWidth(102),
-                UnSelectedImagePath = "PersonalCenter/AppUnlockSetting/FingerIconRed.png",
+                UnSelectedImagePath = "PersonalCenter/AppUnlockSetting/FingerIconBlue.png",
             };
             bodyView.AddChidren(btnFingerIcon);
 
-            btnFingerIcon.MouseUpEventHandler = (sender, e) => {
-                LoadOption();
+            btnFingerIcon.MouseUpEventHandler = (sender, e) =>
+            {
+                fingerAction();
             };
 
             var btnOtherVerify = new Button()
@@ -124,33 +192,233 @@
                 TextAlignment = TextAlignment.Center,
                 TextColor = CSS.CSS_Color.MainColor,
                 TextSize = CSS.CSS_FontSize.TextFontSize,
-                TextID = MainPage.LoginUser.appUnlockType.Contains("1") ? StringId.VerifyDigitalPassword : StringId.VerifyGesturePassword
+                TextID = UserInfo.Current.appUnlockType.Contains("1") ? StringId.VerifyDigitalPassword : StringId.VerifyGesturePassword,
             };
             bodyView.AddChidren(btnOtherVerify);
 
-            btnOtherVerify.MouseUpEventHandler = (sender, e) => {
+            btnOtherVerify.MouseUpEventHandler = (sender, e) =>
+            {
                 ///灏嗛獙璇佹寚绾圭殑椤甸潰绉婚櫎
-                MainPage.BasePageView.RemoveAt(MainPage.BasePageView.ChildrenCount - 1);
+                MainPage.BasePageView.GetChildren(MainPage.BasePageView.ChildrenCount - 1).RemoveFromParent();
+                //Action action = () =>
+                //{
+                //    UserInfo.Current.unlockTime = DateTime.Now;
+                //};
+                //if (UserInfo.Current.appUnlockType.Contains("1"))
+                //{
+                //    var page = new AppUnlockPasswordPage(UserInfo.Current.appUnlockPasswrod, action);
+                //    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, action);
+                //    MainPage.BasePageView.AddChidren(page);
+                //    page.LoadPage(optionType);
+                //    MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+                //}
 
-                Action action = () => {
-                    unlockTime = DateTime.Now;
-                };
-                if (MainPage.LoginUser.appUnlockType.Contains("1"))
+                if (successAction == null)
                 {
-                    var page = new AppUnlockPasswordPage(MainPage.LoginUser.appUnlockPasswrod, action);
-                    MainPage.BasePageView.AddChidren(page);
-                    page.LoadPage("7");
-                    MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+                    Action action = () =>
+                    {
+                        UserInfo.Current.unlockTime = DateTime.Now;
+                    };
+                    GotogoToVerifyPasswordPage(optionType, action);
                 }
-                else if (MainPage.LoginUser.appUnlockType.Contains("2"))
+                else
                 {
-                    var page = new AppUnlockGesturePage(MainPage.LoginUser.appUnlockPasswrod, action);
-                    MainPage.BasePageView.AddChidren(page);
-                    page.LoadPage("7");
-                    MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+                    GotogoToVerifyPasswordPage(optionType, successAction);
                 }
             };
 
+            MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+
+            //dialog.Show();
+            //Console.WriteLine("-0987654321");
+        }
+
+        /// <summary>
+        /// 闈㈠ID楠岃瘉
+        /// </summary>
+        void FaceIDVerification()
+        {
+            //楠岃瘉鎴愬姛Action
+            Action successAction = () =>
+            {
+                UserInfo.Current.unlockTime = DateTime.Now;
+            };
+
+            //鎻愮ず鏁板瓧瀵嗙爜楠岃瘉杩樻槸缁樺埗鎵嬪娍楠岃瘉
+            string verificationTitleString = GetVerificationTitleString();
+
+            //寮瑰嚭鎸囩汗楠岃瘉瀵硅瘽妗�
+            Action faceIDAction = () =>
+            {
+                TouchIDUtils.Instance.showTouchIDWithDescribe(verificationTitleString, Language.StringByID(StringId.VerifyFaceID));
+            };
+            //鍔犺浇UI椤甸潰
+            LoadFaceIDGesturePage("7", faceIDAction, null);
+
+            TouchIDUtils.Instance.showTouchIDWithDescribe(verificationTitleString, Language.StringByID(StringId.VerifyFaceID));
+            TouchIDUtils.Instance.OnHDLTouchIDStateBackEvent = (sender1, e) =>
+            {
+                if (e == TouchIDUtils.TouchIDState.Success)
+                {
+                    MainPage.Log("KK:TouchID楠岃瘉鎴愬姛");
+                    UserInfo.Current.unlockTime = DateTime.Now;
+                    MainPage.BasePageView.GetChildren(MainPage.BasePageView.ChildrenCount - 1).RemoveFromParent();
+                }
+                else
+                {
+                    ///灏嗛獙璇佹寚绾圭殑椤甸潰绉婚櫎
+                    MainPage.BasePageView.GetChildren(MainPage.BasePageView.ChildrenCount - 1).RemoveFromParent();
+                    if (UserInfo.Current.appUnlockType.Contains("1"))
+                    {
+                        var page = new AppUnlockPasswordPage(UserInfo.Current.appUnlockPasswrod, successAction);
+                        MainPage.BasePageView.AddChidren(page);
+                        page.LoadPage("7");
+                        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("7");
+                        MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+                    }
+
+                }
+            };
+        }
+
+        /// <summary>
+        ///  鍔犺浇闈㈠ID楠岃瘉鐣岄潰
+        /// </summary>
+        /// <param name="optionType"></param>
+        /// <param name="faceIDAction"></param>
+        /// <param name="successAction">鎸囧畾鎴愬姛鐨勪簨浠跺洖璋�</param>
+        public void LoadFaceIDGesturePage(string optionType, Action faceIDAction, Action successAction)
+        {
+            var bodyView = new FrameLayout()
+            {
+                BackgroundColor = CSS.CSS_Color.MainBackgroundColor
+            };
+            MainPage.BasePageView.AddChidren(bodyView);
+
+            bodyView.AddChidren(new Button()
+            {
+                Height = Application.GetRealHeight(64),
+                BackgroundColor = CSS.CSS_Color.BackgroundColor,
+            });
+
+            bodyView.AddChidren(new Button()
+            {
+                Y = Application.GetRealHeight(196),
+                Height = Application.GetRealHeight(42),
+                TextAlignment = TextAlignment.Center,
+                TextColor = CSS.CSS_Color.FirstLevelTitleColor,
+                TextSize = CSS.CSS_FontSize.SubheadingFontSize,
+                TextID = StringId.VerifyFaceID,
+            });
+
+            var btnFaceIdIcon = new Button()
+            {
+                Y = Application.GetRealHeight(260),
+                Gravity = Gravity.CenterHorizontal,
+                Width = Application.GetRealWidth(102),
+                Height = Application.GetRealWidth(102),
+                UnSelectedImagePath = "PersonalCenter/AppUnlockSetting/FaceIdIconBig.png",
+            };
+            bodyView.AddChidren(btnFaceIdIcon);
+
+            btnFaceIdIcon.MouseUpEventHandler = (sender, e) =>
+            {
+                faceIDAction();
+            };
+
+            var btnOtherVerify = new Button()
+            {
+                Y = Application.GetRealHeight(527),
+                Height = Application.GetRealHeight(40),
+                TextAlignment = TextAlignment.Center,
+                TextColor = CSS.CSS_Color.MainColor,
+                TextSize = CSS.CSS_FontSize.TextFontSize,
+                TextID = UserInfo.Current.appUnlockType.Contains("1") ? StringId.VerifyDigitalPassword : StringId.VerifyGesturePassword,
+            };
+            bodyView.AddChidren(btnOtherVerify);
+
+            btnOtherVerify.MouseUpEventHandler = (sender, e) =>
+            {
+                ///灏嗛獙璇侀潰瀹笽D鐨勯〉闈㈢Щ闄�
+                MainPage.BasePageView.GetChildren(MainPage.BasePageView.ChildrenCount - 1).RemoveFromParent();
+               
+                if (successAction == null)
+                {
+                    Action action = () =>
+                    {
+                        UserInfo.Current.unlockTime = DateTime.Now;
+                    };
+                    GotogoToVerifyPasswordPage(optionType, action);
+                }
+                else
+                {
+                    GotogoToVerifyPasswordPage(optionType, successAction);
+                }
+
+            };
+
+            MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+
+        }
+
+        /// <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