xm
2021-12-01 6d73bf6e816570291865674bef8bce8972e4de3f
HDL_ON/UI/UI0-Public/AppUnlockPage.cs
@@ -73,7 +73,7 @@
            {
                if (!isFirstOpen)
                {
                    if (UserInfo.Current.unlockTime.AddSeconds(5) > DateTime.Now || UserInfo.Current.appUnlockPasswrod == "" || UserInfo.Current.appUnlockPage.Count == 0)
                    if (UserInfo.Current.unlockTime.AddMinutes(5) > DateTime.Now || UserInfo.Current.appUnlockPasswrod == "" || UserInfo.Current.appUnlockPage.Count == 0)
                    {
                        return;
                    }
@@ -97,15 +97,18 @@
                UserInfo.Current.unlockTime = DateTime.Now;
            };
            //提示数字密码验证还是绘制手势验证
            string verificationTitleString = GetVerificationTitleString();
            //弹出指纹验证对话框
            Action fingerAction = () =>
            {
                TouchIDUtils.Instance.showTouchIDWithDescribe(null, Language.StringByID(StringId.PleaseVerifyTheFingerprint));
                TouchIDUtils.Instance.showTouchIDWithDescribe(verificationTitleString, Language.StringByID(StringId.PleaseVerifyTheFingerprint));
            };
            //加载UI页面
            LoadGesturePage("7", fingerAction);
            LoadGesturePage("7", fingerAction, null);
            TouchIDUtils.Instance.showTouchIDWithDescribe(null, Language.StringByID(StringId.PleaseVerifyTheFingerprint));
            TouchIDUtils.Instance.showTouchIDWithDescribe(verificationTitleString, Language.StringByID(StringId.PleaseVerifyTheFingerprint));
            TouchIDUtils.Instance.OnHDLTouchIDStateBackEvent = (sender1, e) =>
            {
                if (e == TouchIDUtils.TouchIDState.Success)
@@ -140,7 +143,10 @@
        /// <summary>
        /// 加载指纹验证界面
        /// </summary>
        public void LoadGesturePage(string optionType, Action fingerAction)
        /// <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()
            {
@@ -194,25 +200,37 @@
            {
                ///将验证指纹的页面移除
                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 = () =>
                //{
                //    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;
                //}
                if (successAction == null)
                {
                    Action action = () =>
                    {
                        UserInfo.Current.unlockTime = DateTime.Now;
                    };
                    GotogoToVerifyPasswordPage(optionType, action);
                }
                else
                {
                    GotogoToVerifyPasswordPage(optionType, successAction);
                }
            };
            MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
@@ -232,15 +250,18 @@
                UserInfo.Current.unlockTime = DateTime.Now;
            };
            //提示数字密码验证还是绘制手势验证
            string verificationTitleString = GetVerificationTitleString();
            //弹出指纹验证对话框
            Action faceIDAction = () =>
            {
                TouchIDUtils.Instance.showTouchIDWithDescribe(null, Language.StringByID(StringId.VerifyFaceID));
                TouchIDUtils.Instance.showTouchIDWithDescribe(verificationTitleString, Language.StringByID(StringId.VerifyFaceID));
            };
            //加载UI页面
            LoadFaceIDGesturePage("7", faceIDAction);
            LoadFaceIDGesturePage("7", faceIDAction, null);
            TouchIDUtils.Instance.showTouchIDWithDescribe(null, Language.StringByID(StringId.VerifyFaceID));
            TouchIDUtils.Instance.showTouchIDWithDescribe(verificationTitleString, Language.StringByID(StringId.VerifyFaceID));
            TouchIDUtils.Instance.OnHDLTouchIDStateBackEvent = (sender1, e) =>
            {
                if (e == TouchIDUtils.TouchIDState.Success)
@@ -273,9 +294,12 @@
        }
        /// <summary>
        /// 加载面容ID验证界面
        ///  加载面容ID验证界面
        /// </summary>
        public void LoadFaceIDGesturePage(string optionType, Action faceIDAction)
        /// <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()
            {
@@ -329,23 +353,18 @@
            {
                ///将验证面容ID的页面移除
                MainPage.BasePageView.GetChildren(MainPage.BasePageView.ChildrenCount - 1).RemoveFromParent();
                Action action = () =>
                if (successAction == null)
                {
                    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;
                    Action action = () =>
                    {
                        UserInfo.Current.unlockTime = DateTime.Now;
                    };
                    GotogoToVerifyPasswordPage(optionType, action);
                }
                else if (UserInfo.Current.appUnlockType.Contains("2"))
                else
                {
                    var page = new AppUnlockGesturePage(UserInfo.Current.appUnlockPasswrod, action);
                    MainPage.BasePageView.AddChidren(page);
                    page.LoadPage(optionType);
                    MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
                    GotogoToVerifyPasswordPage(optionType, successAction);
                }
            };
@@ -354,5 +373,52 @@
        }
        /// <summary>
        /// 跳转手势或者密码验证界面
        /// </summary>
        /// <param name="optionType">1:设置密码;2:验证密码;3:关闭密码;4:关闭解锁设置;5:指纹ID开关;6:面容ID开关;7:解锁验证</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);
            }
        }
    }
}