using System; using Shared; namespace HDL_ON.UI { /// /// app解锁界面 /// public class AppUnlockPage { DateTime unlockTime = DateTime.MinValue; void LoadOption() { if (MainPage.LoginUser == null) { return; } Action action = () => { unlockTime = DateTime.Now; }; //1:验证指纹 if (MainPage.LoginUser.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.GetChildren(MainPage.BasePageView.ChildrenCount - 1).RemoveFromParent(); } else { ///将验证指纹的页面移除 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; } } }; } 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"); } else if (MainPage.LoginUser.appUnlockType.Contains("2")) { var page = new AppUnlockGesturePage(MainPage.LoginUser.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 } public void LoadPage() { LoadOption(); } /// /// 加载指纹验证界面 /// 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); 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.PleaseVerifyTheFingerprint, }); var btnFingerIcon = new Button() { Y = Application.GetRealHeight(260), Gravity = Gravity.CenterHorizontal, Width = Application.GetRealWidth(102), Height = Application.GetRealWidth(102), UnSelectedImagePath = "PersonalCenter/AppUnlockSetting/FingerIconRed.png", }; bodyView.AddChidren(btnFingerIcon); btnFingerIcon.MouseUpEventHandler = (sender, e) => { fingerAction(); }; 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 = MainPage.LoginUser.appUnlockType.Contains("1") ? StringId.VerifyDigitalPassword : StringId.VerifyGesturePassword, }; bodyView.AddChidren(btnOtherVerify); btnOtherVerify.MouseUpEventHandler = (sender, e) => { ///将验证指纹的页面移除 MainPage.BasePageView.GetChildren(MainPage.BasePageView.ChildrenCount - 1).RemoveFromParent(); Action action = () => { unlockTime = DateTime.Now; }; if (MainPage.LoginUser.appUnlockType.Contains("1")) { var page = new AppUnlockPasswordPage(MainPage.LoginUser.appUnlockPasswrod, action); MainPage.BasePageView.AddChidren(page); page.LoadPage(optionType); 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(optionType); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; } }; MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; //dialog.Show(); Console.WriteLine("-0987654321"); } } }