From d724f7f21c5cc8c5dd5aa0cf7345a62a662eb2bf Mon Sep 17 00:00:00 2001
From: JLChen <551775569@qq.com>
Date: 星期三, 16 十二月 2020 15:12:18 +0800
Subject: [PATCH] 2020-12-16 1.子账号和解锁部分接口增加Loading处理

---
 HDL_ON/UI/UI0-Public/AppUnlockPage.cs |  306 ++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 232 insertions(+), 74 deletions(-)

diff --git a/HDL_ON/UI/UI0-Public/AppUnlockPage.cs b/HDL_ON/UI/UI0-Public/AppUnlockPage.cs
index 13cff38..63a6b1d 100644
--- a/HDL_ON/UI/UI0-Public/AppUnlockPage.cs
+++ b/HDL_ON/UI/UI0-Public/AppUnlockPage.cs
@@ -7,76 +7,39 @@
 	/// </summary>
     public class AppUnlockPage
     {
-        DateTime unlockTime = DateTime.MinValue;
         void LoadOption()
         {
-            if (MainPage.LoginUser == null)
+            //2020-12-12 鏈櫥褰曟垨鑰匒PP鏈惎鍔ㄩ兘杩斿洖锛岃В鍐抽棯閫�闂
+            if (UserInfo.Current == null || !UserInfo.Current.IsLogin || MainPage.BasePageView == null)
             {
                 return;
             }
             Action action = () =>
             {
-                unlockTime = DateTime.Now;
+                UserInfo.Current.unlockTime = DateTime.Now;
             };
             //1:楠岃瘉鎸囩汗
-            if (MainPage.LoginUser.appUnlockType.Contains("3"))
+            if (UserInfo.Current.appUnlockType.Contains("3"))
             {
-                Action fAction = () =>
-                {
-                    LoadOption();
-                };
-                LoadGesturePage("7", fAction);
-                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);
-                        MainPage.BasePageView.GetChildren(MainPage.BasePageView.ChildrenCount - 1).RemoveFromParent();
-                    }
-                    else
-                    {
-                        ///灏嗛獙璇佹寚绾圭殑椤甸潰绉婚櫎
-                        //MainPage.BasePageView.RemoveAt(MainPage.BasePageView.ChildrenCount - 1);
-                        MainPage.BasePageView.GetChildren(MainPage.BasePageView.ChildrenCount - 1).RemoveFromParent();
-
-                        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;
-                        }
-                    }
-                };
+                TouchIDVerification();
             }
-            else if (MainPage.LoginUser.appUnlockType.Contains("4"))
+            else if (UserInfo.Current.appUnlockType.Contains("4"))
             {
                 //Face ID楠岃瘉
-                //
+                //2020-12-11 寰呭鍔犻潰瀹瑰け璐ラ獙璇侀〉闈紝涓嶇劧浼氬鑷撮攣灞忓姞瀵嗘棤鏁�
+                FaceIDVerification();
             }
-            else if (MainPage.LoginUser.appUnlockType.Contains("1"))
+            else if (UserInfo.Current.appUnlockType.Contains("1"))
             {
-                var page = new AppUnlockPasswordPage(MainPage.LoginUser.appUnlockPasswrod, action);
+                var page = new AppUnlockPasswordPage(UserInfo.Current.appUnlockPasswrod, action);
                 MainPage.BasePageView.AddChidren(page);
                 page.LoadPage("7");
-                //MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
             }
-            else if (MainPage.LoginUser.appUnlockType.Contains("2"))
+            else if (UserInfo.Current.appUnlockType.Contains("2"))
             {
-                var page = new AppUnlockGesturePage(MainPage.LoginUser.appUnlockPasswrod, action);
+                var page = new AppUnlockGesturePage(UserInfo.Current.appUnlockPasswrod, action);
                 MainPage.BasePageView.AddChidren(page);
                 page.LoadPage("7");
-                //MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
             }
 #if __ANDROID__
             new System.Threading.Thread(() =>
@@ -86,6 +49,7 @@
                 {
                     MainPage.Log($"鍊掕鏃讹細{i} sec");
                     System.Threading.Thread.Sleep(1000);
+                    i++;
                 }
                 Application.RunOnMainThread(() =>
                 {
@@ -94,14 +58,83 @@
             })
             { IsBackground = true }.Start();
 #else
-                    MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+            MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
 #endif
 
         }
 
-        public void LoadPage()
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="isFirstOpen">濡傛灉鏄涓�娆″惎鍔ㄧ洿鎺ュ脊绐楅獙璇佸瘑鐮�</param>
+        public void LoadPage(bool isFirstOpen = false)
         {
-            LoadOption();
+            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;
+            };
+
+            //寮瑰嚭鎸囩汗楠岃瘉瀵硅瘽妗�
+            Action fingerAction = () =>
+            {
+                TouchIDUtils.Instance.showTouchIDWithDescribe(null, Language.StringByID(StringId.PleaseVerifyTheFingerprint));
+            };
+            //鍔犺浇UI椤甸潰
+            LoadGesturePage("7", fingerAction);
+
+            TouchIDUtils.Instance.showTouchIDWithDescribe(null, 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>
@@ -109,21 +142,11 @@
         /// </summary>
         public void LoadGesturePage(string optionType, Action fingerAction)
         {
-            //Dialog dialog = new Dialog();
-
-            if (optionType == "7")
-            {
-                if (unlockTime.AddSeconds(60) > DateTime.Now || MainPage.LoginUser.appUnlockPasswrod == "" || MainPage.LoginUser.appUnlockPage.Count == 0)
-                {
-                    return;
-                }
-            }
             var bodyView = new FrameLayout()
             {
                 BackgroundColor = CSS.CSS_Color.MainBackgroundColor
             };
             MainPage.BasePageView.AddChidren(bodyView);
-            MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
 
             bodyView.AddChidren(new Button()
             {
@@ -147,7 +170,7 @@
                 Gravity = Gravity.CenterHorizontal,
                 Width = Application.GetRealWidth(102),
                 Height = Application.GetRealWidth(102),
-                UnSelectedImagePath = "PersonalCenter/AppUnlockSetting/FingerIconRed.png",
+                UnSelectedImagePath = "PersonalCenter/AppUnlockSetting/FingerIconBlue.png",
             };
             bodyView.AddChidren(btnFingerIcon);
 
@@ -163,38 +186,173 @@
                 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) =>
             {
                 ///灏嗛獙璇佹寚绾圭殑椤甸潰绉婚櫎
-                //MainPage.BasePageView.RemoveAt(MainPage.BasePageView.ChildrenCount - 1);
                 MainPage.BasePageView.GetChildren(MainPage.BasePageView.ChildrenCount - 1).RemoveFromParent();
-
                 Action action = () =>
                 {
-                    unlockTime = DateTime.Now;
+                    UserInfo.Current.unlockTime = DateTime.Now;
                 };
-                if (MainPage.LoginUser.appUnlockType.Contains("1"))
+                if (UserInfo.Current.appUnlockType.Contains("1"))
                 {
-                    var page = new AppUnlockPasswordPage(MainPage.LoginUser.appUnlockPasswrod, action);
+                    var page = new AppUnlockPasswordPage(UserInfo.Current.appUnlockPasswrod, action);
                     MainPage.BasePageView.AddChidren(page);
                     page.LoadPage(optionType);
-                    //MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+                    MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
                 }
-                else if (MainPage.LoginUser.appUnlockType.Contains("2"))
+                else if (UserInfo.Current.appUnlockType.Contains("2"))
                 {
-                    var page = new AppUnlockGesturePage(MainPage.LoginUser.appUnlockPasswrod, action);
+                    var page = new AppUnlockGesturePage(UserInfo.Current.appUnlockPasswrod, action);
                     MainPage.BasePageView.AddChidren(page);
                     page.LoadPage(optionType);
-                    //MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+                    MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
                 }
+
             };
 
+            MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+
             //dialog.Show();
-            Console.WriteLine("-0987654321");
+            //Console.WriteLine("-0987654321");
         }
+
+        /// <summary>
+        /// 闈㈠ID楠岃瘉
+        /// </summary>
+        void FaceIDVerification()
+        {
+            //楠岃瘉鎴愬姛Action
+            Action successAction = () =>
+            {
+                UserInfo.Current.unlockTime = DateTime.Now;
+            };
+
+            //寮瑰嚭鎸囩汗楠岃瘉瀵硅瘽妗�
+            Action faceIDAction = () =>
+            {
+                TouchIDUtils.Instance.showTouchIDWithDescribe(null, Language.StringByID(StringId.VerifyFaceID));
+            };
+            //鍔犺浇UI椤甸潰
+            LoadFaceIDGesturePage("7", faceIDAction);
+
+            TouchIDUtils.Instance.showTouchIDWithDescribe(null, 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>
+        public void LoadFaceIDGesturePage(string optionType, Action faceIDAction)
+        {
+            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();
+                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;
+                }
+
+            };
+
+            MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+
+        }
+
     }
 }
\ No newline at end of file

--
Gitblit v1.8.0