From dfcb2a1844fd55b57bae23e290b30ec6380e8508 Mon Sep 17 00:00:00 2001
From: chenqiyang <1406175257@qq.com>
Date: 星期五, 26 八月 2022 15:04:22 +0800
Subject: [PATCH] 更新全视通dll
---
ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlCheckLogic.cs | 321 +++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 321 insertions(+), 0 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlCheckLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlCheckLogic.cs
new file mode 100644
index 0000000..b4fab42
--- /dev/null
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlCheckLogic.cs
@@ -0,0 +1,321 @@
+锘縰sing Shared.Common;
+using System;
+using System.Collections.Generic;
+using System.Text;
+using System.Text.RegularExpressions;
+
+namespace Shared.Phone.UserCenter
+{
+ public class HdlCheckLogic
+ {
+ #region 鈻� 鍙橀噺澹版槑___________________________
+
+ /// <summary>
+ /// 涓汉涓績鐨勬娴嬮�昏緫
+ /// </summary>
+ private static HdlCheckLogic m_Current = null;
+ /// <summary>
+ /// 涓汉涓績鐨勬娴嬮�昏緫
+ /// </summary>
+ public static HdlCheckLogic Current
+ {
+ get
+ {
+ if (m_Current == null)
+ {
+ m_Current = new HdlCheckLogic();
+ }
+ return m_Current;
+ }
+ }
+
+ #endregion
+
+ #region 鈻� 鍚勭姝g‘妫�娴媉______________________
+
+ /// <summary>
+ /// 鍒ゆ柇鏄惁鍖呭惈澶у啓瀛楁瘝
+ /// </summary>
+ /// <returns><c>true</c>, if contain upper was checked, <c>false</c> otherwise.</returns>
+ /// <param name="value">Value.</param>
+ public bool CheckContainUpper(string value)
+ {
+ Regex reg = new Regex("[A-Z]+");
+ return reg.IsMatch(value);
+ }
+
+ /// <summary>
+ /// 鍒ゆ柇鏄惁鍖呭惈灏忓啓瀛楁瘝
+ /// </summary>
+ /// <returns><c>true</c>, if contain lower was checked, <c>false</c> otherwise.</returns>
+ /// <param name="value">Value.</param>
+ public bool CheckContainLower(string value)
+ {
+ Regex reg = new Regex("[a-z]+");
+ return reg.IsMatch(value);
+ }
+
+ /// <summary>
+ /// 鍒ゆ柇鏄惁鍖呭惈鏁板瓧
+ /// </summary>
+ /// <returns><c>true</c>, if contain lower was checked, <c>false</c> otherwise.</returns>
+ /// <param name="value">Value.</param>
+ public bool CheckContainNum(string value)
+ {
+ Regex reg = new Regex("[0-9]+");
+ return reg.IsMatch(value);
+ }
+
+ /// <summary>
+ /// 鍒ゆ柇鏄惁鍖呭惈绗﹀彿
+ /// </summary>
+ /// <returns><c>true</c>, if contain lower was checked, <c>false</c> otherwise.</returns>
+ /// <param name="value">Value.</param>
+ public bool CheckContainSymbol(string value)
+ {
+ Regex reg = new Regex("([^a-z0-9A-Z])+");
+ return reg.IsMatch(value);
+ }
+
+ /// <summary>
+ /// 妫�娴嬮偖绠辨槸鍚﹀悎娉�
+ /// </summary>
+ /// <param name="email"></param>
+ /// <returns></returns>
+ public bool CheckEmail(string email)
+ {
+ Regex reg = new Regex(CommonPage.EmailRegexStr);
+ return reg.IsMatch(email);
+ }
+
+ /// <summary>
+ /// 妫�娴嬫墜鏈哄彿鏄惁鍚堟硶
+ /// </summary>
+ /// <param name="phoneNumber">鎵嬫満鍙�</param>
+ /// <param name="areaCode">鍦板尯浠g爜</param>
+ /// <returns></returns>
+ public bool CheckPhoneNumber(string phoneNumber, string areaCode)
+ {
+ //鏍¢獙澶栧浗鎵嬫満鍙�
+ if (areaCode != "86")
+ {
+ Regex reg = new Regex(CommonPage.PhoneForForeignRegexStr);
+ return reg.IsMatch(phoneNumber);
+ }
+
+ //鏍¢獙鍥藉唴鎵嬫満鍙�
+ if (phoneNumber.Length > 11)
+ {
+ return false;
+ }
+ else if (phoneNumber.Length == 11)
+ {
+ Regex reg = new Regex(CommonPage.PhoneRegexStr);
+ return reg.IsMatch(phoneNumber);
+ }
+ else
+ {
+ //姝e垯琛ㄨ揪寮忓垽鏂槸鍚︽暟瀛�
+ Regex reg = new Regex("^[0-9]*$");
+ return reg.IsMatch(phoneNumber);
+ }
+ }
+
+ /// <summary>
+ /// 妫�娴嬪瓧绗︿覆鏄惁鏄函鏁板瓧
+ /// </summary>
+ /// <param name="i_text"></param>
+ /// <returns></returns>
+ public bool CheckIsNumber(string i_text)
+ {
+ foreach (var c in i_text)
+ {
+ if (char.IsNumber(c) == false)
+ {
+ return false;
+ }
+ }
+ return true;
+ }
+
+ #endregion
+
+ #region 鈻� 妫�娴嬬綉鍏冲叡閫氶敊璇姸鎬佺爜_____________
+
+ /// <summary>
+ /// <para>妫�娴嬬綉鍏宠繑鍥炵殑鍏遍�氶敊璇姸鎬佺爜(杩斿洖null鍒欎唬琛ㄦ病鏈夐敊璇�),鏀寔鐘舵�佺爜涓�</para>
+ /// <para>1锛氱綉鍏虫棤娉曡В鏋愬懡浠ゆ暟鎹��</para>
+ /// <para>2锛氬崗璋冨櫒姝e湪鍗囩骇鎴栧浠�/鎭㈠鏁版嵁</para>
+ /// <para>3锛氭搷浣滆澶�/缁�/鍦烘櫙涓嶅瓨鍦�</para>
+ /// <para>4锛氬叾浠栭敊璇�</para>
+ /// <para>5锛氭暟鎹紶杈撻敊璇紙鍦ㄦ煇娆″鎴风鍚戠綉鍏冲彂閫佹暟鎹殑杩囩▼涓紝缃戝叧鍦ㄥ悎鐞嗘椂闂磋寖鍥村唴鎺ユ敹瀹㈡埛绔暟鎹笉瀹屾暣瀵艰嚧璇ラ敊璇彂鐢熴�傚瀹㈡埛绔悜缃戝叧涓�娆″彂閫�100涓瓧鑺傜殑鏁版嵁锛屼絾缃戝叧绛夊緟鎺ユ敹浜嗕竴绉掑彧鎺ユ敹浜�80涓瓧鑺傘�傚彂鐢熻閿欒锛岀綉鍏冲皢涓诲姩鍏抽棴瀹㈡埛绔繛鎺ワ級</para>
+ /// </summary>
+ /// <param name="resultData">缃戝叧杩斿洖鐨剅esultData,閲岄潰鏈夈�恊rrorResponData銆戣繖涓笢瑗跨殑閭g瀵硅薄</param>
+ /// <returns></returns>
+ public string CheckCommonErrorCode(object resultData)
+ {
+ if (resultData == null)
+ {
+ return null;
+ }
+ Type myType = resultData.GetType();
+ object errorObj = myType.InvokeMember("errorResponData", System.Reflection.BindingFlags.GetField, null, resultData, null);
+ if (errorObj == null)
+ {
+ return null;
+ }
+ Type type = errorObj.GetType();
+ var code = type.InvokeMember("Error", System.Reflection.BindingFlags.GetField, null, errorObj, null);
+ int errorCode = Convert.ToInt32(code);
+
+ return CheckCommonErrorCode(errorCode);
+ }
+
+ /// <summary>
+ /// <para>妫�娴嬬綉鍏宠繑鍥炵殑鍏遍�氶敊璇姸鎬佺爜(杩斿洖null鍒欎唬琛ㄦ病鏈夐敊璇�),鏀寔鐘舵�佺爜涓�</para>
+ /// <para>1锛氱綉鍏虫棤娉曡В鏋愬懡浠ゆ暟鎹��</para>
+ /// <para>2锛氬崗璋冨櫒姝e湪鍗囩骇鎴栧浠�/鎭㈠鏁版嵁</para>
+ /// <para>3锛氭搷浣滆澶�/缁�/鍦烘櫙涓嶅瓨鍦�</para>
+ /// <para>4锛氬叾浠栭敊璇�</para>
+ /// <para>5锛氭暟鎹紶杈撻敊璇紙鍦ㄦ煇娆″鎴风鍚戠綉鍏冲彂閫佹暟鎹殑杩囩▼涓紝缃戝叧鍦ㄥ悎鐞嗘椂闂磋寖鍥村唴鎺ユ敹瀹㈡埛绔暟鎹笉瀹屾暣瀵艰嚧璇ラ敊璇彂鐢熴�傚瀹㈡埛绔悜缃戝叧涓�娆″彂閫�100涓瓧鑺傜殑鏁版嵁锛屼絾缃戝叧绛夊緟鎺ユ敹浜嗕竴绉掑彧鎺ユ敹浜�80涓瓧鑺傘�傚彂鐢熻閿欒锛岀綉鍏冲皢涓诲姩鍏抽棴瀹㈡埛绔繛鎺ワ級</para>
+ /// </summary>
+ /// <param name="errorCode">閿欒浠g爜</param>
+ /// <returns></returns>
+ public string CheckCommonErrorCode(int errorCode)
+ {
+ if (errorCode == 1)
+ {
+ //缃戝叧鏃犳硶瑙f瀽鍛戒护鏁版嵁
+ return Language.StringByID(R.MyInternationalizationString.uGatewayCannotResolveCommand);
+ }
+ else if (errorCode == 2)
+ {
+ //鍗忚皟鍣ㄦ鍦ㄥ崌绾ф垨澶囦唤鎴栨仮澶嶆暟鎹腑
+ return Language.StringByID(R.MyInternationalizationString.uCoordinatorIsUpOrBackupOrRecovering);
+ }
+ else if (errorCode == 3)
+ {
+ //鐩爣璁惧涓嶅瓨鍦�
+ return Language.StringByID(R.MyInternationalizationString.uTargetDeviceIsNotExsit);
+ }
+ else if (errorCode == 4)
+ {
+ //鍑虹幇鏈煡閿欒,璇风◢鍚庡啀璇�
+ return Language.StringByID(R.MyInternationalizationString.uUnKnowErrorAndResetAgain);
+ }
+ else if (errorCode == 5)
+ {
+ //鏁版嵁浼犺緭閿欒,璇风◢鍚庡啀璇�
+ return Language.StringByID(R.MyInternationalizationString.uDataTransmissionFailAndResetAgain);
+ }
+ return null;
+ }
+
+ #endregion
+
+ #region 鈻� 妫�娴嬭处鍙锋槸鍚﹀凡缁忛��鍑篲______________
+
+ /// <summary>
+ /// 妫�娴嬭处鍙锋槸鍚﹀凡缁忛��鍑� true:宸茬粡閫�鍑� false:娌℃湁閫�鍑�
+ /// </summary>
+ /// <returns></returns>
+ public bool IsAccountLoginOut()
+ {
+ return Config.Instance.HomeId == string.Empty;
+ }
+
+ #endregion
+
+ #region 鈻� 浜屾瀹夊叏楠岃瘉_______________________
+
+ /// <summary>
+ /// 鎵ц浜屾瀹夊叏楠岃瘉(涓夌楠岃瘉鐨勬爣棰樹娇鐢ㄩ粯璁ゅ�硷細Touch ID楠岃瘉,瀵嗙爜楠岃瘉,鎵嬪娍楠岃瘉)
+ /// </summary>
+ /// <param name="SuccessAction">濡傛灉璁剧疆鏈夐獙璇佹柟寮�,骞朵笖楠岃瘉鎴愬姛鍚庢墠浼氳皟鐢ㄧ殑鍥炶皟鍑芥暟,涓嶇劧涓嶄細璋冪敤杩欎釜涓滆タ</param>
+ /// <param name="NotSettionAction">濡傛灉瀹屽叏娌℃湁璁剧疆鏈夐獙璇佹柟寮�,鎵嶄細璋冪敤鐨勫洖璋冨嚱鏁�,涓嶇劧涓嶄細璋冪敤杩欎釜涓滆タ(鍙栨秷杈撳叆涓嶄細璋冪敤杩欎釜涓滆タ)</param>
+ public void CheckSecondarySecurity(Action SuccessAction, Action NotSettionAction = null)
+ {
+ CheckSecondarySecurity(
+ Language.StringByID(R.MyInternationalizationString.uTouchIDCheck),
+ Language.StringByID(R.MyInternationalizationString.uPasswordAuthentication),
+ Language.StringByID(R.MyInternationalizationString.uGestureAuthentication),
+ SuccessAction, NotSettionAction);
+ }
+
+ /// <summary>
+ /// 鎵ц浜屾瀹夊叏楠岃瘉
+ /// </summary>
+ /// <param name="i_TouchText">Touch ID楠岃瘉鐨勬樉绀烘枃鏈�</param>
+ /// <param name="i_PasswordText">瀵嗙爜楠岃瘉鐨勬樉绀烘枃鏈�</param>
+ /// <param name="i_GestureText">鎵嬪娍楠岃瘉鐨勬樉绀烘枃鏈�</param>
+ /// <param name="SuccessAction">濡傛灉璁剧疆鏈夐獙璇佹柟寮�,骞朵笖楠岃瘉鎴愬姛鍚庢墠浼氳皟鐢ㄧ殑鍥炶皟鍑芥暟,涓嶇劧涓嶄細璋冪敤杩欎釜涓滆タ</param>
+ /// <param name="NotSettionAction">濡傛灉瀹屽叏娌℃湁璁剧疆鏈夐獙璇佹柟寮�,鎵嶄細璋冪敤鐨勫洖璋冨嚱鏁�,涓嶇劧涓嶄細璋冪敤杩欎釜涓滆タ(鍙栨秷杈撳叆涓嶄細璋冪敤杩欎釜涓滆タ)</param>
+ public void CheckSecondarySecurity(string i_TouchText, string i_PasswordText, string i_GestureText, Action SuccessAction, Action NotSettionAction = null)
+ {
+ //鍏堟妸杩欎釜涓滆タ缃┖
+ TouchIDUtils.Instance.OnHDLTouchIDStateBackEvent = null;
+
+ TouchIDUtils.TouchIDSupperType type = TouchIDUtils.getTouchIDSupperType();
+ if (type == TouchIDUtils.TouchIDSupperType.TouchID && UserCenterResourse.AccountOption.FingerprintAuthentication == true)
+ {
+ //Touch ID楠岃瘉
+ TouchIDUtils.Instance.OnHDLTouchIDStateBackEvent += (sender2, e2) =>
+ {
+ if (e2 == TouchIDUtils.TouchIDState.Success)
+ {
+ //TouchID楠岃瘉鎴愬姛
+ SuccessAction?.Invoke();
+ SuccessAction = null;
+ TouchIDUtils.Instance.OnHDLTouchIDStateBackEvent = null;
+ }
+ else if (e2 == TouchIDUtils.TouchIDState.InputPassword)
+ {
+ //瀵嗙爜楠岃瘉
+ if (string.IsNullOrEmpty(UserCenterResourse.AccountOption.PswAuthentication) == false)
+ {
+ var form = new PswSecondarySecurityForm();
+ form.AddForm(i_TouchText, i_PasswordText, i_GestureText, SuccessAction);
+ }
+ //鎵嬪娍楠岃瘉
+ else if (string.IsNullOrEmpty(UserCenterResourse.AccountOption.GestureAuthentication) == false)
+ {
+ var form = new PswGestureSecirityForm();
+ form.AddForm(i_TouchText, i_PasswordText, i_GestureText, SuccessAction);
+ }
+ else
+ {
+ //娌℃湁璁剧疆瀵嗙爜楠岃瘉
+ var alert = new ShowMsgControl(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.uPasswordAuthenticationNotSettion));
+ alert.Show();
+ }
+ }
+ };
+ TouchIDUtils.Instance.showTouchIDWithDescribe(null, null);
+ NotSettionAction = null;
+ }
+ else if (string.IsNullOrEmpty(UserCenterResourse.AccountOption.PswAuthentication) == false)
+ {
+ //瀵嗙爜楠岃瘉
+ var form = new PswSecondarySecurityForm();
+ form.AddForm(i_TouchText, i_PasswordText, i_GestureText, SuccessAction);
+ NotSettionAction = null;
+ }
+ else if (string.IsNullOrEmpty(UserCenterResourse.AccountOption.GestureAuthentication) == false)
+ {
+ //鎵嬪娍楠岃瘉
+ var form = new PswGestureSecirityForm();
+ form.AddForm(i_TouchText, i_PasswordText, i_GestureText, SuccessAction);
+ NotSettionAction = null;
+ }
+ else
+ {
+ //瀹屽叏娌℃湁璁剧疆鏈変换浣曢獙璇佹柟寮�
+ SuccessAction = null;
+ NotSettionAction?.Invoke();
+ NotSettionAction = null;
+ }
+ }
+
+ #endregion
+ }
+}
--
Gitblit v1.8.0