| | |
| | | using System; |
| | | using Shared; |
| | | using HDL_ON.UI.CSS; |
| | | using HDL_ON.DAL.Server; |
| | | |
| | | namespace HDL_ON.UI |
| | | { |
| | | /// <summary> |
| | | /// 密码解锁 |
| | | /// </summary> |
| | | public partial class AppUnlockPasswordPage : FrameLayout |
| | | { |
| | | FrameLayout bodyView; |
| | | EditText etPassword; |
| | | /// <summary> |
| | | /// |
| | | /// </summary> |
| | | Button btnTipError; |
| | | |
| | | string passwrod = ""; |
| | | string oldPasswrod = ""; |
| | | Action backAction; |
| | | public AppUnlockPasswordPage(string pw,Action action) |
| | | public AppUnlockPasswordPage(string pw, Action action) |
| | | { |
| | | bodyView = this; |
| | | bodyView.Tag = "unlockpage"; |
| | | oldPasswrod = pw; |
| | | backAction = action; |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// |
| | |
| | | TextAlignment = TextAlignment.Center, |
| | | TextColor = CSS_Color.FirstLevelTitleColor, |
| | | TextSize = CSS_FontSize.SubheadingFontSize, |
| | | TextID = string.IsNullOrEmpty(oldPasswrod)? StringId.PlsEntryPassword : StringId.PlsRegisterRepeatPassword, |
| | | TextID = string.IsNullOrEmpty(oldPasswrod) ? StringId.PlsEntryPassword : StringId.PlsRegisterRepeatPassword, |
| | | }; |
| | | bodyView.AddChidren(btnTipTitle); |
| | | |
| | | |
| | | if (optionType == "2"|| optionType == "3") |
| | | if (optionType == "1") |
| | | { |
| | | btnTipTitle.TextID = string.IsNullOrEmpty(oldPasswrod) ? StringId.PlsEntryPassword : StringId.PlsRegisterRepeatPassword; |
| | | } |
| | | else if (optionType == "2") |
| | | { |
| | | btnTipTitle.TextID = StringId.PleaseEnterTheOriginalDigitalPassword; |
| | | } |
| | | if(optionType == "7") |
| | | else |
| | | { |
| | | btnTipTitle.TextID = StringId.PlsEntryPassword; |
| | | } |
| | |
| | | bodyView.AddChidren(btnTipIcon4); |
| | | |
| | | |
| | | Button btnTipError = new Button() |
| | | btnTipError = new Button() |
| | | { |
| | | Y = Application.GetRealWidth(258), |
| | | Height = Application.GetRealWidth(40), |
| | |
| | | bodyView.AddChidren(btnTipError); |
| | | |
| | | |
| | | var etPassword = new EditText() |
| | | etPassword = new EditText() |
| | | { |
| | | Y = Application.GetRealWidth(100), |
| | | Height = Application.GetRealWidth(10), |
| | | Height = 1, |
| | | Foucs = true, |
| | | Visible = false, |
| | | //Visible = false, |
| | | IsNumberKeyboardType = true, |
| | | }; |
| | | bodyView.AddChidren(etPassword); |
| | | |
| | | etPassword.TextChangeEventHandler = (sender, e) => { |
| | | //etPassword.MouseUpEventHandler = (sender, e) => { }; |
| | | |
| | | etPassword.TextChangeEventHandler = (sender, e) => |
| | | { |
| | | passwrod = etPassword.Text.Trim(); |
| | | switch(etPassword.Text.Trim().Length) |
| | | switch (etPassword.Text.Trim().Length) |
| | | { |
| | | case 0: |
| | | btnTipIcon1.IsSelected = false; |
| | |
| | | btnTipIcon2.IsSelected = true; |
| | | btnTipIcon3.IsSelected = true; |
| | | btnTipIcon4.IsSelected = true; |
| | | Application.HideSoftInput(); |
| | | if (string.IsNullOrEmpty(oldPasswrod)) |
| | | { |
| | | var page = new AppUnlockPasswordPage(passwrod,backAction); |
| | | //移除当前界面,每次返回都返回到最上级 |
| | | this.RemoveFromParent(); |
| | | var page = new AppUnlockPasswordPage(passwrod, backAction); |
| | | MainPage.BasePageView.AddChidren(page); |
| | | page.LoadPage(optionType); |
| | | MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; |
| | | //移除当前界面,每次返回都返回到最上级 |
| | | MainPage.BasePageView.RemoveAt(MainPage.BasePageView.ChildrenCount - 2); |
| | | } |
| | | else |
| | | { |
| | | if(optionType == "2") |
| | | { |
| | | var page = new AppUnlockPasswordPage("", backAction); |
| | | MainPage.BasePageView.AddChidren(page); |
| | | page.LoadPage("1"); |
| | | MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; |
| | | //移除当前界面,每次返回都返回到最上级 |
| | | MainPage.BasePageView.RemoveAt(MainPage.BasePageView.ChildrenCount - 2); |
| | | return; |
| | | } |
| | | |
| | | if (optionType == "7") |
| | | { |
| | | if (passwrod == oldPasswrod) |
| | | { |
| | | this.RemoveFromParent(); |
| | | backAction(); |
| | | } |
| | | 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; |
| | | } |
| | | //2020-12-11 密码校验 |
| | | 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); |
| | | Action<bool> action = (result) => |
| | | { |
| | | var unlockType = TouchIDUtils.getTouchIDSupperType() == TouchIDUtils.TouchIDSupperType.TouchID ? "3" : "4"; |
| | | 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(); |
| | | //密码验证通过 |
| | | PasswordInputPassed(optionType); |
| | | } |
| | | else |
| | | { |
| | | btnTipError.TextID = StringId.IncorrectRepeatPassword; |
| | | etPassword.Text = ""; |
| | | btnTipError.Visible = true; |
| | | //密码验证失败 |
| | | PasswordInputError(optionType); |
| | | } |
| | | } |
| | | break; |
| | | } |
| | | }; |
| | | |
| | | EventHandler<MouseEventArgs> eventHandler = (sender, e) => { |
| | | EventHandler<MouseEventArgs> eventHandler = (sender, e) => |
| | | { |
| | | etPassword.Foucs = true; |
| | | }; |
| | | bodyView.MouseUpEventHandler = eventHandler; |
| | |
| | | btnTipIcon2.MouseUpEventHandler = eventHandler; |
| | | btnTipIcon3.MouseUpEventHandler = eventHandler; |
| | | btnTipIcon4.MouseUpEventHandler = eventHandler; |
| | | |
| | | etPassword.Foucs = true; |
| | | |
| | | if (optionType == "7") |
| | | { |
| | | //使用账户密码登录按钮 提示按钮 |
| | | AddLoginTipButton(); |
| | | } |
| | | else if (optionType != "1") |
| | | { |
| | | //输入登录密码验证 提示按钮 |
| | | AddInputPasswordTipButton(optionType); |
| | | } |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// 密码输入错误显示错误信息 |
| | | /// </summary> |
| | | /// <param name="optionType">1:设置密码;2:验证密码;3:关闭密码;4:关闭解锁设置;5:指纹ID开关;6:面容ID开关;7:解锁验证</param> |
| | | void PasswordInputError(string optionType) |
| | | { |
| | | int errorTextID = 0; |
| | | if (optionType == "1") |
| | | { |
| | | //两次输入密码不一致,请重新输入 |
| | | errorTextID = StringId.IncorrectRepeatPassword; |
| | | } |
| | | else |
| | | { |
| | | //验证失败,密码错误. |
| | | errorTextID = StringId.AuthenticationFailedPasswordError; |
| | | } |
| | | |
| | | btnTipError.TextID = errorTextID; |
| | | etPassword.Text = ""; |
| | | btnTipError.Visible = true; |
| | | } |
| | | |
| | | |
| | | |
| | | /// <summary> |
| | | /// 密码验证通过后的操作 |
| | | /// </summary> |
| | | /// <param name="optionType">1:设置密码;2:验证密码;3:关闭密码;4:关闭解锁设置;5:指纹ID开关;6:面容ID开关;7:解锁验证</param> |
| | | void PasswordInputPassed(string optionType) |
| | | { |
| | | if (optionType == "1") |
| | | { |
| | | //设置密码 验证通过 |
| | | 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"; |
| | | |
| | | //如果之前没设置指纹或者面容ID才显示是否开启 |
| | | if (!UserInfo.Current.appUnlockType.Contains(unlockType)) |
| | | { |
| | | Action<bool> action = (result) => |
| | | { |
| | | if (result) |
| | | { |
| | | if (!UserInfo.Current.appUnlockType.Contains(unlockType)) |
| | | { |
| | | UserInfo.Current.appUnlockType.Add(unlockType); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | if (UserInfo.Current.appUnlockType.Contains(unlockType)) |
| | | { |
| | | UserInfo.Current.appUnlockType.Remove(unlockType); |
| | | } |
| | | } |
| | | backAction(); |
| | | UserInfo.Current.SaveUserInfo(); |
| | | }; |
| | | |
| | | |
| | | page.AdditionalOperations(tipMsg, action); |
| | | } |
| | | } |
| | | if (!UserInfo.Current.appUnlockType.Contains("1")) |
| | | { |
| | | UserInfo.Current.appUnlockType.Add("1"); |
| | | } |
| | | UserInfo.Current.appUnlockPasswrod = passwrod; |
| | | UserInfo.Current.SaveUserInfo(); |
| | | backAction(); |
| | | } |
| | | 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; |
| | | } |
| | | else if (optionType == "3" || optionType == "4") |
| | | { |
| | | //3:关闭密码;4:关闭解锁设置 通过 |
| | | if (optionType == "4") |
| | | { |
| | | backAction(); |
| | | this.RemoveFromParent(); |
| | | return; |
| | | } |
| | | if (UserInfo.Current.appUnlockType.Contains("1")) |
| | | { |
| | | UserInfo.Current.appUnlockType = new System.Collections.Generic.List<string>();//.Remove("1"); |
| | | UserInfo.Current.appUnlockPasswrod = ""; |
| | | UserInfo.Current.SaveUserInfo(); |
| | | this.RemoveFromParent(); |
| | | backAction(); |
| | | } |
| | | } |
| | | else if (optionType == "5") |
| | | { |
| | | //5:指纹ID开关 通过 |
| | | if (UserInfo.Current.appUnlockType.Contains("3")) |
| | | { |
| | | UserInfo.Current.appUnlockType.Remove("3"); |
| | | } |
| | | else |
| | | { |
| | | UserInfo.Current.appUnlockType.Add("3"); |
| | | } |
| | | UserInfo.Current.SaveUserInfo(); |
| | | this.RemoveFromParent(); |
| | | backAction(); |
| | | } |
| | | else if (optionType == "6") |
| | | { |
| | | //6:面容ID开关 通过 |
| | | if (UserInfo.Current.appUnlockType.Contains("4")) |
| | | { |
| | | UserInfo.Current.appUnlockType.Remove("4"); |
| | | } |
| | | else |
| | | { |
| | | UserInfo.Current.appUnlockType.Add("4"); |
| | | } |
| | | UserInfo.Current.SaveUserInfo(); |
| | | this.RemoveFromParent(); |
| | | backAction(); |
| | | } |
| | | else if (optionType == "7") |
| | | { |
| | | //7:解锁验证 通过 |
| | | this.RemoveFromParent(); |
| | | backAction(); |
| | | } |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// 使用账户密码登录按钮 提示按钮 |
| | | /// </summary> |
| | | void AddLoginTipButton() |
| | | { |
| | | Button btnLoginAccountVerify = new Button() |
| | | { |
| | | Y = Application.GetRealHeight(517), |
| | | Height = Application.GetRealHeight(60), |
| | | TextAlignment = TextAlignment.Center, |
| | | TextSize = CSS_FontSize.TextFontSize, |
| | | TextColor = CSS_Color.MainColor, |
| | | TextID = StringId.LogWithAccountAndPassword, |
| | | }; |
| | | bodyView.AddChidren(btnLoginAccountVerify); |
| | | |
| | | btnLoginAccountVerify.MouseUpEventHandler = (sender, e) => |
| | | { |
| | | //退出登录 |
| | | HDLCommon.Current.Logout(); |
| | | }; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 输入登录密码验证 提示按钮 |
| | | /// </summary> |
| | | void AddInputPasswordTipButton(string optionType) |
| | | { |
| | | Button btnLoginAccountVerify = new Button() |
| | | { |
| | | Y = Application.GetRealHeight(517), |
| | | Height = Application.GetRealHeight(60), |
| | | TextAlignment = TextAlignment.Center, |
| | | TextSize = CSS_FontSize.TextFontSize, |
| | | TextColor = CSS_Color.MainColor, |
| | | TextID = StringId.EnterLoginPasswordVerification, |
| | | }; |
| | | bodyView.AddChidren(btnLoginAccountVerify); |
| | | |
| | | btnLoginAccountVerify.MouseUpEventHandler = (sender, e) => |
| | | { |
| | | //输入登录密码验证 |
| | | Action<string> action = (pw) => |
| | | { |
| | | AuthenticationByLoginPassword(pw, optionType); |
| | | //var resultObj = new HttpServerRequest().LoginByPassword(UserInfo.Current.AccountString, pw); |
| | | //if (resultObj.Code == StateCode.SUCCESS) |
| | | //{ |
| | | // PasswordInputPassed(optionType); |
| | | //} |
| | | //else |
| | | //{ |
| | | // Application.RunOnMainThread(() => |
| | | // { |
| | | // Utlis.ShowTip(Language.StringByID(StringId.AuthenticationFailedPasswordError)); |
| | | // }); |
| | | |
| | | //} |
| | | |
| | | }; |
| | | new PublicAssmebly().LoadDialog_EditParater(StringId.EnterLoginPasswordVerification, "", action, StringId.PlsEntryPassword, 0, new System.Collections.Generic.List<string>(), true); |
| | | }; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 登录密码验证 |
| | | /// </summary> |
| | | /// <param name="pw"></param> |
| | | /// <param name="optionType"></param> |
| | | void AuthenticationByLoginPassword(string pw, string optionType) |
| | | { |
| | | var waitPage = new Loading(); |
| | | bodyView.AddChidren(waitPage); |
| | | waitPage.Start(Language.StringByID(StringId.PleaseWait)); |
| | | |
| | | new System.Threading.Thread(() => |
| | | { |
| | | try |
| | | { |
| | | var resultObj = new HttpServerRequest().LoginByPassword(UserInfo.Current.AccountString, pw); |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | if (resultObj.Code == StateCode.SUCCESS) |
| | | { |
| | | PasswordInputPassed(optionType); |
| | | } |
| | | else |
| | | { |
| | | Utlis.ShowTip(Language.StringByID(StringId.AuthenticationFailedPasswordError)); |
| | | } |
| | | }); |
| | | } |
| | | catch { } |
| | | finally |
| | | { |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | if (waitPage != null) |
| | | { |
| | | waitPage.RemoveFromParent(); |
| | | waitPage = null; |
| | | } |
| | | }); |
| | | } |
| | | }) |
| | | { IsBackground = true }.Start(); |
| | | } |
| | | } |
| | | } |