From 25429f085093d89d543a0b90e30d0d62d1b7dac9 Mon Sep 17 00:00:00 2001
From: hxb <hxb@hdlchina.com.cn>
Date: 星期二, 30 八月 2022 09:37:38 +0800
Subject: [PATCH] 合并了IOS的代码

---
 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlCheckLogic.cs |  625 +++++++++++++++++++++++++++++---------------------------
 1 files changed, 321 insertions(+), 304 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlCheckLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlCheckLogic.cs
old mode 100755
new mode 100644
index 5252653..b4fab42
--- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlCheckLogic.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlCheckLogic.cs
@@ -1,304 +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);
-            }
-        }
-
-        #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)
-            {
-                //鍗忚皟鍣ㄦ鍦ㄥ崌绾ф垨澶囦唤鎴栨仮澶嶆暟鎹腑
-                string msg = Language.StringByID(R.MyInternationalizationString.uCoordinatorIsUpOrBackupOrRecovering);
-            }
-            else if (errorCode == 3)
-            {
-                //鐩爣璁惧涓嶅瓨鍦�
-                string msg = Language.StringByID(R.MyInternationalizationString.uTargetDeviceIsNotExsit);
-            }
-            else if (errorCode == 4)
-            {
-                //鍑虹幇鏈煡閿欒,璇风◢鍚庡啀璇�
-                string msg = Language.StringByID(R.MyInternationalizationString.uUnKnowErrorAndResetAgain);
-            }
-            else if (errorCode == 5)
-            {
-                //鏁版嵁浼犺緭閿欒,璇风◢鍚庡啀璇�
-                string msg = 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
-    }
-}
+锘縰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