old mode 100755
new mode 100644
| | |
| | | using System;
|
| | | using System.Collections.Generic;
|
| | | using System.Text;
|
| | |
|
| | | namespace Shared.Phone.UserCenter
|
| | | {
|
| | | /// <summary>
|
| | | /// 手势密码验证界面
|
| | | /// </summary>
|
| | | public class PswGestureSecirityForm : DialogCommonForm
|
| | | {
|
| | | #region ■ 变量声明___________________________
|
| | |
|
| | | #endregion
|
| | |
|
| | | #region ■ 初始化_____________________________
|
| | |
|
| | | /// <summary>
|
| | | /// 画面显示(底层会固定调用此方法,借以完成画面创建)
|
| | | /// </summary>
|
| | | /// <param name="i_TouchText">Touch ID验证的显示文本</param>
|
| | | /// <param name="i_PasswordText">密码验证的显示文本</param>
|
| | | /// <param name="i_GestureText">手势验证的显示文本</param>
|
| | | /// <param name="SuccessAction">验证成功后的回调函数,如果不成功,不会调用这个东西</param>
|
| | | public void ShowForm(string i_TouchText, string i_PasswordText, string i_GestureText, Action SuccessAction)
|
| | | {
|
| | | //初始化中部信息
|
| | | this.InitMiddleFrame(i_TouchText, i_PasswordText, i_GestureText, SuccessAction);
|
| | | }
|
| | |
|
| | | /// <summary>
|
| | | /// 初始化中部信息
|
| | | /// </summary>
|
| | | /// <param name="i_TouchText">Touch ID验证的显示文本</param>
|
| | | /// <param name="i_PasswordText">密码验证的显示文本</param>
|
| | | /// <param name="i_GestureText">手势验证的显示文本</param>
|
| | | /// <param name="SuccessAction">验证成功后的回调函数,如果不成功,不会调用这个东西</param>
|
| | | private void InitMiddleFrame(string i_TouchText, string i_PasswordText, string i_GestureText, Action SuccessAction)
|
| | | {
|
| | | var frameBack = new FrameLayout();
|
| | | frameBack.Y = Application.GetRealHeight(239);
|
| | | frameBack.Gravity = Gravity.CenterHorizontal;
|
| | | frameBack.Width = Application.GetRealWidth(965);
|
| | | frameBack.Height = Application.GetRealHeight(1486);
|
| | | frameBack.BackgroundColor = UserCenterColor.Current.White;
|
| | | frameBack.Radius = 8;
|
| | | bodyFrameLayout.AddChidren(frameBack);
|
| | |
|
| | | //手势验证控件
|
| | | var gestureControl = new PswGestureInputControl(i_GestureText);
|
| | | gestureControl.Y = Application.GetRealHeight(69);
|
| | | frameBack.AddChidren(gestureControl);
|
| | | gestureControl.InitControl();
|
| | | //添加关闭按钮
|
| | | var btnClose = gestureControl.AddCloseButton();
|
| | | btnClose.ButtonClickEvent += (sender, e) =>
|
| | | {
|
| | | this.CloseForm();
|
| | | };
|
| | | gestureControl.FinishInputEvent += (Password, pswLeng) =>
|
| | | {
|
| | | if (UserCenterResourse.Option.GestureAuthentication != Password)
|
| | | {
|
| | | UserCenterResourse.Option.PasswordGestureInputCount--;
|
| | | if (UserCenterResourse.Option.PasswordGestureInputCount <= 0)
|
| | | {
|
| | | //管理员身份验证失败,请重新登录
|
| | | string msg2 = Language.StringByID(R.MyInternationalizationString.uCheckAdministratorFailAndReload);
|
| | | this.ShowMassage(ShowMsgType.Tip, msg2);
|
| | | UserCenterLogic.ReLoginAgain(Common.Config.Instance.Account);
|
| | | return;
|
| | | }
|
| | | //密码错误,请重新输入
|
| | | gestureControl.SetErrorMsg(Language.StringByID(R.MyInternationalizationString.uOldPsswordIsError));
|
| | | return;
|
| | | }
|
| | | //重置剩余密码次数
|
| | | UserCenterResourse.Option.ResetPasswordCount();
|
| | | //界面关闭
|
| | | this.CloseForm();
|
| | | SuccessAction?.Invoke();
|
| | | SuccessAction = null;
|
| | | };
|
| | |
|
| | | //Touch ID开锁
|
| | | var btnTouch = new BottomLeftClickButton(frameBack.Width / 2, Application.GetRealHeight(127));
|
| | | frameBack.AddChidren(btnTouch);
|
| | | btnTouch.InitControl(i_TouchText);
|
| | | if (UserCenterResourse.Option.FingerprintAuthentication == false)
|
| | | {
|
| | | //没有启用Touch ID
|
| | | btnTouch.CanClick = false;
|
| | | }
|
| | | btnTouch.ButtonClickEvent += (sender, e) =>
|
| | | {
|
| | | //二次检测
|
| | | TouchIDUtils.TouchIDSupperType type = TouchIDUtils.getTouchIDSupperType();
|
| | | if (type != TouchIDUtils.TouchIDSupperType.TouchID)
|
| | | {
|
| | | return;
|
| | | }
|
| | |
|
| | | //界面关闭
|
| | | this.CloseForm();
|
| | |
|
| | | TouchIDUtils.Instance.OnHDLTouchIDStateBackEvent += (sender2, e2) =>
|
| | | {
|
| | | if (e2 == TouchIDUtils.TouchIDState.Success)
|
| | | {
|
| | | TouchIDUtils.Instance.OnHDLTouchIDStateBackEvent = null;
|
| | | //TouchID验证成功
|
| | | SuccessAction?.Invoke();
|
| | | SuccessAction = null;
|
| | | }
|
| | | else if (e2 == TouchIDUtils.TouchIDState.InputPassword)
|
| | | {
|
| | | TouchIDUtils.Instance.OnHDLTouchIDStateBackEvent = null;
|
| | |
|
| | | //密码验证
|
| | | if (string.IsNullOrEmpty(UserCenterResourse.Option.PswAuthentication) == false)
|
| | | {
|
| | | var form = new PswSecondarySecurityForm();
|
| | | this.AddFromAndRemoveNowForm(form, i_TouchText, i_PasswordText, i_GestureText, SuccessAction);
|
| | | }
|
| | | //手势验证
|
| | | else if (string.IsNullOrEmpty(UserCenterResourse.Option.GestureAuthentication) == false)
|
| | | {
|
| | | var form = new PswGestureSecirityForm();
|
| | | this.AddFromAndRemoveNowForm(form, i_TouchText, i_PasswordText, i_GestureText, SuccessAction);
|
| | | }
|
| | | else
|
| | | {
|
| | | //没有设置密码验证
|
| | | this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.uPasswordAuthenticationNotSettion));
|
| | | }
|
| | | }
|
| | | };
|
| | | TouchIDUtils.Instance.showTouchIDWithDescribe(null, null);
|
| | | };
|
| | |
|
| | | //密码开锁
|
| | | var btnPsw = new BottomRightClickButton(frameBack.Width - btnTouch.Width, btnTouch.Height);
|
| | | frameBack.AddChidren(btnPsw);
|
| | | btnPsw.InitControl(i_PasswordText);
|
| | | if (string.IsNullOrEmpty(UserCenterResourse.Option.PswAuthentication) == true)
|
| | | {
|
| | | //没有启用密码开锁
|
| | | btnPsw.CanClick = false;
|
| | | }
|
| | | btnPsw.ButtonClickEvent += (sender, e) =>
|
| | | {
|
| | | var form = new PswSecondarySecurityForm();
|
| | | this.AddFromAndRemoveNowForm(form, i_TouchText, i_PasswordText, i_GestureText, SuccessAction);
|
| | | };
|
| | | }
|
| | |
|
| | | #endregion
|
| | |
|
| | | #region ■ 界面关闭___________________________
|
| | |
|
| | | public override void CloseFormBefore()
|
| | | {
|
| | | //取消事件
|
| | | TouchIDUtils.Instance.OnHDLTouchIDStateBackEvent = null;
|
| | |
|
| | | base.CloseFormBefore();
|
| | | }
|
| | |
|
| | | #endregion
|
| | | }
|
| | | }
|
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Text; |
| | | |
| | | namespace Shared.Phone.UserCenter |
| | | { |
| | | /// <summary> |
| | | /// 手势密码验证界面 |
| | | /// </summary> |
| | | public class PswGestureSecirityForm : DialogCommonForm |
| | | { |
| | | #region ■ 变量声明___________________________ |
| | | |
| | | #endregion |
| | | |
| | | #region ■ 初始化_____________________________ |
| | | |
| | | /// <summary> |
| | | /// 画面显示(底层会固定调用此方法,借以完成画面创建) |
| | | /// </summary> |
| | | /// <param name="i_TouchText">Touch ID验证的显示文本</param> |
| | | /// <param name="i_PasswordText">密码验证的显示文本</param> |
| | | /// <param name="i_GestureText">手势验证的显示文本</param> |
| | | /// <param name="SuccessAction">验证成功后的回调函数,如果不成功,不会调用这个东西</param> |
| | | public void ShowForm(string i_TouchText, string i_PasswordText, string i_GestureText, Action SuccessAction) |
| | | { |
| | | //初始化中部信息 |
| | | this.InitMiddleFrame(i_TouchText, i_PasswordText, i_GestureText, SuccessAction); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 初始化中部信息 |
| | | /// </summary> |
| | | /// <param name="i_TouchText">Touch ID验证的显示文本</param> |
| | | /// <param name="i_PasswordText">密码验证的显示文本</param> |
| | | /// <param name="i_GestureText">手势验证的显示文本</param> |
| | | /// <param name="SuccessAction">验证成功后的回调函数,如果不成功,不会调用这个东西</param> |
| | | private void InitMiddleFrame(string i_TouchText, string i_PasswordText, string i_GestureText, Action SuccessAction) |
| | | { |
| | | var frameBack = new FrameLayout(); |
| | | frameBack.Y = Application.GetRealHeight(239); |
| | | frameBack.Gravity = Gravity.CenterHorizontal; |
| | | frameBack.Width = Application.GetRealWidth(965); |
| | | frameBack.Height = Application.GetRealHeight(1486); |
| | | frameBack.BackgroundColor = UserCenterColor.Current.White; |
| | | frameBack.Radius = (uint)Application.GetRealHeight(17); |
| | | bodyFrameLayout.AddChidren(frameBack); |
| | | |
| | | //手势验证控件 |
| | | var gestureControl = new PswGestureInputControl(i_GestureText); |
| | | gestureControl.Y = Application.GetRealHeight(69); |
| | | frameBack.AddChidren(gestureControl); |
| | | gestureControl.InitControl(); |
| | | //添加关闭按钮 |
| | | var btnClose = gestureControl.AddCloseButton(); |
| | | btnClose.ButtonClickEvent += (sender, e) => |
| | | { |
| | | this.CloseForm(); |
| | | }; |
| | | gestureControl.FinishInputEvent += (Password, pswLeng) => |
| | | { |
| | | if (UserCenterResourse.AccountOption.GestureAuthentication != Password) |
| | | { |
| | | UserCenterResourse.AccountOption.PasswordGestureInputCount--; |
| | | if (UserCenterResourse.AccountOption.PasswordGestureInputCount <= 0) |
| | | { |
| | | //管理员身份验证失败,请重新登录 |
| | | string msg2 = Language.StringByID(R.MyInternationalizationString.uCheckAdministratorFailAndReload); |
| | | this.ShowMassage(ShowMsgType.Tip, msg2); |
| | | UserCenterLogic.ReLoginAgain(Common.Config.Instance.Account); |
| | | return; |
| | | } |
| | | //密码错误,请重新输入 |
| | | gestureControl.SetErrorMsg(Language.StringByID(R.MyInternationalizationString.uOldPsswordIsError)); |
| | | return; |
| | | } |
| | | //重置剩余密码次数 |
| | | UserCenterResourse.AccountOption.ResetPasswordCount(); |
| | | //界面关闭 |
| | | this.CloseForm(); |
| | | SuccessAction?.Invoke(); |
| | | SuccessAction = null; |
| | | }; |
| | | |
| | | //Touch ID开锁 |
| | | var btnTouch = new BottomLeftClickButton(frameBack.Width / 2, Application.GetRealHeight(127)); |
| | | frameBack.AddChidren(btnTouch); |
| | | btnTouch.InitControl(i_TouchText); |
| | | if (UserCenterResourse.AccountOption.FingerprintAuthentication == false) |
| | | { |
| | | //没有启用Touch ID |
| | | btnTouch.CanClick = false; |
| | | } |
| | | btnTouch.ButtonClickEvent += (sender, e) => |
| | | { |
| | | //二次检测 |
| | | TouchIDUtils.TouchIDSupperType type = TouchIDUtils.getTouchIDSupperType(); |
| | | if (type != TouchIDUtils.TouchIDSupperType.TouchID) |
| | | { |
| | | return; |
| | | } |
| | | |
| | | //界面关闭 |
| | | this.CloseForm(); |
| | | |
| | | TouchIDUtils.Instance.OnHDLTouchIDStateBackEvent += (sender2, e2) => |
| | | { |
| | | if (e2 == TouchIDUtils.TouchIDState.Success) |
| | | { |
| | | TouchIDUtils.Instance.OnHDLTouchIDStateBackEvent = null; |
| | | //TouchID验证成功 |
| | | SuccessAction?.Invoke(); |
| | | SuccessAction = null; |
| | | } |
| | | else if (e2 == TouchIDUtils.TouchIDState.InputPassword) |
| | | { |
| | | TouchIDUtils.Instance.OnHDLTouchIDStateBackEvent = null; |
| | | |
| | | //密码验证 |
| | | if (string.IsNullOrEmpty(UserCenterResourse.AccountOption.PswAuthentication) == false) |
| | | { |
| | | var form = new PswSecondarySecurityForm(); |
| | | this.AddFromAndRemoveNowForm(form, i_TouchText, i_PasswordText, i_GestureText, SuccessAction); |
| | | } |
| | | //手势验证 |
| | | else if (string.IsNullOrEmpty(UserCenterResourse.AccountOption.GestureAuthentication) == false) |
| | | { |
| | | var form = new PswGestureSecirityForm(); |
| | | this.AddFromAndRemoveNowForm(form, i_TouchText, i_PasswordText, i_GestureText, SuccessAction); |
| | | } |
| | | else |
| | | { |
| | | //没有设置密码验证 |
| | | this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.uPasswordAuthenticationNotSettion)); |
| | | } |
| | | } |
| | | }; |
| | | TouchIDUtils.Instance.showTouchIDWithDescribe(null, null); |
| | | }; |
| | | |
| | | //密码开锁 |
| | | var btnPsw = new BottomRightClickButton(frameBack.Width - btnTouch.Width, btnTouch.Height); |
| | | frameBack.AddChidren(btnPsw); |
| | | btnPsw.InitControl(i_PasswordText); |
| | | if (string.IsNullOrEmpty(UserCenterResourse.AccountOption.PswAuthentication) == true) |
| | | { |
| | | //没有启用密码开锁 |
| | | btnPsw.CanClick = false; |
| | | } |
| | | btnPsw.ButtonClickEvent += (sender, e) => |
| | | { |
| | | var form = new PswSecondarySecurityForm(); |
| | | this.AddFromAndRemoveNowForm(form, i_TouchText, i_PasswordText, i_GestureText, SuccessAction); |
| | | }; |
| | | } |
| | | |
| | | #endregion |
| | | |
| | | #region ■ 界面关闭___________________________ |
| | | |
| | | public override void CloseFormBefore() |
| | | { |
| | | //取消事件 |
| | | TouchIDUtils.Instance.OnHDLTouchIDStateBackEvent = null; |
| | | |
| | | base.CloseFormBefore(); |
| | | } |
| | | |
| | | #endregion |
| | | } |
| | | } |