From 0d9f64668fd7350d6a21fd157e32009a96d98134 Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期三, 16 十二月 2020 13:09:08 +0800
Subject: [PATCH] 新云端代码Ver1.2

---
 ZigbeeApp/Shared/Phone/UserCenter/Password/ForgotAccountPasswordForm.cs |  769 ++++++++++++++++++++++++++++++++++++++++------------------
 1 files changed, 532 insertions(+), 237 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Password/ForgotAccountPasswordForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Password/ForgotAccountPasswordForm.cs
index e526f3d..63eb329 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Password/ForgotAccountPasswordForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Password/ForgotAccountPasswordForm.cs
@@ -1,4 +1,5 @@
-锘縰sing System;
+锘縰sing Shared.Common;
+using System;
 using System.Collections.Generic;
 using System.Text;
 
@@ -12,150 +13,446 @@
         #region 鈻� 鍙橀噺澹版槑___________________________
 
         /// <summary>
-        /// 鏍囪鏄惁鑳藉鏍¢獙楠岃瘉鐮佷簡
+        /// 1锛氭墜鏈哄彿 2:閭
         /// </summary>
-        private bool canCheckCode = false;
+        private int SelectIndex = 1;
         /// <summary>
-        /// 鎵嬫満鎴栬�呴偖绠�
+        /// 褰撳墠鐨勮緭鍏ユ帶浠� 0:鎵嬫満鍙锋垨鑰呴偖绠�  1:楠岃瘉鐮�  2:绗竴娆″瘑鐮�  3:绗簩娆″瘑鐮�  
         /// </summary>
-        private string strPhoneEmail = string.Empty;
+        private List<TextInputControl> ListNowInputControl = new List<TextInputControl> { null, null, null };
         /// <summary>
-        /// 閿欒淇℃伅鎺т欢
+        /// 閿欒鎻愮ず鎺т欢
         /// </summary>
-        private NormalViewControl btnMsgControl = null;
+        private NormalViewControl btnErrorMsg = null;
+        /// <summary>
+        /// 閲嶇疆鎸夐挳
+        /// </summary>
+        private BottomClickButton btnReset = null;
 
         #endregion
 
         #region 鈻� 鍒濆鍖朹____________________________
 
         /// <summary>
-        /// 鐢婚潰鏄剧ず(搴曞眰浼氬浐瀹氳皟鐢ㄦ鏂规硶锛屽�熶互瀹屾垚鐢婚潰鍒涘缓)
+        /// 鐣岄潰鏄剧ず
         /// </summary>
         public void ShowForm()
         {
-            //璁剧疆澶撮儴淇℃伅
             base.SetTitleText(Language.StringByID(R.MyInternationalizationString.ForgotPassword));
 
-            //鍒濆鍖栦腑閮ㄤ俊鎭�
-            this.InitMiddleFrame();
+            //閲嶇疆鎸夐挳
+            this.btnReset = new BottomClickButton(688);
+            btnReset.Y = Application.GetRealHeight(1290);
+            btnReset.TextID = R.MyInternationalizationString.ComfirmReset;
+            btnReset.oldBackgroundColor = UserCenterColor.Current.ClickButtonDefultColor;
+            bodyFrameLayout.AddChidren(btnReset);
+            btnReset.CanClick = false;
+            btnReset.ButtonClickEvent += (sender, e) =>
+            {
+                //娉ㄥ唽鐢ㄦ埛
+                this.ResetPassword();
+            };
+
+            //鍑犱釜杈撳叆鎺т欢鐨勯泦鍚�
+            var listControl = new List<TextInputControl>();
+            //鍒濆鍖栨墜鏈哄彿杈撳叆鎺т欢
+            var framePhone = this.InitPhoneInputView(ref listControl);
+            //鍒濆鍖栭偖绠辫緭鍏ユ帶浠�
+            var frameEmail = this.InitEmailInputView(ref listControl);
+
+            //閿欒鎻愮ずBtn
+            this.btnErrorMsg = new NormalViewControl(700, 58, true);
+            btnErrorMsg.X = Application.GetRealWidth(127);
+            btnErrorMsg.Y = Application.GetRealHeight(1060);
+            btnErrorMsg.TextColor = Common.ZigbeeColor.Current.GXCTextRed;
+            btnErrorMsg.IsBold = true;
+            bodyFrameLayout.AddChidren(btnErrorMsg);
+
+            //閭,鎵嬫満鍙风殑鍒囨崲鎺т欢
+            var sitchControl = new Login.Controls.PhoneEmailSelectControl();
+            sitchControl.Y = Application.GetRealHeight(127);
+            bodyFrameLayout.AddChidren(sitchControl);
+
+            sitchControl.SelectMenuEvent += (selectMenu) =>
+            {
+                this.SelectIndex = selectMenu;
+                //鎵嬫満鍙�
+                if (this.SelectIndex == 1)
+                {
+                    framePhone.Visible = true;
+                    frameEmail.Visible = false;
+                    //褰撳墠鐨勮緭鍏ユ帶浠�
+                    ListNowInputControl[0] = listControl[0];
+                    ListNowInputControl[1] = listControl[1];
+                    ListNowInputControl[2] = listControl[2];
+                }
+                //閭
+                else if (this.SelectIndex == 2)
+                {
+                    framePhone.Visible = false;
+                    frameEmail.Visible = true;
+                    //褰撳墠鐨勮緭鍏ユ帶浠�
+                    ListNowInputControl[0] = listControl[3];
+                    ListNowInputControl[1] = listControl[4];
+                    ListNowInputControl[2] = listControl[5];
+                }
+                //妫�娴嬫敞鍐屾寜閽殑鐘舵��
+                this.CheckResetButtonStatu();
+            };
+            //鎵ц鍒濆鍖�
+            sitchControl.InitControl(ZigbeeColor.Current.GXCButtonBlackSelectedColor, HdlUserCenterResourse.UserInfo.UserPhone != string.Empty ? 1 : 2);
+            //鑿滃崟闄愬埗
+            sitchControl.PhoneEnable = HdlUserCenterResourse.UserInfo.UserPhone != string.Empty;
+            sitchControl.EmailEnable = HdlUserCenterResourse.UserInfo.UserEmail != string.Empty;
         }
 
         /// <summary>
-        /// 鍒濆鍖栦腑閮ㄤ俊鎭�
+        ///  鍒濆鍖栨墜鏈哄彿杈撳叆鐨勭晫闈�
         /// </summary>
-        private void InitMiddleFrame()
+        /// <param name="listControl">鍑犱釜杈撳叆鎺т欢鐨勯泦鍚�</param>
+        /// <returns></returns>
+        private FrameLayout InitPhoneInputView(ref List<TextInputControl> listControl)
         {
-            //娓呯┖bodyFrame
-            this.ClearBodyFrame();
-
+            //鑳屾櫙妗�
             var frameBack = new FrameLayout();
-            frameBack.Height = Application.GetRealHeight(323);
-            frameBack.BackgroundColor = UserCenterColor.Current.White;
+            frameBack.Y = Application.GetRealHeight(334);
+            frameBack.Height = Application.GetRealHeight(852);
+            frameBack.Width = Application.GetRealWidth(942);
+            frameBack.Gravity = Gravity.CenterHorizontal;
+            frameBack.BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor;
+            frameBack.Radius = (uint)Application.GetRealHeight(17);
             bodyFrameLayout.AddChidren(frameBack);
 
-            var rowPhone = new FrameRowControl();
-            //鍙宠竟鍋忕Щ閲�->澧炲姞瀹藉害
-            rowPhone.RightOffset = -ControlCommonResourse.XXLeft;
-            rowPhone.Y = Application.GetRealHeight(23);
-            rowPhone.Width = this.GetPictrueRealSize(628);
-            bodyFrameLayout.AddChidren(rowPhone);
-            //璇疯緭鍏ラ偖绠辨垨鎵嬫満鍙�
-            string phoneValue = string.IsNullOrEmpty(UserCenterResourse.UserInfo.Phone) == true ? string.Empty : "+" + UserCenterResourse.UserInfo.AreaCode + " " + UserCenterResourse.UserInfo.Phone;
-            var txtPhone = rowPhone.AddLeftCaption(string.IsNullOrEmpty(phoneValue) == true ? UserCenterResourse.UserInfo.Email : phoneValue, 600);
-            txtPhone.TextColor = UserCenterColor.Current.TextGrayColor2;
-            //搴曠嚎
-            rowPhone.AddBottomLine();
-            //褰撳墠閫夋嫨鐨勬柟寮�
-            this.strPhoneEmail = txtPhone.Text;
+            //鎵嬫満鍙疯鐨勫鍣�
+            var framePhone = new FrameLayout();
+            framePhone.X = Application.GetRealWidth(29);
+            framePhone.Y = Application.GetRealHeight(29);
+            framePhone.Width = Application.GetRealWidth(884);
+            framePhone.Height = Application.GetRealHeight(138);
+            frameBack.AddChidren(framePhone);
+            //鍦板尯鐮�
+            var btnAreaCode = new NormalViewControl(160, 92, true);
+            btnAreaCode.Gravity = Gravity.CenterVertical;
+            btnAreaCode.TextColor = ZigbeeColor.Current.GXCPlaceHolderTextColor;
+            btnAreaCode.Text = "+" + HdlUserCenterResourse.UserInfo.PhoneAreaCode;
+            btnAreaCode.TextAlignment = TextAlignment.Center;
+            framePhone.AddChidren(btnAreaCode);
+            //鎵嬫満鍙疯緭鍏ユ
+            var btnPhone = new NormalViewControl(600, 92, true);
+            btnPhone.X = Application.GetRealWidth(222);
+            btnPhone.Gravity = Gravity.CenterVertical;
+            btnPhone.Text = HdlUserCenterResourse.UserInfo.UserPhone;
+            btnPhone.TextColor = ZigbeeColor.Current.GXCPlaceHolderTextColor;
+            framePhone.AddChidren(btnPhone);
+            //鎵嬫満鍙疯緭鍏ユ鐨勫簳绾�
+            var btnPhoneLine = new NormalViewControl(framePhone.Width, HdlControlResourse.BottomLineHeight, false);
+            btnPhoneLine.BackgroundColor = UserCenterColor.Current.ButtomLine;
+            btnPhoneLine.Y = framePhone.Height - HdlControlResourse.BottomLineHeight;
+            framePhone.AddChidren(btnPhoneLine);
 
-            var rowCode = new FrameRowControl();
-            rowCode.Y = rowPhone.Bottom + Application.GetRealHeight(20);
-            rowCode.Width = this.GetPictrueRealSize(628);
-            bodyFrameLayout.AddChidren(rowCode);
-            //璇疯緭鍏ラ獙璇佺爜
-            var txtCode = rowCode.AddLeftInput("", 600);
-            txtCode.PlaceholderText = Language.StringByID(R.MyInternationalizationString.uPleaseInputVerificationCode);
-            txtCode.TextChangeEventHandler += this.txtCodeValueChangedEvent;
-
+            //楠岃瘉鐮佺殑瀹瑰櫒
+            var frameCode = new FrameLayout();
+            frameCode.X = Application.GetRealWidth(29);
+            frameCode.Y = Application.GetRealHeight(196);
+            frameCode.Width = framePhone.Width;
+            frameCode.Height = framePhone.Height;
+            frameBack.AddChidren(frameCode);
+            //楠岃瘉鐮佽緭鍏ユ
+            var txtCode = new TextInputControl(536, 92, true);
+            txtCode.X = Application.GetRealWidth(29);
+            txtCode.Gravity = Gravity.CenterVertical;
+            txtCode.PlaceholderText = Language.StringByID(R.MyInternationalizationString.PleaseInputVerificationCode);
+            txtCode.PlaceholderTextColor = ZigbeeColor.Current.GXCPlaceHolderTextColor;
+            frameCode.AddChidren(txtCode);
+            listControl.Add(txtCode);
             //鑾峰彇楠岃瘉鐮�
-            var btnCode = new NormalViewControl(302, 127, true);
-            btnCode.X = rowPhone.Right + Application.GetRealWidth(35);
-            btnCode.Y = Application.GetRealHeight(23);
-            btnCode.RadiusEx = 12;
-            btnCode.TextID = R.MyInternationalizationString.uGetVerificationCode;
-            btnCode.TextColor = UserCenterColor.Current.White;
-            btnCode.BackgroundColor = UserCenterColor.Current.TextOrangeColor;
-            btnCode.TextAlignment = TextAlignment.Center;
-            bodyFrameLayout.AddChidren(btnCode);
-            btnCode.ButtonClickEvent += (sender, e) =>
+            var btnSendCode = new NormalViewControl(300, 127, true);
+            btnSendCode.X = frameCode.Width - Application.GetRealWidth(300);
+            btnSendCode.Gravity = Gravity.CenterVertical;
+            btnSendCode.TextID = R.MyInternationalizationString.SendVerificationCode;
+            btnSendCode.TextColor = ZigbeeColor.Current.GXCTextWhiteColor;
+            btnSendCode.TextAlignment = TextAlignment.Center;
+            btnSendCode.BackgroundColor = 0xFFFC744B;
+            btnSendCode.Radius = (uint)Application.GetRealHeight(12);
+            btnSendCode.IsBold = true;
+            frameCode.AddChidren(btnSendCode);
+            btnSendCode.ButtonClickEvent += (sender, e) =>
             {
                 //鍙戦�侀獙璇佺爜
-                this.SetVerificationCode(btnCode);
+                this.SendVerificationCode(btnSendCode);
+            };
+            //鑾峰彇楠岃瘉鐮佺殑搴曠嚎
+            var btnCodeLine = new NormalViewControl(Application.GetRealWidth(536), HdlControlResourse.BottomLineHeight, false);
+            btnCodeLine.BackgroundColor = UserCenterColor.Current.ButtomLine;
+            btnCodeLine.Y = frameCode.Height - HdlControlResourse.BottomLineHeight;
+            frameCode.AddChidren(btnCodeLine);
+            //鑱斿姩搴曠嚎
+            txtCode.btnLine = btnCodeLine;
+
+            //绗竴娆″瘑鐮佺殑瀹瑰櫒
+            var framePswOne = new FrameLayout();
+            framePswOne.X = Application.GetRealWidth(29);
+            framePswOne.Y = Application.GetRealHeight(363);
+            framePswOne.Width = framePhone.Width;
+            framePswOne.Height = framePhone.Height;
+            frameBack.AddChidren(framePswOne);
+            //绗竴娆″瘑鐮佺殑杈撳叆妗�
+            var txtPswOne = new TextInputControl(700, 92, true);
+            txtPswOne.X = Application.GetRealWidth(29);
+            txtPswOne.Gravity = Gravity.CenterVertical;
+            txtPswOne.PlaceholderText = Language.StringByID(R.MyInternationalizationString.PleaseInputPWD);
+            txtPswOne.PlaceholderTextColor = ZigbeeColor.Current.GXCPlaceHolderTextColor;
+            txtPswOne.SecureTextEntry = true;
+            framePswOne.AddChidren(txtPswOne);
+            listControl.Add(txtPswOne);
+            //绗竴娆″瘑鐮佸彲瑙嗗浘鏍�
+            var btnPswOneHiden = new IconViewControl(92);
+            btnPswOneHiden.X = Application.GetRealWidth(775);
+            btnPswOneHiden.Gravity = Gravity.CenterVertical;
+            btnPswOneHiden.SelectedImagePath = "Account/HidePwd.png";
+            btnPswOneHiden.UnSelectedImagePath = "Account/UnhidePwd.png";
+            btnPswOneHiden.IsSelected = true;
+            framePswOne.AddChidren(btnPswOneHiden);
+            btnPswOneHiden.ButtonClickEvent += (sender, e) =>
+            {
+                btnPswOneHiden.IsSelected = !btnPswOneHiden.IsSelected;
+                txtPswOne.SecureTextEntry = btnPswOneHiden.IsSelected;
+            };
+            //绗竴娆″瘑鐮佽緭鍏ユ鐨勫簳绾�
+            var btnPswOneLine = new NormalViewControl(framePswOne.Width, HdlControlResourse.BottomLineHeight, false);
+            btnPswOneLine.BackgroundColor = UserCenterColor.Current.ButtomLine;
+            btnPswOneLine.Y = framePswOne.Height - HdlControlResourse.BottomLineHeight;
+            framePswOne.AddChidren(btnPswOneLine);
+            //鑱斿姩搴曠嚎
+            txtPswOne.btnLine = btnPswOneLine;
+
+            //绗簩娆″瘑鐮佺殑瀹瑰櫒
+            var framePswTwo = new FrameLayout();
+            framePswTwo.X = Application.GetRealWidth(29);
+            framePswTwo.Y = Application.GetRealHeight(530);
+            framePswTwo.Width = framePhone.Width;
+            framePswTwo.Height = framePhone.Height;
+            frameBack.AddChidren(framePswTwo);
+            //绗簩娆″瘑鐮佺殑杈撳叆妗�
+            var txtPswTwo = new TextInputControl(700, 92, true);
+            txtPswTwo.X = Application.GetRealWidth(29);
+            txtPswTwo.Gravity = Gravity.CenterVertical;
+            txtPswTwo.PlaceholderText = Language.StringByID(R.MyInternationalizationString.PleaseInputPWD);
+            txtPswTwo.PlaceholderTextColor = ZigbeeColor.Current.GXCPlaceHolderTextColor;
+            txtPswTwo.SecureTextEntry = true;
+            framePswTwo.AddChidren(txtPswTwo);
+            listControl.Add(txtPswTwo);
+            //绗簩娆″瘑鐮佸彲瑙嗗浘鏍�
+            var btnPswTwoHiden = new IconViewControl(92);
+            btnPswTwoHiden.X = Application.GetRealWidth(775);
+            btnPswTwoHiden.Gravity = Gravity.CenterVertical;
+            btnPswTwoHiden.SelectedImagePath = "Account/HidePwd.png";
+            btnPswTwoHiden.UnSelectedImagePath = "Account/UnhidePwd.png";
+            btnPswTwoHiden.IsSelected = true;
+            framePswTwo.AddChidren(btnPswTwoHiden);
+            btnPswTwoHiden.ButtonClickEvent += (sender, e) =>
+            {
+                btnPswTwoHiden.IsSelected = !btnPswTwoHiden.IsSelected;
+                txtPswTwo.SecureTextEntry = btnPswTwoHiden.IsSelected;
+            };
+            //绗簩娆″瘑鐮佽緭鍏ユ鐨勫簳绾�
+            var btnPswTwoLine = new NormalViewControl(framePswTwo.Width, HdlControlResourse.BottomLineHeight, false);
+            btnPswTwoLine.BackgroundColor = UserCenterColor.Current.ButtomLine;
+            btnPswTwoLine.Y = framePswTwo.Height - HdlControlResourse.BottomLineHeight;
+            framePswTwo.AddChidren(btnPswTwoLine);
+            //鑱斿姩搴曠嚎
+            txtPswTwo.btnLine = btnPswTwoLine;
+
+            //楠岃瘉鐮佽緭鍏ュ彉鏇存椂
+            txtCode.TextChangeEventHandler += (sender, value) =>
+            {
+                //妫�娴嬫敞鍐屾寜閽殑鐘舵��
+                this.CheckResetButtonStatu();
+            };
+            //瀵嗙爜杈撳叆鍙樻洿鏃�
+            txtPswOne.TextChangeEventHandler += (sender, value) =>
+            {
+                //妫�娴嬫敞鍐屾寜閽殑鐘舵��
+                this.CheckResetButtonStatu();
+            };
+            txtPswTwo.TextChangeEventHandler += (sender, value) =>
+            {
+                //妫�娴嬫敞鍐屾寜閽殑鐘舵��
+                this.CheckResetButtonStatu();
             };
 
-            //閿欒淇℃伅鎺т欢
-            btnMsgControl = new NormalViewControl(800, 58, true);
-            btnMsgControl.X = ControlCommonResourse.XXLeft;
-            btnMsgControl.Y = rowCode.Bottom + Application.GetRealHeight(46);
-            btnMsgControl.TextColor = 0xfff75858;
-            btnMsgControl.TextID = R.MyInternationalizationString.uVerificationCodeErrorInputAgain;
-            bodyFrameLayout.AddChidren(btnMsgControl);
-            btnMsgControl.Visible = false;
+            return frameBack;
+        }
 
-            if (string.IsNullOrEmpty(UserCenterResourse.UserInfo.Phone) == true
-                || string.IsNullOrEmpty(UserCenterResourse.UserInfo.Email) == true)
-            {
-                rowPhone.UseClickStatu = false;
-                return;
-            }
+        /// <summary>
+        /// 鍒濆鍖栭偖绠辫緭鍏ョ殑鐣岄潰
+        /// </summary>
+        /// <param name="listControl">鍑犱釜杈撳叆鎺т欢鐨勯泦鍚�</param>
+        /// <returns></returns>
+        private FrameLayout InitEmailInputView(ref List<TextInputControl> listControl)
+        {
+            //鑳屾櫙妗�
+            var frameBack = new FrameLayout();
+            frameBack.Y = Application.GetRealHeight(334);
+            frameBack.Height = Application.GetRealHeight(852);
+            frameBack.Width = Application.GetRealWidth(942);
+            frameBack.Gravity = Gravity.CenterHorizontal;
+            frameBack.BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor;
+            frameBack.Radius = (uint)Application.GetRealHeight(17);
+            bodyFrameLayout.AddChidren(frameBack);
 
-            //鏄剧ず鍙互鍒囨崲閭->涓�涓彲浠ラ伄浣廈ody鐨勪笢瑗�
-            var frameTran = new FrameLayoutStatuControl();
-            frameTran.UseClickStatu = false;
-            frameTran.BackgroundColor = UserCenterColor.Current.Transparent;
-            bodyFrameLayout.AddChidren(frameTran);
-            frameTran.Visible = false;
-            frameTran.ButtonClickEvent += (sender, e) =>
+            //閭琛岀殑瀹瑰櫒
+            var frameEmail = new FrameLayout();
+            frameEmail.X = Application.GetRealWidth(29);
+            frameEmail.Y = Application.GetRealHeight(29);
+            frameEmail.Width = Application.GetRealWidth(884);
+            frameEmail.Height = Application.GetRealHeight(138);
+            frameBack.AddChidren(frameEmail);
+            //閭杈撳叆妗�
+            var btnEmail = new NormalViewControl(700, 92, true);
+            btnEmail.X = Application.GetRealWidth(29);
+            btnEmail.Gravity = Gravity.CenterVertical;
+            btnEmail.TextColor = ZigbeeColor.Current.GXCPlaceHolderTextColor;
+            btnEmail.Text = HdlUserCenterResourse.UserInfo.UserEmail;
+            frameEmail.AddChidren(btnEmail);
+            //閭杈撳叆妗嗙殑搴曠嚎
+            var btnEmailLine = new NormalViewControl(frameEmail.Width, HdlControlResourse.BottomLineHeight, false);
+            btnEmailLine.BackgroundColor = UserCenterColor.Current.ButtomLine;
+            btnEmailLine.Y = frameEmail.Height - HdlControlResourse.BottomLineHeight;
+            frameEmail.AddChidren(btnEmailLine);
+
+            //楠岃瘉鐮佺殑瀹瑰櫒
+            var frameCode = new FrameLayout();
+            frameCode.X = Application.GetRealWidth(29);
+            frameCode.Y = Application.GetRealHeight(196);
+            frameCode.Width = frameEmail.Width;
+            frameCode.Height = frameEmail.Height;
+            frameBack.AddChidren(frameCode);
+            //楠岃瘉鐮佽緭鍏ユ
+            var txtCode = new TextInputControl(536, 92, true);
+            txtCode.X = Application.GetRealWidth(29);
+            txtCode.Gravity = Gravity.CenterVertical;
+            txtCode.PlaceholderText = Language.StringByID(R.MyInternationalizationString.PleaseInputVerificationCode);
+            txtCode.PlaceholderTextColor = ZigbeeColor.Current.GXCPlaceHolderTextColor;
+            frameCode.AddChidren(txtCode);
+            listControl.Add(txtCode);
+            //鑾峰彇楠岃瘉鐮�
+            var btnSendCode = new NormalViewControl(300, 127, true);
+            btnSendCode.X = frameCode.Width - Application.GetRealWidth(300);
+            btnSendCode.Gravity = Gravity.CenterVertical;
+            btnSendCode.TextID = R.MyInternationalizationString.SendVerificationCode;
+            btnSendCode.TextColor = ZigbeeColor.Current.GXCTextWhiteColor;
+            btnSendCode.TextAlignment = TextAlignment.Center;
+            btnSendCode.BackgroundColor = 0xFFFC744B;
+            btnSendCode.Radius = (uint)Application.GetRealHeight(12);
+            btnSendCode.IsBold = true;
+            frameCode.AddChidren(btnSendCode);
+            btnSendCode.ButtonClickEvent += (sender, e) =>
             {
-                frameTran.Visible = false;
+                //鍙戦�侀獙璇佺爜
+                this.SendVerificationCode(btnSendCode);
             };
-            var frameList = new FrameLayout();
-            frameList.X = ControlCommonResourse.XXLeft - Application.GetRealWidth(17);
-            frameList.Y = rowPhone.Bottom - ControlCommonResourse.BottomLineHeight - 1;
-            frameList.Width = this.GetPictrueRealSize(628);
-            frameList.Height = this.GetPictrueRealSize(176);
-            frameTran.AddChidren(frameList);
-            //鍔ㄧ敾鐢�
-            var frameAnimate = new FrameLayoutStatuControl();
-            frameAnimate.UseClickStatu = false;
-            frameList.AddChidren(frameAnimate);
+            //鑾峰彇楠岃瘉鐮佺殑搴曠嚎
+            var btnCodeLine = new NormalViewControl(Application.GetRealWidth(536), HdlControlResourse.BottomLineHeight, false);
+            btnCodeLine.BackgroundColor = UserCenterColor.Current.ButtomLine;
+            btnCodeLine.Y = frameCode.Height - HdlControlResourse.BottomLineHeight;
+            frameCode.AddChidren(btnCodeLine);
+            //鑱斿姩搴曠嚎
+            txtCode.btnLine = btnCodeLine;
 
-            var btnPic = new PicViewControl(frameList.Width, frameList.Height, false);
-            btnPic.UnSelectedImagePath = "Item/ForgotPswList.png";
-            frameAnimate.AddChidren(btnPic);
-            var btnEmail = new NormalViewControl(450, 58, true);
-            btnEmail.X = this.GetPictrueRealSize(46);
-            btnEmail.Y = this.GetPictrueRealSize(32);
-            btnEmail.TextColor = UserCenterColor.Current.TextGrayColor3;
-            btnEmail.Text = UserCenterResourse.UserInfo.Email;
-            frameAnimate.AddChidren(btnEmail);
-            frameAnimate.ButtonClickEvent += (sender, e) =>
+            //绗竴娆″瘑鐮佺殑瀹瑰櫒
+            var framePswOne = new FrameLayout();
+            framePswOne.X = Application.GetRealWidth(29);
+            framePswOne.Y = Application.GetRealHeight(363);
+            framePswOne.Width = frameEmail.Width;
+            framePswOne.Height = frameEmail.Height;
+            frameBack.AddChidren(framePswOne);
+            //绗竴娆″瘑鐮佺殑杈撳叆妗�
+            var txtPswOne = new TextInputControl(700, 92, true);
+            txtPswOne.X = Application.GetRealWidth(29);
+            txtPswOne.Gravity = Gravity.CenterVertical;
+            txtPswOne.PlaceholderText = Language.StringByID(R.MyInternationalizationString.PleaseInputPWD);
+            txtPswOne.PlaceholderTextColor = ZigbeeColor.Current.GXCPlaceHolderTextColor;
+            txtPswOne.SecureTextEntry = true;
+            framePswOne.AddChidren(txtPswOne);
+            listControl.Add(txtPswOne);
+            //绗竴娆″瘑鐮佸彲瑙嗗浘鏍�
+            var btnPswOneHiden = new IconViewControl(92);
+            btnPswOneHiden.X = Application.GetRealWidth(775);
+            btnPswOneHiden.Gravity = Gravity.CenterVertical;
+            btnPswOneHiden.SelectedImagePath = "Account/HidePwd.png";
+            btnPswOneHiden.UnSelectedImagePath = "Account/UnhidePwd.png";
+            btnPswOneHiden.IsSelected = true;
+            framePswOne.AddChidren(btnPswOneHiden);
+            btnPswOneHiden.ButtonClickEvent += (sender, e) =>
             {
-                frameTran.Visible = false;
-                string oldValue = txtPhone.Text;
-                txtPhone.Text = btnEmail.Text;
-                btnEmail.Text = oldValue;
+                btnPswOneHiden.IsSelected = !btnPswOneHiden.IsSelected;
+                txtPswOne.SecureTextEntry = btnPswOneHiden.IsSelected;
+            };
+            //绗竴娆″瘑鐮佽緭鍏ユ鐨勫簳绾�
+            var btnPswOneLine = new NormalViewControl(framePswOne.Width, HdlControlResourse.BottomLineHeight, false);
+            btnPswOneLine.BackgroundColor = UserCenterColor.Current.ButtomLine;
+            btnPswOneLine.Y = framePswOne.Height - HdlControlResourse.BottomLineHeight;
+            framePswOne.AddChidren(btnPswOneLine);
+            //鑱斿姩搴曠嚎
+            txtPswOne.btnLine = btnPswOneLine;
 
-                //褰撳墠閫夋嫨鐨勬柟寮�
-                this.strPhoneEmail = txtPhone.Text;
-            };
-            rowPhone.ButtonClickEvent += (sender, e) =>
+            //绗簩娆″瘑鐮佺殑瀹瑰櫒
+            var framePswTwo = new FrameLayout();
+            framePswTwo.X = Application.GetRealWidth(29);
+            framePswTwo.Y = Application.GetRealHeight(530);
+            framePswTwo.Width = frameEmail.Width;
+            framePswTwo.Height = frameEmail.Height;
+            frameBack.AddChidren(framePswTwo);
+            //绗簩娆″瘑鐮佺殑杈撳叆妗�
+            var txtPswTwo = new TextInputControl(700, 92, true);
+            txtPswTwo.X = Application.GetRealWidth(29);
+            txtPswTwo.Gravity = Gravity.CenterVertical;
+            txtPswTwo.PlaceholderText = Language.StringByID(R.MyInternationalizationString.PleaseInputPWD);
+            txtPswTwo.PlaceholderTextColor = ZigbeeColor.Current.GXCPlaceHolderTextColor;
+            txtPswTwo.SecureTextEntry = true;
+            framePswTwo.AddChidren(txtPswTwo);
+            listControl.Add(txtPswTwo);
+            //绗簩娆″瘑鐮佸彲瑙嗗浘鏍�
+            var btnPswTwoHiden = new IconViewControl(92);
+            btnPswTwoHiden.X = Application.GetRealWidth(775);
+            btnPswTwoHiden.Gravity = Gravity.CenterVertical;
+            btnPswTwoHiden.SelectedImagePath = "Account/HidePwd.png";
+            btnPswTwoHiden.UnSelectedImagePath = "Account/UnhidePwd.png";
+            btnPswTwoHiden.IsSelected = true;
+            framePswTwo.AddChidren(btnPswTwoHiden);
+            btnPswTwoHiden.ButtonClickEvent += (sender, e) =>
             {
-                if (frameTran.Visible == false)
-                {
-                    frameTran.Visible = true;
-                }
+                btnPswTwoHiden.IsSelected = !btnPswTwoHiden.IsSelected;
+                txtPswTwo.SecureTextEntry = btnPswTwoHiden.IsSelected;
             };
+            //绗簩娆″瘑鐮佽緭鍏ユ鐨勫簳绾�
+            var btnPswTwoLine = new NormalViewControl(framePswTwo.Width, HdlControlResourse.BottomLineHeight, false);
+            btnPswTwoLine.BackgroundColor = UserCenterColor.Current.ButtomLine;
+            btnPswTwoLine.Y = framePswTwo.Height - HdlControlResourse.BottomLineHeight;
+            framePswTwo.AddChidren(btnPswTwoLine);
+            //鑱斿姩搴曠嚎
+            txtPswTwo.btnLine = btnPswTwoLine;
+
+            //楠岃瘉鐮佽緭鍏ュ彉鏇存椂
+            txtCode.TextChangeEventHandler += (sender, value) =>
+            {
+                //妫�娴嬫敞鍐屾寜閽殑鐘舵��
+                this.CheckResetButtonStatu();
+            };
+            //瀵嗙爜杈撳叆鍙樻洿鏃�
+            txtPswOne.TextChangeEventHandler += (sender, value) =>
+            {
+                //妫�娴嬫敞鍐屾寜閽殑鐘舵��
+                this.CheckResetButtonStatu();
+            };
+            txtPswTwo.TextChangeEventHandler += (sender, value) =>
+            {
+                //妫�娴嬫敞鍐屾寜閽殑鐘舵��
+                this.CheckResetButtonStatu();
+            };
+
+            return frameBack;
         }
 
         #endregion
@@ -165,177 +462,175 @@
         /// <summary>
         /// 鍙戦�侀獙璇佺爜
         /// </summary>
-        /// <param name="btnCode"></param>
-        private void SetVerificationCode(NormalViewControl btnCode)
+        /// <param name="control"></param>
+        private void SendVerificationCode(NormalViewControl control)
         {
-            string account = this.strPhoneEmail.StartsWith("+") == true ? UserCenterResourse.UserInfo.Phone : UserCenterResourse.UserInfo.Email;
-            var sendCodePra = new SendCodePra();
-            sendCodePra.Account = account;
-            sendCodePra.AreaCode = Convert.ToInt32(UserCenterResourse.UserInfo.AreaCode);
-            bool flage = UserCenterLogic.GetResultStatuByRequestHttps("ZigbeeUsers/ForgetPassword", false, sendCodePra);
-            if (flage == false)
+            //妫�娴嬭緭鍏ョ殑璐﹀彿
+            if (this.CheckInputAccount(1) == false)
             {
                 return;
             }
+            //涓嶈兘鍐嶇偣鍑�
+            control.CanClick = false;
 
-            //鍙互寮�濮嬫牎楠岄獙璇佺爜浜�
-            this.canCheckCode = true;
-            //鎺т欢涓嶈兘鍐嶆鎸変笅
-            btnCode.CanClick = false;
-            btnCode.BackgroundColor = 0xfffebca9;
-            //?s鍚庨噸鍙�
-            string repeat = Language.StringByID(R.MyInternationalizationString.RepeatSend1);
-            //鏈夋晥鏃堕棿60绉�
-            int waitime = 60;
-            btnCode.Text = waitime + "s" + repeat;
-
-            HdlThreadLogic.Current.RunThread(() =>
+            var errorMsg = string.Empty;
+            //鎵嬫満
+            if (this.SelectIndex == 1)
             {
-                while (this.Parent != null)
+                errorMsg = HdlAccountLogic.Current.SendVeriCodeToPhone(HdlUserCenterResourse.UserInfo.PhoneAreaCode, HdlUserCenterResourse.UserInfo.UserPhone, VerCodeType.A鎵惧洖瀵嗙爜);
+            }
+            //閭
+            else
+            {
+                errorMsg = HdlAccountLogic.Current.SendVeriCodeToEmail(HdlUserCenterResourse.UserInfo.UserEmail, VerCodeType.A鎵惧洖瀵嗙爜);
+            }
+            if (errorMsg == null)
+            {
+                //鍙戦�侀獙璇佺爜鎴愬姛锛岃娉ㄦ剰鏌ユ敹
+                this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.SendVerificationCodeSuccess));
+
+                control.BackgroundColor = UserCenterColor.Current.White;
+                control.TextColor = ZigbeeColor.Current.GXCTextBlackColor;
+
+                //鍚姩鍊掕鏃�
+                HdlThreadLogic.Current.RunThread(() =>
                 {
-                    waitime--;
-                    System.Threading.Thread.Sleep(1000);
-                    if (waitime == 0)
+                    //鍚庨噸鍙�
+                    string txtValue = Language.StringByID(R.MyInternationalizationString.SendVerificationCodeAgain);
+                    int timeOut = 60;
+                    while (timeOut > 0 && control.Parent != null)
                     {
                         HdlThreadLogic.Current.RunMain(() =>
                         {
-                            if (btnCode != null)
-                            {
-                                //鑾峰彇楠岃瘉鐮�
-                                btnCode.TextID = R.MyInternationalizationString.uGetVerificationCode;
-                                //鎸夐敭鍙互鎸変笅
-                                btnCode.CanClick = true;
-                                btnCode.BackgroundColor = UserCenterColor.Current.TextOrangeColor;
-                            }
+                            control.Text = timeOut + "s" + txtValue;
                         });
-                        break;
+                        timeOut--;
+                        System.Threading.Thread.Sleep(1000);
                     }
                     HdlThreadLogic.Current.RunMain(() =>
                     {
-                        if (btnCode != null)
-                        {
-                            btnCode.Text = waitime + "s" + repeat;
-                        }
-                    }, ShowErrorMode.NO);
-                }
-            });
+                        control.TextID = R.MyInternationalizationString.SendVerificationCode;
+                        control.BackgroundColor = 0xFFFC744B;
+                        control.TextColor = ZigbeeColor.Current.GXCTextWhiteColor;
+                        control.CanClick = true;
+                    });
+                });
+                return;
+            }
+            this.btnErrorMsg.Text = errorMsg;
+            control.CanClick = true;
         }
 
         #endregion
 
-        #region 鈻� 楠岃瘉鐮佷簨浠禵________________________
+        #region 鈻� 閲嶇疆瀵嗙爜___________________________
 
         /// <summary>
-        /// 楠岃瘉鐮佷簨浠�
+        /// 閲嶇疆瀵嗙爜
         /// </summary>
-        /// <param name="control"></param>
-        /// <param name="value"></param>
-        private void txtCodeValueChangedEvent(View control, string value)
+        private void ResetPassword()
         {
-            if (btnMsgControl.Visible == true)
-            {
-                btnMsgControl.Visible = false;
-            }
-
-            //楠岃瘉鐮侀暱搴�
-            int CodeLength = 6;
-            if (value.Length < CodeLength)
+            //妫�娴嬭緭鍏ョ殑璐﹀彿
+            if (this.CheckInputAccount(2) == false)
             {
                 return;
             }
-            if (value.Length == CodeLength)
+            //涓嶈兘鍐嶇偣鍑�
+            this.btnReset.CanClick = false;
+
+            var errorMsg = string.Empty;
+            //鎵嬫満
+            if (this.SelectIndex == 1)
             {
-                //杩樹笉鑳芥娴嬮獙璇佺爜
-                if (this.canCheckCode == false)
-                {
-                    btnMsgControl.Visible = true;
-                    return;
-                }
-                var txtCode = (TextInputControl)control;
-                //缁堟浜嬩欢
-                txtCode.TextChangeEventHandler -= this.txtCodeValueChangedEvent;
-                //楠岃瘉楠岃瘉鐮�
-                this.CheckVerificationCode(txtCode, value);
+                errorMsg = HdlAccountLogic.Current.ResetPassword(HdlUserCenterResourse.UserInfo.UserPhone, ListNowInputControl[2].Text.Trim(), ListNowInputControl[0].Text.Trim());
             }
+            //閭
+            else
+            {
+                errorMsg = HdlAccountLogic.Current.ResetPassword(HdlUserCenterResourse.UserInfo.UserEmail, ListNowInputControl[2].Text.Trim(), ListNowInputControl[0].Text.Trim());
+            }
+            if (errorMsg == null)
+            {
+                //瀵嗙爜宸茬粡淇敼锛岃閲嶆柊鐧诲綍
+                string msg = Language.StringByID(R.MyInternationalizationString.uPasswordIsHadChangedAndLoginAgain);
+                this.ShowMassage(ShowMsgType.Normal, msg, () =>
+                {
+                    //浠庢柊鐧诲綍
+                    HdlAccountLogic.Current.ReLoginAgain(Common.Config.Instance.Account);
+                }, Language.StringByID(R.MyInternationalizationString.Login));
+                return;
+            }
+            this.btnErrorMsg.Text = errorMsg;
+            //鍙互鍐嶆鐐瑰嚮
+            this.btnReset.CanClick = true;
         }
 
         #endregion
 
-        #region 鈻� 鏍¢獙楠岃瘉鐮乢________________________
+        #region 鈻� 涓�鑸柟娉昣__________________________
 
         /// <summary>
-        /// 楠岃瘉楠岃瘉鐮�
+        /// 妫�娴嬮噸缃寜閽殑鐘舵��
+        /// </summary>
+        private void CheckResetButtonStatu()
+        {
+            this.btnErrorMsg.Text = string.Empty;
+            //鍙鏈変竴涓负绌�,鍒欓噸缃寜閽笉鍙敤
+            if (this.ListNowInputControl[0].Text.Trim() == string.Empty
+                || this.ListNowInputControl[1].Text.Trim() == string.Empty
+                || this.ListNowInputControl[2].Text.Trim() == string.Empty)
+            {
+                this.btnReset.CanClick = false;
+                return;
+            }
+
+            this.btnReset.CanClick = true;
+        }
+
+        /// <summary>
+        /// 妫�娴嬭緭鍏ョ殑璐﹀彿
         /// </summary>
         /// <returns></returns>
-        private void CheckVerificationCode(TextInputControl txtCode, string code)
+        private bool CheckInputAccount(int div)
         {
-            string account = this.strPhoneEmail.StartsWith("+") == true ? UserCenterResourse.UserInfo.Phone : UserCenterResourse.UserInfo.Email;
-            var checkCodePra = new CheckCodePra();
-            checkCodePra.Code = code;
-            checkCodePra.Account = account;
-
-            bool flage = UserCenterLogic.GetResultStatuByRequestHttps("ZigbeeUsers/ValidatorCode", false, checkCodePra);
-            if (flage == false)
+            this.btnErrorMsg.Text = string.Empty;
+            //鎵嬫満
+            if (this.SelectIndex == 1)
             {
-                //楠岃瘉鐮侀敊璇紝璇烽噸鏂拌緭鍏�
-                this.btnMsgControl.Visible = true;
-                //浜嬩欢杩樺師
-                txtCode.TextChangeEventHandler += this.txtCodeValueChangedEvent;
-                return;
+                if (HdlCheckLogic.Current.CheckPhoneNumber(HdlUserCenterResourse.UserInfo.UserPhone, CommonPage.PhoneZoneStr) == false)
+                {
+                    this.btnErrorMsg.TextID = R.MyInternationalizationString.ThePhoneError;
+                    return false;
+                }
+            }
+            //閭
+            else
+            {
+                if (HdlCheckLogic.Current.CheckEmail(HdlUserCenterResourse.UserInfo.UserEmail) == false)
+                {
+                    this.btnErrorMsg.TextID = R.MyInternationalizationString.TheEmailError;
+                    return false;
+                }
+            }
+            if (div == 1)
+            {
+                //濡傛灉鏄彂閫侀獙璇佺爜,鍒欎笉闇�瑕佹娴嬪瘑鐮�
+                return true;
             }
 
-            var from = new ResetAccountPasswordForm();
-            base.AddFromAndRemoveNowForm(from);
-        }
+            //鍏堝垽鏂�2娆″瘑鐮佽緭鍏ユ槸鍚︿竴鑷�
+            if (ListNowInputControl[1].Text != ListNowInputControl[2].Text)
+            {
+                this.btnErrorMsg.TextID = R.MyInternationalizationString.TwoPasswordInconsistency;
+                return false;
+            }
+            if (HdlCheckLogic.Current.CheckPwdLength(ListNowInputControl[2].Text.Trim()) == false)
+            {
+                this.btnErrorMsg.TextID = R.MyInternationalizationString.ThePWDLengthError;
+                return false;
+            }
 
-        #endregion
-
-        #region 鈻� 缁撴瀯浣揰____________________________
-
-        /// <summary>
-        /// 鍙戦�侀獙璇佺爜鐨勫惎鍔ㄥ弬鏁�
-        /// </summary>
-        private class SendCodePra
-        {
-            /// <summary>
-            /// 鐢ㄦ埛璐﹀彿
-            /// </summary>
-            public string Account = UserCenterResourse.UserInfo.Phone;
-            /// <summary>
-            /// 鍏徃缂栧彿,鍥藉唴浣跨敤鎵嬫満鐭俊楠岃瘉鐮佹椂锛屾瀛楁濉叆0锛屽浗澶栨墜鏈虹煭淇¢獙璇佺爜锛屾瀛楁濉叆4 
-            /// </summary>
-            public int Company = Common.CommonPage.PhoneZoneStr == "86" ? 0 : 4;
-            /// <summary>
-            /// 璇█
-            /// </summary>
-            public string Language = Shared.Language.CurrentLanguage;
-            /// <summary>
-            /// 鍥藉鍦板尯浠g爜锛屾墜鏈哄彿鍙戦�侀獙璇佺爜鏃朵娇鐢�
-            /// </summary>
-            public int AreaCode = 0;
-        }
-
-        /// <summary>
-        /// 鍙戦�侀獙璇佺爜鐨勫惎鍔ㄥ弬鏁�
-        /// </summary>
-        private class CheckCodePra
-        {
-            /// <summary>
-            /// 鐢ㄦ埛璐﹀彿
-            /// </summary>
-            public string Account = UserCenterResourse.UserInfo.Phone;
-            /// <summary>
-            /// 楠岃瘉鐮�
-            /// </summary>
-            public string Code = "0";
-            /// <summary>
-            /// 璇█
-            /// </summary>
-            public string Language = Shared.Language.CurrentLanguage;
-            /// <summary>
-            /// 鍥藉鍦板尯浠g爜锛屾墜鏈哄彿鍙戦�侀獙璇佺爜鏃朵娇鐢�
-            /// </summary>
-            public int AreaCode = Convert.ToInt32(UserCenterResourse.UserInfo.AreaCode);
+            return true;
         }
 
         #endregion

--
Gitblit v1.8.0