From 8b9ce384b26c414db32f98e94e088f5334869c2d Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期三, 13 十一月 2019 15:36:28 +0800
Subject: [PATCH] 全部合并了代码,安卓和 IOS 都测试通过了

---
 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlSafeguardLogic.cs |  136 ++++++++++++++++++++++++++++----------------
 1 files changed, 86 insertions(+), 50 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlSafeguardLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlSafeguardLogic.cs
index e5b8bcd..9f5fe85 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlSafeguardLogic.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlSafeguardLogic.cs
@@ -1640,22 +1640,13 @@
         /// </summary>
         public async Task<string> ShowInputUserPasswordForm()
         {
-            //鑾峰彇褰撳墠姝e湪婵�娲荤殑鐢婚潰
-            var form = UserCenterLogic.GetNowActionForm();
-            if (form == null)
-            {
-                //杩欑鎯呭喌搴旇涓嶅瓨鍦�
-                this.ShowErrorMsg("ERROR:Not Found The ActionForm!");
-                return null;
-            }
-
-            DialogInputFrameControl Dialogform = null;
+            NumberPswInputDialogForm Dialogform = null;
 
             bool isShowingProgressBar = false;
             string ProgressBarText = string.Empty;
 
             string pasword = null;
-            Application.RunOnMainThread(() =>
+            HdlThreadLogic.Current.RunMain(() =>
             {
                 isShowingProgressBar = CommonPage.Loading.Visible;
                 ProgressBarText = CommonPage.Loading.Text;
@@ -1665,21 +1656,12 @@
                     CommonPage.Loading.Hide();
                 }
 
-                Dialogform = new DialogInputFrameControl(form, DialogFrameMode.OnlyPassword);
-                //鐢ㄦ埛瀵嗙爜
-                Dialogform.SetTitleText(Language.StringByID(R.MyInternationalizationString.uSafetyPassword));
-                //璁剧疆鎻愮ず淇℃伅:璇疯緭鍏ョ敤鎴峰瘑鐮�
-                Dialogform.SetTipText(Language.StringByID(R.MyInternationalizationString.uPleaseInputUserPassword));
+                Dialogform = new NumberPswInputDialogForm();
+                Dialogform.AddForm(Language.StringByID(R.MyInternationalizationString.uPleaseInputUserPassword), 4);
                 //纭鎸夐挳
-                Dialogform.ComfirmClickEvent += ((textValue) =>
+                Dialogform.FinishInputEvent += ((textValue) =>
                 {
-                    if (textValue == string.Empty)
-                    {
-                        this.ShowErrorMsg(Language.StringByID(R.MyInternationalizationString.uPleaseInputUserPassword));
-                        return;
-                    }
-                    Dialogform.CloseDialog();
-
+                    Dialogform.CloseForm();
                     //鐢ㄦ埛瀵嗙爜
                     pasword = textValue;
                     //鍔犲瘑瀵嗙爜
@@ -1874,36 +1856,66 @@
         /// <summary>
         /// 璁剧疆鑳佽揩鐨勮仈绯讳汉鏂瑰紡
         /// </summary>
-        /// <param name="dicPhone">keys:鑱旂郴鏂瑰紡 values:鍦板尯鐮�</param>
+        /// <param name="listPhone">鍦板尯鐮�-鑱旂郴鏂瑰紡</param>
+        /// <param name="listNote">鑱旂郴浜哄娉�</param>
+        /// <param name="addPhone">鏄惁鏄柊寤鸿仈绯讳汉,false鐨勬椂鍊�,鍙敼澶囨敞</param>
         /// <returns></returns>
-        public async Task<bool> SetCoercePhoneNumber(Dictionary<string, string> dicPhone)
+        public async Task<bool> SetCoercePhoneNumber(List<string> listPhone, List<string> listNote, bool addPhone = true)
         {
-            var Pra = new Safeguard.SetCoercePhoneNumberData();
-            var Actonobj = new Safeguard.PushTargetActionObj();
-            Actonobj.Type = 2;
-            Pra.Actions.Add(Actonobj);
-            Pra.LoginToken = this.GetLoginToken();
-
-            foreach (string phoneNum in dicPhone.Keys)
+            if (addPhone == true)
             {
-                var phoneInfo = new Safeguard.PushTargetInfo();
-                Actonobj.PushTarget.Add(phoneInfo);
-                //鐢佃瘽鍙风爜
-                phoneInfo.PushNumber = dicPhone[phoneNum] + "-" + phoneNum;
-            }
+                var Pra = new Safeguard.SetCoercePhoneNumberData();
+                var Actonobj = new Safeguard.PushTargetActionObj();
+                Actonobj.Type = 2;
+                Pra.Actions.Add(Actonobj);
+                Pra.LoginToken = this.GetLoginToken();
 
-            var result = await Safeguard.SetCoercePhoneNumberAsync(Pra);
-            if (result == null || result.setCoercePhoneNumberResponseData == null || result.setCoercePhoneNumberResponseData.Result != 0)
+                for (int i = 0; i < listPhone.Count; i++)
+                {
+                    var phoneInfo = new Safeguard.PushTargetInfo();
+                    Actonobj.PushTarget.Add(phoneInfo);
+                    //鐢佃瘽鍙风爜
+                    phoneInfo.PushNumber = listPhone[i];
+                }
+                var result = await Safeguard.SetCoercePhoneNumberAsync(Pra);
+                if (result == null || result.setCoercePhoneNumberResponseData == null || result.setCoercePhoneNumberResponseData.Result != 0)
+                {
+                    //淇敼鑳佽揩鑱旂郴鏂瑰紡澶辫触
+                    string msg = Language.StringByID(R.MyInternationalizationString.uChangedCoercePhoneNumberFail);
+                    //鎷兼帴涓娿�愮綉鍏冲洖澶嶈秴鏃躲�戠殑Msg
+                    msg = UserCenterLogic.CombineGatewayTimeOutMsg(msg, result);
+
+                    this.ShowErrorMsg(msg);
+                    return false;
+                }
+            }
+            for (int i = 0; i < listNote.Count; i++)
             {
-                //淇敼鑳佽揩鑱旂郴鏂瑰紡澶辫触
-                string msg = Language.StringByID(R.MyInternationalizationString.uChangedCoercePhoneNumberFail);
-                //鎷兼帴涓娿�愮綉鍏冲洖澶嶈秴鏃躲�戠殑Msg
-                msg = UserCenterLogic.CombineGatewayTimeOutMsg(msg, result);
-
-                this.ShowErrorMsg(msg);
-                return false;
+                var result = await Safeguard.SetCoercePhoneNumberNoteAsync(listPhone[i], listNote[i]);
+                if (result == null)
+                {
+                    //淇敼澶囨敞淇℃伅澶辫触
+                    string msg = Language.StringByID(R.MyInternationalizationString.uEditorNoteInformationFail);
+                    //鎷兼帴涓娿�愮綉鍏冲洖澶嶈秴鏃躲�戠殑Msg
+                    msg = UserCenterLogic.CombineGatewayTimeOutMsg(msg, null, "鍥炲瓒呮椂");
+                    this.ShowErrorMsg(msg);
+                    return false;
+                }
+                if (result.Result == -2)
+                {
+                    //閿欒:缃戝叧瀵硅薄涓㈠け
+                    string msg = Language.StringByID(R.MyInternationalizationString.uErrorGatewayLostMsg);
+                    this.ShowErrorMsg(msg);
+                    return false;
+                }
+                if (result.Result != 0)
+                {
+                    //淇敼澶囨敞淇℃伅澶辫触
+                    string msg = Language.StringByID(R.MyInternationalizationString.uEditorNoteInformationFail);
+                    this.ShowErrorMsg(msg);
+                    return false;
+                }
             }
-
             return true;
         }
 
@@ -1939,6 +1951,29 @@
             }
 
             return true;
+        }
+
+        /// <summary>
+        /// 缁欒仈绯诲彿鐮佹坊鍔犲娉ㄧ殑淇℃伅
+        /// </summary>
+        private class AddPushNumberNoteInfo
+        {
+            /// <summary>
+            /// 鍥哄畾253
+            /// </summary>
+            public int ActionType = 253;
+            /// <summary>
+            /// LoginToken
+            /// </summary>
+            public string LoginToken = string.Empty;
+            /// <summary>
+            /// 鍦板尯鐮�-鑱旂郴鏂瑰紡
+            /// </summary>
+            public string PushNumber = string.Empty;
+            /// <summary>
+            /// 鑱旂郴浜哄彿鐮佸娉紝鏈�澶�63byte
+            /// </summary>
+            public string PushNumberNote = string.Empty;
         }
 
         #endregion
@@ -2201,10 +2236,11 @@
         /// 鑾峰彇鐧婚檰鑰呯殑Token(濂藉儚绠$悊鍛樼櫥闄嗙殑鏃跺��,闇�瑕佸彉鏇碩oken,鎵�浠ユ殏涓斿畾涔変竴涓嚱鏁板嚭鏉�)
         /// </summary>
         /// <returns></returns>
-        private string GetLoginToken()
+        public string GetLoginToken()
         {
             //鑾峰彇鎺у埗涓讳汉璐﹀彿鐨凾oken
-            return UserCenterLogic.GetConnectMainToken();
+            //return UserCenterLogic.GetConnectMainToken();
+            return Config.Instance.Token;
         }
 
         #endregion

--
Gitblit v1.8.0