using System; using Shared; using HDL_ON.UI.CSS; namespace HDL_ON.UI { public partial class AppUnlockPasswordPage : FrameLayout { FrameLayout bodyView; string passwrod = ""; string oldPasswrod = ""; Action backAction; public AppUnlockPasswordPage(string pw,Action action) { bodyView = this; oldPasswrod = pw; backAction = action; } /// /// /// /// /// 操作方式: /// 1:设置密码;2:验证密码;3:关闭密码;4:关闭解锁设置; /// 5:指纹ID开关;6:面容ID开关;7:解锁验证 /// public void LoadPage(string optionType) { bodyView.BackgroundColor = CSS_Color.BackgroundColor; //解锁验证无法后退,必须验证 if (optionType != "7") { if (oldPasswrod == "") new TopViewDiv(bodyView, Language.StringByID(StringId.SetDigitalPassword)).LoadTopView(); else new TopViewDiv(bodyView, Language.StringByID(StringId.VerifyDigitalPassword)).LoadTopView(); } var btnTipTitle = new Button() { Y = Application.GetRealWidth(186), Height = Application.GetRealWidth(42), TextAlignment = TextAlignment.Center, TextColor = CSS_Color.FirstLevelTitleColor, TextSize = CSS_FontSize.SubheadingFontSize, TextID = string.IsNullOrEmpty(oldPasswrod)? StringId.PlsEntryPassword : StringId.PlsRegisterRepeatPassword, }; bodyView.AddChidren(btnTipTitle); if (optionType == "2"|| optionType == "3") { btnTipTitle.TextID = StringId.PleaseEnterTheOriginalDigitalPassword; } if(optionType == "7") { btnTipTitle.TextID = StringId.PlsEntryPassword; } var btnTipIcon1 = new Button() { X = Application.GetRealWidth(132), Y = Application.GetRealWidth(238), Width = Application.GetRealWidth(16), Height = Application.GetRealWidth(16), BorderColor = CSS_Color.FirstLevelTitleColor, BorderWidth = (uint)Application.GetRealWidth(1), Radius = (uint)Application.GetRealWidth(8), BackgroundColor = CSS_Color.MainBackgroundColor, SelectedBackgroundColor = CSS_Color.FirstLevelTitleColor, }; bodyView.AddChidren(btnTipIcon1); var btnTipIcon2 = new Button() { X = btnTipIcon1.Right + Application.GetRealWidth(16), Y = Application.GetRealWidth(238), Width = Application.GetRealWidth(16), Height = Application.GetRealWidth(16), BorderColor = CSS_Color.FirstLevelTitleColor, BorderWidth = (uint)Application.GetRealWidth(1), Radius = (uint)Application.GetRealWidth(8), BackgroundColor = CSS_Color.MainBackgroundColor, SelectedBackgroundColor = CSS_Color.FirstLevelTitleColor, }; bodyView.AddChidren(btnTipIcon2); var btnTipIcon3 = new Button() { X = btnTipIcon2.Right + Application.GetRealWidth(16), Y = Application.GetRealWidth(238), Width = Application.GetRealWidth(16), Height = Application.GetRealWidth(16), BorderColor = CSS_Color.FirstLevelTitleColor, BorderWidth = (uint)Application.GetRealWidth(1), Radius = (uint)Application.GetRealWidth(8), BackgroundColor = CSS_Color.MainBackgroundColor, SelectedBackgroundColor = CSS_Color.FirstLevelTitleColor, }; bodyView.AddChidren(btnTipIcon3); var btnTipIcon4 = new Button() { X = btnTipIcon3.Right + Application.GetRealWidth(16), Y = Application.GetRealWidth(238), Width = Application.GetRealWidth(16), Height = Application.GetRealWidth(16), BorderColor = CSS_Color.FirstLevelTitleColor, BorderWidth = (uint)Application.GetRealWidth(1), Radius = (uint)Application.GetRealWidth(8), BackgroundColor = CSS_Color.MainBackgroundColor, SelectedBackgroundColor = CSS_Color.FirstLevelTitleColor, }; bodyView.AddChidren(btnTipIcon4); Button btnTipError = new Button() { Y = Application.GetRealWidth(258), Height = Application.GetRealWidth(40), TextAlignment = TextAlignment.Center, TextColor = CSS_Color.WarningColor, TextSize = CSS_FontSize.TextFontSize, Visible = false, }; bodyView.AddChidren(btnTipError); var etPassword = new EditText() { Y = Application.GetRealWidth(100), Height = Application.GetRealWidth(0), Foucs = true, //Visible = false, IsNumberKeyboardType = true, }; bodyView.AddChidren(etPassword); //etPassword.MouseUpEventHandler = (sender, e) => { }; etPassword.TextChangeEventHandler = (sender, e) => { passwrod = etPassword.Text.Trim(); switch(etPassword.Text.Trim().Length) { case 0: btnTipIcon1.IsSelected = false; btnTipIcon2.IsSelected = false; btnTipIcon3.IsSelected = false; btnTipIcon4.IsSelected = false; break; case 1: btnTipIcon1.IsSelected = true; btnTipIcon2.IsSelected = false; btnTipIcon3.IsSelected = false; btnTipIcon4.IsSelected = false; btnTipError.Visible = false; break; case 2: btnTipIcon1.IsSelected = true; btnTipIcon2.IsSelected = true; btnTipIcon3.IsSelected = false; btnTipIcon4.IsSelected = false; break; case 3: btnTipIcon1.IsSelected = true; btnTipIcon2.IsSelected = true; btnTipIcon3.IsSelected = true; btnTipIcon4.IsSelected = false; break; case 4: btnTipIcon1.IsSelected = true; btnTipIcon2.IsSelected = true; btnTipIcon3.IsSelected = true; btnTipIcon4.IsSelected = true; Application.HideSoftInput(); if (string.IsNullOrEmpty(oldPasswrod)) { //移除当前界面,每次返回都返回到最上级 this.RemoveFromParent(); var page = new AppUnlockPasswordPage(passwrod,backAction); MainPage.BasePageView.AddChidren(page); page.LoadPage(optionType); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; } else { if (optionType == "2") { //移除当前界面,每次返回都返回到最上级 this.RemoveFromParent(); var page = new AppUnlockPasswordPage("", backAction); MainPage.BasePageView.AddChidren(page); page.LoadPage("1"); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; return; } if (optionType == "7") { if (passwrod == oldPasswrod) { this.RemoveFromParent(); backAction(); return; } else { btnTipError.TextID = StringId.AuthenticationFailedPasswordError; etPassword.Text = ""; btnTipError.Visible = true; } return; } if (optionType == "3"|| optionType == "4") { if (passwrod == oldPasswrod) { if(optionType == "4") { backAction(); this.RemoveFromParent(); return; } if (MainPage.LoginUser.appUnlockType.Contains("1")) { MainPage.LoginUser.appUnlockType.Remove("1"); MainPage.LoginUser.appUnlockPasswrod = ""; MainPage.LoginUser.SaveUserInfo(); this.RemoveFromParent(); backAction(); } } else { btnTipError.TextID = StringId.AuthenticationFailedPasswordError; etPassword.Text = ""; btnTipError.Visible = true; } return; } //关闭/开启指纹或者面容 if (optionType == "5" || optionType == "6")//|| optionType == "8" || optionType == "9") { if (passwrod == oldPasswrod) { if (optionType == "5") { if (MainPage.LoginUser.appUnlockType.Contains("3")) MainPage.LoginUser.appUnlockType.Remove("3"); else MainPage.LoginUser.appUnlockType.Add("3"); MainPage.LoginUser.SaveUserInfo(); this.RemoveFromParent(); } if (optionType == "6") { if (MainPage.LoginUser.appUnlockType.Contains("4")) MainPage.LoginUser.appUnlockType.Remove("4"); else MainPage.LoginUser.appUnlockType.Add("4"); MainPage.LoginUser.SaveUserInfo(); this.RemoveFromParent(); } backAction(); } else { btnTipError.TextID = StringId.AuthenticationFailedPasswordError; etPassword.Text = ""; btnTipError.Visible = true; } return; } if (passwrod == oldPasswrod) { this.RemoveFromParent(); var page = new OperationResultDisPalyPage(); page.Show(); page.LoadPage(true, Language.StringByID(StringId.SetSuccessfully), Language.StringByID(StringId.SetSuccessfully), ""); string tipMsg = TouchIDUtils.getTouchIDSupperType() == TouchIDUtils.TouchIDSupperType.TouchID ? Language.StringByID(StringId.TurnOnFingerprintUnlocking) : Language.StringByID(StringId.TurnOnFaceIdUnlocking); if (TouchIDUtils.getTouchIDSupperType() != TouchIDUtils.TouchIDSupperType.None) { var unlockType = TouchIDUtils.getTouchIDSupperType() == TouchIDUtils.TouchIDSupperType.TouchID ? "3" : "4"; Action action = (result) => { if (result) { if (!MainPage.LoginUser.appUnlockType.Contains(unlockType)) { MainPage.LoginUser.appUnlockType.Add(unlockType); } } else { if (MainPage.LoginUser.appUnlockType.Contains(unlockType)) { MainPage.LoginUser.appUnlockType.Remove(unlockType); } } backAction(); MainPage.LoginUser.SaveUserInfo(); }; page.AdditionalOperations(tipMsg, action); } if (!MainPage.LoginUser.appUnlockType.Contains("1")) { MainPage.LoginUser.appUnlockType.Add("1"); } MainPage.LoginUser.appUnlockPasswrod = passwrod; MainPage.LoginUser.SaveUserInfo(); backAction(); } else { btnTipError.TextID = StringId.IncorrectRepeatPassword; etPassword.Text = ""; btnTipError.Visible = true; } } break; } }; EventHandler eventHandler = (sender, e) => { etPassword.Foucs = true; }; bodyView.MouseUpEventHandler = eventHandler; btnTipIcon1.MouseUpEventHandler = eventHandler; btnTipIcon2.MouseUpEventHandler = eventHandler; btnTipIcon3.MouseUpEventHandler = eventHandler; btnTipIcon4.MouseUpEventHandler = eventHandler; etPassword.Foucs = true; } } }