From 351bdda734832d821a9764b0cde8be5d83c4ec50 Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期四, 01 十二月 2022 09:56:25 +0800
Subject: [PATCH] 2022年12月01日09:56:23
---
ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/PswSecondarySecurityForm.cs | 177 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 177 insertions(+), 0 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/PswSecondarySecurityForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/PswSecondarySecurityForm.cs
new file mode 100644
index 0000000..024a7a4
--- /dev/null
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/PswSecondarySecurityForm.cs
@@ -0,0 +1,177 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Shared.Phone.UserCenter
+{
+ /// <summary>
+ /// 浜屾瀵嗙爜楠岃瘉鐣岄潰
+ /// </summary>
+ public class PswSecondarySecurityForm : 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(101);
+ frameBack.Gravity = Gravity.CenterHorizontal;
+ frameBack.Width = Application.GetRealWidth(965);
+ frameBack.Height = Application.GetRealHeight(1711);
+ frameBack.BackgroundColor = UserCenterColor.Current.White;
+ frameBack.Radius = (uint)Application.GetRealHeight(17);
+ bodyFrameLayout.AddChidren(frameBack);
+
+ //瀵嗙爜杈撳叆鎺т欢
+ var pswControl = new PswNumberInputControl(i_PasswordText, 4);
+ pswControl.Gravity = Gravity.CenterHorizontal;
+ pswControl.Y = Application.GetRealHeight(81);
+ frameBack.AddChidren(pswControl);
+ pswControl.InitControl();
+ //鏀瑰彉鍒犻櫎鎸夐挳鐨勫潗鏍�
+ pswControl.ChangedDeleteButtonPoint(-1, pswControl.Height, false);
+ //娣诲姞鍏抽棴鎸夐挳
+ var btnClose = pswControl.AddCloseButton();
+ btnClose.ButtonClickEvent += (sender, e) =>
+ {
+ this.CloseForm();
+ };
+ pswControl.FinishInputEvent += (strPsw) =>
+ {
+ if (UserCenterResourse.AccountOption.PswAuthentication != strPsw)
+ {
+ UserCenterResourse.AccountOption.PasswordInputCount--;
+ if (UserCenterResourse.AccountOption.PasswordInputCount <= 0)
+ {
+ //绠$悊鍛樿韩浠介獙璇佸け璐�,璇烽噸鏂扮櫥褰�
+ string msg2 = Language.StringByID(R.MyInternationalizationString.uCheckAdministratorFailAndReload);
+ this.ShowMassage(ShowMsgType.Tip, msg2);
+ UserCenterLogic.ReLoginAgain(Common.Config.Instance.Account);
+ return;
+ }
+ //瀵嗙爜閿欒锛岃閲嶆柊杈撳叆
+ pswControl.SetErrorMsg(Language.StringByID(R.MyInternationalizationString.uOldPsswordIsError));
+ return;
+ }
+ //閲嶇疆鍓╀綑瀵嗙爜娆℃暟
+ UserCenterResourse.AccountOption.ResetPasswordCount();
+ //鐣岄潰鍏抽棴
+ this.CloseForm();
+ SuccessAction?.Invoke();
+ SuccessAction = null;
+ };
+
+ //鎵嬪娍寮�閿�
+ var btnGesture = new BottomLeftClickButton(frameBack.Width / 2, Application.GetRealHeight(127));
+ frameBack.AddChidren(btnGesture);
+ btnGesture.InitControl(i_GestureText);
+ if (string.IsNullOrEmpty(UserCenterResourse.AccountOption.GestureAuthentication) == true)
+ {
+ //娌℃湁鍚敤鎵嬪娍寮�閿�
+ btnGesture.CanClick = false;
+ }
+
+ btnGesture.ButtonClickEvent += (sender, e) =>
+ {
+ var form = new PswGestureSecirityForm();
+ this.AddFromAndRemoveNowForm(form, i_TouchText, i_PasswordText, i_GestureText, SuccessAction);
+ };
+
+ //Touch ID寮�閿�
+ var btnTouch = new BottomRightClickButton(frameBack.Width - btnGesture.Width, btnGesture.Height);
+ 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);
+ };
+ }
+
+ #endregion
+
+ #region 鈻� 鐣岄潰鍏抽棴___________________________
+
+ public override void CloseFormBefore()
+ {
+ //鍙栨秷浜嬩欢
+ TouchIDUtils.Instance.OnHDLTouchIDStateBackEvent = null;
+
+ base.CloseFormBefore();
+ }
+
+ #endregion
+ }
+}
--
Gitblit v1.8.0