| | |
| | | void LoadOption() |
| | | { |
| | | //2020-12-12 未登录或者APP未启动都返回,解决闪退问题 |
| | | if ( UserInfo.Current == null || !UserInfo.Current.IsLogin || MainPage.BasePageView == null) |
| | | if (UserInfo.Current == null || !UserInfo.Current.IsLogin || MainPage.BasePageView == null) |
| | | { |
| | | return; |
| | | } |
| | |
| | | //1:验证指纹 |
| | | 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验证成功"); |
| | | 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, action); |
| | | 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, action); |
| | | MainPage.BasePageView.AddChidren(page); |
| | | page.LoadPage("7"); |
| | | MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; |
| | | } |
| | | |
| | | } |
| | | }; |
| | | TouchIDVerification(); |
| | | } |
| | | else if (UserInfo.Current.appUnlockType.Contains("4")) |
| | | { |
| | | //Face ID验证 |
| | | //2020-12-11 待增加面容失败验证页面,不然会导致锁屏加密无效 |
| | | FaceIDVerification(); |
| | | } |
| | | else if (UserInfo.Current.appUnlockType.Contains("1")) |
| | | { |
| | |
| | | } |
| | | |
| | | /// <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> |
| | | 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() |
| | | { |
| | |
| | | Gravity = Gravity.CenterHorizontal, |
| | | Width = Application.GetRealWidth(102), |
| | | Height = Application.GetRealWidth(102), |
| | | UnSelectedImagePath = "PersonalCenter/AppUnlockSetting/FingerIconRed.png", |
| | | UnSelectedImagePath = "PersonalCenter/AppUnlockSetting/FingerIconBlue.png", |
| | | }; |
| | | bodyView.AddChidren(btnFingerIcon); |
| | | |
| | |
| | | { |
| | | ///将验证指纹的页面移除 |
| | | MainPage.BasePageView.GetChildren(MainPage.BasePageView.ChildrenCount - 1).RemoveFromParent(); |
| | | Action action = () => |
| | | //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) |
| | | { |
| | | 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); |
| | | } |
| | | }; |
| | | |
| | | 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) => |
| | | { |
| | | ///将验证面容ID的页面移除 |
| | | 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; |
| | | |
| | | //dialog.Show(); |
| | | Console.WriteLine("-0987654321"); |
| | | } |
| | | |
| | | /// <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); |
| | | } |
| | | } |
| | | } |
| | | } |