From 9a4b76398009cf76c508d61f7e48fb6f5cb7ac2d Mon Sep 17 00:00:00 2001
From: xm <1271024303@qq.com>
Date: 星期二, 21 七月 2020 09:46:53 +0800
Subject: [PATCH] 请合并最新多功能面板代码

---
 ZigbeeApp/Shared/Phone/UserCenter/Safety/PasswordAddNewForm.cs |  164 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 164 insertions(+), 0 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Safety/PasswordAddNewForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Safety/PasswordAddNewForm.cs
new file mode 100755
index 0000000..6fb528b
--- /dev/null
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Safety/PasswordAddNewForm.cs
@@ -0,0 +1,164 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Shared.Phone.UserCenter.Safety
+{
+    /// <summary>
+    /// 鏂板缓鐢ㄦ埛瀵嗙爜鐨勭敾闈�
+    /// </summary>
+    public class PasswordAddNewForm : EditorCommonForm
+    {
+        #region 鈻� 鍙橀噺澹版槑___________________________
+
+        /// <summary>
+        /// 瀵嗙爜鏀瑰彉浜嬩欢
+        /// </summary>
+        public Action<string> PasswordChangedEvent = null;
+        /// <summary>
+        /// 鐢ㄦ埛璐﹀彿
+        /// </summary>
+        private int pswNo = 0;
+        /// <summary>
+        /// 绗竴涓瘑鐮�
+        /// </summary>
+        private string firstPsw = string.Empty;
+        /// <summary>
+        /// 瀵嗙爜杈撳叆鎺т欢
+        /// </summary>
+        private PswNumberInputControl pswControl = null;
+
+        #endregion
+
+        #region 鈻� 鍒濆鍖朹____________________________
+
+        /// <summary>
+        /// 鐢婚潰鏄剧ず(搴曞眰浼氬浐瀹氳皟鐢ㄦ鏂规硶锛屽�熶互瀹屾垚鐢婚潰鍒涘缓)
+        /// </summary>
+        /// <param name="i_pswNo">鐢ㄦ埛璐﹀彿</param>
+        /// <param name="i_titleText">澶撮儴鏍囬淇℃伅</param>
+        public void ShowForm(int i_pswNo, string i_titleText)
+        {
+            this.pswNo = i_pswNo;
+            //璁剧疆澶撮儴淇℃伅
+            base.SetTitleText(i_titleText);
+
+            //鍒濆鍖栦腑閮ㄤ俊鎭�
+            this.InitMiddleFrame(i_titleText);
+        }
+
+        /// <summary>
+        /// 鍒濆鍖栦腑閮ㄤ俊鎭�
+        /// </summary>
+        /// <param name="i_titleText">澶撮儴鏍囬淇℃伅</param>
+        private void InitMiddleFrame(string i_titleText)
+        {
+            //娓呯┖bodyFrame
+            this.ClearBodyFrame();
+
+            //璇疯緭鍏ユ柊瀹夐槻瀵嗙爜
+            pswControl = new PswNumberInputControl(Language.StringByID(R.MyInternationalizationString.uPleaseInputNewSafetyPassword), 4);
+            pswControl.NumberIconBackColor = UserCenterColor.Current.White;
+            pswControl.Gravity = Gravity.CenterHorizontal;
+            pswControl.Y = Application.GetRealHeight(102);
+            bodyFrameLayout.AddChidren(pswControl);
+            pswControl.InitControl();
+
+            pswControl.FinishInputEvent += (pssword) =>
+            {
+                if (firstPsw != string.Empty)
+                {
+                    //妫�娴嬪瘑鐮�
+                    string msg = this.CheckPassword(firstPsw, pssword);
+                    if (msg != string.Empty)
+                    {
+                        //璁剧疆閿欒淇℃伅
+                        pswControl.SetErrorMsg(msg);
+                        return;
+                    }
+                    //鎵ц淇敼鐢ㄦ埛瀵嗙爜
+                    this.ChangedAdminPassword(firstPsw, i_titleText);
+                }
+                else
+                {
+                    firstPsw = pssword;
+                    //璇烽噸澶嶈緭鍏ユ柊瀹夐槻瀵嗙爜
+                    pswControl.ResetControlInfo(Language.StringByID(R.MyInternationalizationString.uPleaseRepeatInputNewSafetyPassword));
+                }
+            };
+        }
+
+        #endregion
+
+        #region 鈻� 淇敼瀵嗙爜___________________________
+
+        /// <summary>
+        /// 鎵ц淇敼鐢ㄦ埛瀵嗙爜
+        /// </summary>
+        /// <param name="pswValue1">鏂板瘑鐮�</param>
+        private async void ChangedAdminPassword(string pswValue1, string i_titleText)
+        {
+            //鎵ц淇敼
+            bool result = await HdlSafeguardLogic.Current.ChangedUserPassword(this.pswNo, pswValue1, string.Empty);
+            if (result == false)
+            {
+                firstPsw = string.Empty;
+                //璇疯緭鍏ユ柊瀹夐槻瀵嗙爜
+                pswControl.ResetControlInfo(Language.StringByID(R.MyInternationalizationString.uPleaseInputNewSafetyPassword));
+
+                return;
+            }
+
+            //瀹夐槻瀵嗙爜璁剧疆鎴愬姛
+            string msg = Language.StringByID(R.MyInternationalizationString.uSetSafetyPasswordSuccess);
+            this.ShowMassage(ShowMsgType.Tip, msg);
+
+            //鐣岄潰鐩存帴鍏抽棴
+            this.CloseForm();
+
+            if (UserCenterResourse.DicActionForm.ContainsKey("PasswordUserEditorForm") == false)
+            {
+                var form = new PasswordUserEditorForm();
+                form.AddForm(this.pswNo, pswValue1, i_titleText);
+            }
+            else
+            {
+                //鍥炶皟鍑芥暟
+                this.PasswordChangedEvent?.Invoke(pswValue1);
+                this.PasswordChangedEvent = null;
+
+            }
+        }
+
+        #endregion
+
+        #region 鈻� 涓�鑸柟娉昣__________________________
+
+        /// <summary>
+        /// 瀵嗙爜妫�鏌ワ紝杩斿洖閿欒淇℃伅锛屾棤閿欒淇℃伅(绌哄瓧绗︿覆)鍒欒〃绀烘垚鍔�
+        /// </summary>
+        /// <param name="pswValue1"></param>
+        /// <param name="pswValue2"></param>
+        /// <returns></returns>
+        private string CheckPassword(string pswValue1, string pswValue2)
+        {
+            if (pswValue1 == string.Empty)
+            {
+                //璇疯緭鍏ユ柊瀵嗙爜
+                return Language.StringByID(R.MyInternationalizationString.uPleaseInputNewPassword);
+            }
+            if (pswValue2 == string.Empty)
+            {
+                //璇疯緭鍏ョ‘璁ゅ瘑鐮�
+                return Language.StringByID(R.MyInternationalizationString.PleaseInputConfirmPsw);
+            }
+            if (pswValue1 != pswValue2)
+            {
+                //涓ゆ杈撳叆鐨勫瘑鐮佷笉涓�鑷�
+                return Language.StringByID(R.MyInternationalizationString.SecondPswNotEqual1);
+            }
+            return string.Empty;
+        }
+        #endregion
+    }
+}

--
Gitblit v1.8.0