using System; using Shared.IOS.TBL; namespace Shared { public class TouchIDUtils { public enum TouchIDSupperType { TouchID, FaceID, None } public enum TouchIDState { NotSupport, Success, Fail, InputPassword, TouchIDLockout } public static TouchIDSupperType getTouchIDSupperType() { TouchIDSupperType type = TouchIDSupperType.None; HDLTouchIDSupperType mHDLTouchIDSupperType = HDLTouchID.SharedInstance.HDL_canSupperBiometrics; if (mHDLTouchIDSupperType == HDLTouchIDSupperType.TouchID) { type = TouchIDSupperType.TouchID; } else if (mHDLTouchIDSupperType == HDLTouchIDSupperType.FaceID) { type = TouchIDSupperType.FaceID; } else { type = TouchIDSupperType.None; } return type; } public EventHandler OnHDLTouchIDStateBackEvent; //StateBlock mStateBlock; /// /// 弹窗指纹验证 descTitle:输入密码验证按钮标题 mLocalizedReason:Touch显示的描述 /// /// descTitle:输入密码验证按钮标题 mLocalizedReason:Touch显示的描述 public void showTouchIDWithDescribe(string descTitle, string mLocalizedReason) { if(descTitle == null) { descTitle = "输入密码验证"; } if (mLocalizedReason == null) { mLocalizedReason = "通过Home键验证已有指纹"; } HDLTouchID.SharedInstance.HDL_showTouchIDWithDescribe(descTitle, mLocalizedReason, (mState, mError) => { if (mState == HDLTouchIDState.NotSupport) { OnHDLTouchIDStateBackEvent?.Invoke(this, TouchIDState.NotSupport); } else if (mState == HDLTouchIDState.Success) { OnHDLTouchIDStateBackEvent?.Invoke(this, TouchIDState.Success); } else if (mState == HDLTouchIDState.InputPassword) { OnHDLTouchIDStateBackEvent?.Invoke(this, TouchIDState.InputPassword); } else if (mState == HDLTouchIDState.TouchIDLockout) { OnHDLTouchIDStateBackEvent?.Invoke(this, TouchIDState.TouchIDLockout); } }); } // 单例 static TouchIDUtils ourInstance = new TouchIDUtils(); public static TouchIDUtils Instance { get { return ourInstance; } } } }