From b3abfd30576871c32f2839a322fa3bb783f96498 Mon Sep 17 00:00:00 2001
From: JLChen <551775569@qq.com>
Date: 星期六, 12 十二月 2020 19:10:10 +0800
Subject: [PATCH] 2020-12-12 1.解锁逻辑优化

---
 HDL-ON_iOS/Resources/Language.ini                                        |    1 
 HDL_ON/UI/UI2/4-PersonalCenter/UnlockSetting/AppUnlockPasswordPage.cs    |  271 +++++++-----------------
 HDL_ON/UI/UI2/4-PersonalCenter/UnlockSetting/AppUnlockSettingsPageBLL.cs |   33 +++
 HDL-ON_Android/Assets/Language.ini                                       |    1 
 HDL_ON/Common/R.cs                                                       |    4 
 .vs/HDL_APP_Project/xs/UserPrefs.xml                                     |   34 +--
 HDL_ON/UI/UI2/4-PersonalCenter/UnlockSetting/AppUnlockGesturePage.cs     |  306 +++++++++++----------------
 7 files changed, 255 insertions(+), 395 deletions(-)

diff --git a/.vs/HDL_APP_Project/xs/UserPrefs.xml b/.vs/HDL_APP_Project/xs/UserPrefs.xml
index d02425a..4d36673 100644
--- a/.vs/HDL_APP_Project/xs/UserPrefs.xml
+++ b/.vs/HDL_APP_Project/xs/UserPrefs.xml
@@ -1,13 +1,8 @@
 锘�<Properties StartupConfiguration="{09712674-2A38-407B-B1E2-560B2C352F9A}|Default">
-  <MonoDevelop.Ide.ItemProperties.HDL-ON__iOS PreferredExecutionTarget="MonoDevelop.IPhone.IPhoneDeviceTarget.00008030-00014C392121802E" />
-  <MonoDevelop.Ide.Workbench ActiveDocument="HDL_ON/UI/UI2/4-PersonalCenter/UnlockSetting/AppUnlockSettingsPageBLL.cs">
+  <MonoDevelop.Ide.ItemProperties.HDL-ON__iOS automaticSigning="False" PreferredExecutionTarget="MonoDevelop.IPhone.IPhoneDeviceTarget.00008030-00014C392121802E" />
+  <MonoDevelop.Ide.Workbench ActiveDocument="HDL_ON/UI/UI2/4-PersonalCenter/UnlockSetting/AppUnlockPasswordPage.cs">
     <Files>
-      <File FileName="HDL_ON/UI/UI2/4-PersonalCenter/UnlockSetting/AppUnlockSettingsPageBLL.cs" Line="301" Column="26" IsPinned="True" />
-      <File FileName="HDL_ON/Common/HDLCommon.cs" Line="308" Column="21" />
-      <File FileName="HDL_ON/Entity/Room.cs" Line="416" Column="31" />
-      <File FileName="HDL_ON/Entity/DB_ResidenceData.cs" Line="146" Column="33" />
-      <File FileName="HDL_ON/Entity/UserInfo.cs" Line="53" Column="21" />
-      <File FileName="HDL_ON/UI/UI2/4-PersonalCenter/UnlockSetting/AppUnlockSettingsPage.cs" Line="1" Column="1" />
+      <File FileName="HDL_ON/UI/UI2/4-PersonalCenter/UnlockSetting/AppUnlockPasswordPage.cs" Line="1" Column="1" />
     </Files>
     <Pads>
       <Pad Id="ProjectPad">
@@ -16,29 +11,26 @@
             <Node name="HDL_ON" expanded="True">
               <Node name="Common" expanded="True" />
               <Node name="DAL" expanded="True">
-                <Node name="Mqtt" expanded="True" />
                 <Node name="Server" expanded="True" />
               </Node>
-              <Node name="Entity" expanded="True">
-                <Node name="Function" expanded="True" />
-              </Node>
+              <Node name="Entity" expanded="True" />
               <Node name="UI" expanded="True">
-                <Node name="UI0-Public" expanded="True" />
                 <Node name="UI1-Login" expanded="True" />
                 <Node name="UI2" expanded="True">
-                  <Node name="3-Intelligence" expanded="True">
-                    <Node name="Scene" expanded="True" />
-                  </Node>
                   <Node name="4-PersonalCenter" expanded="True">
+                    <Node name="RoomListManage" expanded="True" />
                     <Node name="UnlockSetting" expanded="True">
-                      <Node name="AppUnlockSettingsPageBLL.cs" selected="True" />
+                      <Node name="AppUnlockPasswordPage.cs" selected="True" />
                     </Node>
                   </Node>
                 </Node>
               </Node>
             </Node>
-            <Node name="HDL-ON_Android" expanded="True" />
+            <Node name="HDL-ON_Android" expanded="True">
+              <Node name="Assets" expanded="True" />
+            </Node>
             <Node name="HDL-ON_iOS" expanded="True">
+              <Node name="Other" expanded="True" />
               <Node name="Resources" expanded="True" />
             </Node>
           </Node>
@@ -52,12 +44,10 @@
     <String>Shared.Droid.TouchID/Shared.Droid.TouchID.csproj</String>
     <String>Shared.IOS/Shared.IOS.csproj</String>
   </DisabledProjects>
-  <MonoDevelop.Ide.Workspace ActiveConfiguration="Debug|iPhone" />
+  <MonoDevelop.Ide.Workspace ActiveConfiguration="Debug" />
   <MonoDevelop.Ide.ItemProperties.HDL-ON__Android PreferredExecutionTarget="Android.364c4b3158493098" />
   <MonoDevelop.Ide.DebuggingService.Breakpoints>
-    <BreakpointStore>
-      <Breakpoint file="/Users/jlchen/JLChen/ProjectsCode/HDLGit/ON+/HDL_ON/UI/UI2/4-PersonalCenter/RoomListManage/AddRoom/AddRoomPage.cs" relfile="HDL_ON/UI/UI2/4-PersonalCenter/RoomListManage/AddRoom/AddRoomPage.cs" line="449" column="1" />
-    </BreakpointStore>
+    <BreakpointStore />
   </MonoDevelop.Ide.DebuggingService.Breakpoints>
   <MultiItemStartupConfigurations />
 </Properties>
\ No newline at end of file
diff --git a/HDL-ON_Android/Assets/Language.ini b/HDL-ON_Android/Assets/Language.ini
index 8a8fe5c..0ca9301 100644
--- a/HDL-ON_Android/Assets/Language.ini
+++ b/HDL-ON_Android/Assets/Language.ini
@@ -562,6 +562,7 @@
 9045=涓婁紶澶辫触
 9046=淇敼鎴愬姛!
 9047=鎮ㄧ殑瀵嗙爜宸茬粡淇敼鐢熸晥锛岃閲嶆柊鐧诲綍
+9048=浣跨敤璐﹀彿瀵嗙爜鐧诲綍
 
 10000=鏃犳晥鐧诲綍瀵嗛挜锛岃閲嶆柊鐧诲綍锛�
 10001=璇锋眰鏈嶅姟鍣ㄥけ璐ワ紝璇风◢鍚庡啀璇曪紒
diff --git a/HDL-ON_iOS/Resources/Language.ini b/HDL-ON_iOS/Resources/Language.ini
index 8a8fe5c..0ca9301 100644
--- a/HDL-ON_iOS/Resources/Language.ini
+++ b/HDL-ON_iOS/Resources/Language.ini
@@ -562,6 +562,7 @@
 9045=涓婁紶澶辫触
 9046=淇敼鎴愬姛!
 9047=鎮ㄧ殑瀵嗙爜宸茬粡淇敼鐢熸晥锛岃閲嶆柊鐧诲綍
+9048=浣跨敤璐﹀彿瀵嗙爜鐧诲綍
 
 10000=鏃犳晥鐧诲綍瀵嗛挜锛岃閲嶆柊鐧诲綍锛�
 10001=璇锋眰鏈嶅姟鍣ㄥけ璐ワ紝璇风◢鍚庡啀璇曪紒
diff --git a/HDL_ON/Common/R.cs b/HDL_ON/Common/R.cs
index 5d0453e..c4b0cf6 100644
--- a/HDL_ON/Common/R.cs
+++ b/HDL_ON/Common/R.cs
@@ -703,6 +703,10 @@
         /// 鎮ㄧ殑瀵嗙爜宸茬粡淇敼鐢熸晥锛岃閲嶆柊鐧诲綍
         /// </summary>
         public const int YourPasswordHasBeenChanged = 9047;
+        /// <summary>
+        /// 浣跨敤璐﹀彿瀵嗙爜鐧诲綍
+        /// </summary>
+        public const int LogWithAccountAndPassword = 9048;
 
 
         #region 缃戠粶璇锋眰鍝嶅簲閿欒鎻愮ず淇℃伅
diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/UnlockSetting/AppUnlockGesturePage.cs b/HDL_ON/UI/UI2/4-PersonalCenter/UnlockSetting/AppUnlockGesturePage.cs
index ccdee88..6c33963 100644
--- a/HDL_ON/UI/UI2/4-PersonalCenter/UnlockSetting/AppUnlockGesturePage.cs
+++ b/HDL_ON/UI/UI2/4-PersonalCenter/UnlockSetting/AppUnlockGesturePage.cs
@@ -135,197 +135,68 @@
                         //瀵嗙爜楠岃瘉澶辫触
                         PasswordInputError(optionType);
                     }
-                    //if (optionType == "2")
-                    //{
-                    //    //绉婚櫎褰撳墠鐣岄潰锛屾瘡娆¤繑鍥為兘杩斿洖鍒版渶涓婄骇
-                    //    this.RemoveFromParent();
-                    //    var page = new AppUnlockGesturePage("", backAction);
-                    //    MainPage.BasePageView.AddChidren(page);
-                    //    page.LoadPage("1");
-                    //    MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
-                    //    return;
-                    //}
-                    //if(optionType == "7")
-                    //{
-                    //    if (passwrod == oldPasswrod)
-                    //    {
-                    //        this.RemoveFromParent();
-                    //        backAction();
-                    //    }
-                    //    else
-                    //    {
-                    //        btnTipMsg.TextID = StringId.AuthenticationFailedGestureError;
-                    //        btnTipMsg.IsSelected = true;
-                    //        btnTipMsg.Visible = true;
-                    //    }
-                    //    return;
-                    //}
-                    //if (optionType == "3" || optionType == "4")
-                    //{
-                    //    if (passwrod == oldPasswrod)
-                    //    {
-                    //        if (optionType == "4")
-                    //        {
-                    //            backAction();
-                    //            this.RemoveFromParent();
-                    //            return;
-                    //        }
-                    //        if (UserInfo.Current.appUnlockType.Contains("2"))
-                    //        {
-                    //            UserInfo.Current.appUnlockType = new System.Collections.Generic.List<string>();
-                    //            UserInfo.Current.appUnlockPasswrod = "";
-                    //            UserInfo.Current.SaveUserInfo();
-                    //            this.RemoveFromParent();
-                    //            backAction();
-                    //        }
-                    //    }
-                    //    else
-                    //    {
-                    //        btnTipMsg.TextID = StringId.AuthenticationFailedGestureError;
-                    //        btnTipMsg.IsSelected = true;
-                    //        btnTipMsg.Visible = true;
-                    //    }
-                    //    return;
-                    //}
-                    //if (optionType == "5" || optionType == "6"|| optionType == "8" || optionType == "9")
-                    //{
-                    //    if (passwrod == oldPasswrod)
-                    //    {
-                    //        if (optionType == "5" )//&& UserInfo.Current.appUnlockType.Contains("3"))
-                    //        {
-                    //            if (UserInfo.Current.appUnlockType.Contains("3"))
-                    //                UserInfo.Current.appUnlockType.Remove("3");
-                    //            else
-                    //                UserInfo.Current.appUnlockType.Add("3");
-
-                    //            UserInfo.Current.SaveUserInfo();
-                    //            this.RemoveFromParent();
-                    //        }
-                    //        if ( optionType == "6")
-                    //        {
-                    //            if (UserInfo.Current.appUnlockType.Contains("4"))
-                    //                UserInfo.Current.appUnlockType.Remove("4");
-                    //            else
-                    //                UserInfo.Current.appUnlockType.Add("4");
-
-                    //            UserInfo.Current.SaveUserInfo();
-                    //            this.RemoveFromParent();
-                    //        }
-                    //        if (optionType == "8" && !UserInfo.Current.appUnlockType.Contains("3"))
-                    //        {
-                    //            UserInfo.Current.appUnlockType.Add("3");
-                    //            UserInfo.Current.SaveUserInfo();
-                    //            this.RemoveFromParent();
-                    //        }
-                    //        if (!UserInfo.Current.appUnlockType.Contains("4") && optionType == "9")
-                    //        {
-                    //            UserInfo.Current.appUnlockType.Remove("4");
-                    //            UserInfo.Current.SaveUserInfo();
-                    //            this.RemoveFromParent();
-                    //        }
-                    //        backAction();
-                    //    }
-                    //    else
-                    //    {
-                    //        btnTipMsg.TextID = StringId.AuthenticationFailedGestureError;
-                    //        btnTipMsg.IsSelected = true;
-                    //        btnTipMsg.Visible = true;
-                    //    }
-                    //    return;
-                    //}
-                    //if (passwrod == oldPasswrod)
-                    //{
-                    //    this.RemoveFromParent();
-                    //    var page = new OperationResultDisPalyPage();
-                    //    page.Show();
-                    //    page.LoadPage(true, Language.StringByID(StringId.SetSuccessfully), Language.StringByID(StringId.SetSuccessfully), "");
-                    //    //page.LoadPage(true, Language.StringByID(StringId.SetSuccessfully), Language.StringByID(StringId.SetSuccessfully), "");
-                    //    string tipMsg = TouchIDUtils.getTouchIDSupperType() == TouchIDUtils.TouchIDSupperType.TouchID ? Language.StringByID(StringId.TurnOnFingerprintUnlocking) :
-                    //                    Language.StringByID(StringId.TurnOnFaceIdUnlocking);
-                    //    if (TouchIDUtils.getTouchIDSupperType() != TouchIDUtils.TouchIDSupperType.None)
-                    //    {
-                    //        Action<bool> action = (result) =>
-                    //        {
-                    //            var unlockType = TouchIDUtils.getTouchIDSupperType() == TouchIDUtils.TouchIDSupperType.TouchID ? "3" : "4";
-                    //            if (result)
-                    //            {
-                    //                if (!UserInfo.Current.appUnlockType.Contains(unlockType))
-                    //                {
-                    //                    UserInfo.Current.appUnlockType.Add(unlockType);
-                    //                }
-                    //            }
-                    //            else
-                    //            {
-                    //                if (UserInfo.Current.appUnlockType.Contains(unlockType))
-                    //                {
-                    //                    UserInfo.Current.appUnlockType.Remove(unlockType);
-                    //                }
-                    //            }
-                    //            UserInfo.Current.SaveUserInfo();
-                    //            backAction();
-                    //        };
-                    //        page.AdditionalOperations(tipMsg, action);
-                    //    }
-                    //    if (!UserInfo.Current.appUnlockType.Contains("2"))
-                    //    {
-                    //        UserInfo.Current.appUnlockType.Add("2");
-                    //    }
-                    //    UserInfo.Current.appUnlockPasswrod = passwrod;
-                    //    UserInfo.Current.SaveUserInfo();
-                    //    backAction();
-                    //}
-                    //else
-                    //{
-                    //    btnTipMsg.Text = Language.StringByID(StringId.DrawingInconsistencyError);
-                    //    btnTipMsg.IsSelected = true;
-                    //}
+                    
                 }
 
             };
 
-            if (optionType == "5" || optionType == "6" || optionType == "7")
+
+            //鍔犺浇搴曢儴楠岃瘉鎸夐挳
+            if (optionType == "5" || optionType == "6")
             {
-                Button btnLoginAccountVerify = new Button()
-                {
-                    Y = Application.GetRealHeight(517),
-                    Height = Application.GetRealHeight(60),
-                    TextAlignment = TextAlignment.Center,
-                    TextSize = CSS_FontSize.TextFontSize,
-                    TextColor = CSS_Color.MainColor,
-                    TextID = StringId.EnterLoginPasswordVerification,
-                };
-                bodyView.AddChidren(btnLoginAccountVerify);
-
-                btnLoginAccountVerify.MouseUpEventHandler = (sender, e) =>
-                {
-                    if (optionType == "7")
-                    {
-                        MainPage.GoLoginPage(UserInfo.Current);
-                    }
-                    else
-                    {
-                        Action<string> action = (pw) =>
-                        {
-                            var resultObj = new HttpServerRequest().LoginByPassword(UserInfo.Current.AccountString, pw);
-                            if (resultObj.Code == StateCode.SUCCESS)
-                            {
-                                UserInfo.Current.appUnlockPasswrod = "";
-                                UserInfo.Current.appUnlockType = new System.Collections.Generic.List<string>();
-                                UserInfo.Current.SaveUserInfo();
-                                this.RemoveFromParent();
-                                backAction();
-                            }
-                            else
-                            {
-                                //鐧诲綍澶辫触
-                                IMessageCommon.Current.ShowErrorInfoAlter(resultObj.Code);
-                            }
-
-                        };
-                        new PublicAssmebly().LoadDialog_EditParater(StringId.EnterLoginPasswordVerification, "", action, StringId.PlsEntryPassword, 0, new System.Collections.Generic.List<string>(), true);
-                    }
-                };
+                //杈撳叆鐧诲綍瀵嗙爜楠岃瘉 鎻愮ず鎸夐挳
+                AddInputPasswordTipButton();
             }
+            else if (optionType == "7")
+            {
+                //浣跨敤璐︽埛瀵嗙爜鐧诲綍鎸夐挳 鎻愮ず鎸夐挳
+                AddLoginTipButton();
+            }
+
+
+            //if (optionType == "5" || optionType == "6" || optionType == "7")
+            //{
+            //    Button btnLoginAccountVerify = new Button()
+            //    {
+            //        Y = Application.GetRealHeight(517),
+            //        Height = Application.GetRealHeight(60),
+            //        TextAlignment = TextAlignment.Center,
+            //        TextSize = CSS_FontSize.TextFontSize,
+            //        TextColor = CSS_Color.MainColor,
+            //        TextID = StringId.EnterLoginPasswordVerification,
+            //    };
+            //    bodyView.AddChidren(btnLoginAccountVerify);
+
+            //    btnLoginAccountVerify.MouseUpEventHandler = (sender, e) =>
+            //    {
+            //        if (optionType == "7")
+            //        {
+            //            MainPage.GoLoginPage(UserInfo.Current);
+            //        }
+            //        else
+            //        {
+            //            Action<string> action = (pw) =>
+            //            {
+            //                var resultObj = new HttpServerRequest().LoginByPassword(UserInfo.Current.AccountString, pw);
+            //                if (resultObj.Code == StateCode.SUCCESS)
+            //                {
+            //                    UserInfo.Current.appUnlockPasswrod = "";
+            //                    UserInfo.Current.appUnlockType = new System.Collections.Generic.List<string>();
+            //                    UserInfo.Current.SaveUserInfo();
+            //                    this.RemoveFromParent();
+            //                    backAction();
+            //                }
+            //                else
+            //                {
+            //                    //鐧诲綍澶辫触
+            //                    IMessageCommon.Current.ShowErrorInfoAlter(resultObj.Code);
+            //                }
+
+            //            };
+            //            new PublicAssmebly().LoadDialog_EditParater(StringId.EnterLoginPasswordVerification, "", action, StringId.PlsEntryPassword, 0, new System.Collections.Generic.List<string>(), true);
+            //        }
+            //    };
+            //}
         }
 
         /// <summary>
@@ -461,5 +332,70 @@
                 backAction();
             }
         }
+
+
+        /// <summary>
+        /// 浣跨敤璐︽埛瀵嗙爜鐧诲綍鎸夐挳 鎻愮ず鎸夐挳
+        /// </summary>
+        void AddLoginTipButton()
+        {
+            Button btnLoginAccountVerify = new Button()
+            {
+                Y = Application.GetRealHeight(517),
+                Height = Application.GetRealHeight(60),
+                TextAlignment = TextAlignment.Center,
+                TextSize = CSS_FontSize.TextFontSize,
+                TextColor = CSS_Color.MainColor,
+                TextID = StringId.LogWithAccountAndPassword,
+            };
+            bodyView.AddChidren(btnLoginAccountVerify);
+
+            btnLoginAccountVerify.MouseUpEventHandler = (sender, e) =>
+            {
+                //閫�鍑虹櫥褰�
+                HDLCommon.Current.Logout();
+            };
+        }
+
+        /// <summary>
+        /// 杈撳叆鐧诲綍瀵嗙爜楠岃瘉 鎻愮ず鎸夐挳
+        /// </summary>
+        void AddInputPasswordTipButton()
+        {
+            Button btnLoginAccountVerify = new Button()
+            {
+                Y = Application.GetRealHeight(517),
+                Height = Application.GetRealHeight(60),
+                TextAlignment = TextAlignment.Center,
+                TextSize = CSS_FontSize.TextFontSize,
+                TextColor = CSS_Color.MainColor,
+                TextID = StringId.EnterLoginPasswordVerification,
+            };
+            bodyView.AddChidren(btnLoginAccountVerify);
+
+            btnLoginAccountVerify.MouseUpEventHandler = (sender, e) =>
+            {
+                //杈撳叆鐧诲綍瀵嗙爜楠岃瘉
+                Action<string> action = (pw) =>
+                {
+                    var resultObj = new HttpServerRequest().LoginByPassword(UserInfo.Current.AccountString, pw);
+                    if (resultObj.Code == StateCode.SUCCESS)
+                    {
+                        UserInfo.Current.appUnlockPasswrod = "";
+                        UserInfo.Current.appUnlockType = new System.Collections.Generic.List<string>();
+                        UserInfo.Current.SaveUserInfo();
+                        this.RemoveFromParent();
+                        backAction();
+                    }
+                    else
+                    {
+                        //鐧诲綍澶辫触
+                        IMessageCommon.Current.ShowErrorInfoAlter(resultObj.Code);
+                    }
+
+                };
+                new PublicAssmebly().LoadDialog_EditParater(StringId.EnterLoginPasswordVerification, "", action, StringId.PlsEntryPassword, 0, new System.Collections.Generic.List<string>(), true);
+            };
+        }
     }
 }
\ No newline at end of file
diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/UnlockSetting/AppUnlockPasswordPage.cs b/HDL_ON/UI/UI2/4-PersonalCenter/UnlockSetting/AppUnlockPasswordPage.cs
index 8a8391b..4934c6b 100644
--- a/HDL_ON/UI/UI2/4-PersonalCenter/UnlockSetting/AppUnlockPasswordPage.cs
+++ b/HDL_ON/UI/UI2/4-PersonalCenter/UnlockSetting/AppUnlockPasswordPage.cs
@@ -20,7 +20,7 @@
         string passwrod = "";
         string oldPasswrod = "";
         Action backAction;
-        public AppUnlockPasswordPage(string pw,Action action)
+        public AppUnlockPasswordPage(string pw, Action action)
         {
             bodyView = this;
             oldPasswrod = pw;
@@ -54,16 +54,16 @@
                 TextAlignment = TextAlignment.Center,
                 TextColor = CSS_Color.FirstLevelTitleColor,
                 TextSize = CSS_FontSize.SubheadingFontSize,
-                TextID = string.IsNullOrEmpty(oldPasswrod)? StringId.PlsEntryPassword : StringId.PlsRegisterRepeatPassword,
+                TextID = string.IsNullOrEmpty(oldPasswrod) ? StringId.PlsEntryPassword : StringId.PlsRegisterRepeatPassword,
             };
             bodyView.AddChidren(btnTipTitle);
 
 
-            if (optionType == "2"|| optionType == "3")
+            if (optionType == "2" || optionType == "3")
             {
                 btnTipTitle.TextID = StringId.PleaseEnterTheOriginalDigitalPassword;
             }
-            if(optionType == "7")
+            if (optionType == "7")
             {
                 btnTipTitle.TextID = StringId.PlsEntryPassword;
             }
@@ -154,7 +154,7 @@
 
             etPassword.TextChangeEventHandler = (sender, e) => {
                 passwrod = etPassword.Text.Trim();
-                switch(etPassword.Text.Trim().Length)
+                switch (etPassword.Text.Trim().Length)
                 {
                     case 0:
                         btnTipIcon1.IsSelected = false;
@@ -191,7 +191,7 @@
                         {
                             //绉婚櫎褰撳墠鐣岄潰锛屾瘡娆¤繑鍥為兘杩斿洖鍒版渶涓婄骇
                             this.RemoveFromParent();
-                            var page = new AppUnlockPasswordPage(passwrod,backAction);
+                            var page = new AppUnlockPasswordPage(passwrod, backAction);
                             MainPage.BasePageView.AddChidren(page);
                             page.LoadPage(optionType);
                             MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
@@ -209,145 +209,6 @@
                                 //瀵嗙爜楠岃瘉澶辫触
                                 PasswordInputError(optionType);
                             }
-
-                            //if (optionType == "2")
-                            //{
-                            //    //绉婚櫎褰撳墠鐣岄潰锛屾瘡娆¤繑鍥為兘杩斿洖鍒版渶涓婄骇
-                            //    this.RemoveFromParent();
-                            //    var page = new AppUnlockPasswordPage("", backAction);
-                            //    MainPage.BasePageView.AddChidren(page);
-                            //    page.LoadPage("1");
-                            //    MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
-                            //    return;
-                            //}
-
-                            //if (optionType == "7")
-                            //{
-                            //    if (passwrod == oldPasswrod)
-                            //    {
-                            //        //MainPage.BasePageView.GetChildren(MainPage.BasePageView.ChildrenCount - 1).RemoveFromParent();
-                            //        this.RemoveFromParent();
-                            //        backAction();
-                            //        return;
-                            //    }
-                            //    else
-                            //    {
-                            //        btnTipError.TextID = StringId.AuthenticationFailedPasswordError;
-                            //        etPassword.Text = "";
-                            //        btnTipError.Visible = true;
-                            //    }
-                            //    return;
-                            //}
-                            //if (optionType == "3"|| optionType == "4")
-                            //{
-                            //    if (passwrod == oldPasswrod)
-                            //    {
-                            //        if(optionType == "4")
-                            //        {
-                            //            backAction();
-                            //            this.RemoveFromParent();
-                            //            return;
-                            //        }
-                            //        if (UserInfo.Current.appUnlockType.Contains("1"))
-                            //        {
-                            //            UserInfo.Current.appUnlockType =new System.Collections.Generic.List<string>();//.Remove("1");
-                            //            UserInfo.Current.appUnlockPasswrod = "";
-                            //            UserInfo.Current.SaveUserInfo();
-                            //            this.RemoveFromParent();
-                            //            backAction();
-                            //        }
-                            //    }
-                            //    else
-                            //    {
-                            //        btnTipError.TextID = StringId.AuthenticationFailedPasswordError;
-                            //        etPassword.Text = "";
-                            //        btnTipError.Visible = true;
-                            //    }
-                            //    return;
-                            //}
-                            ////鍏抽棴/寮�鍚寚绾规垨鑰呴潰瀹�
-                            //if (optionType == "5" || optionType == "6")//|| optionType == "8" || optionType == "9")
-                            //{
-                            //    if (passwrod == oldPasswrod)
-                            //    {
-                            //        if (optionType == "5")
-                            //        {
-                            //            if (UserInfo.Current.appUnlockType.Contains("3"))
-                            //                UserInfo.Current.appUnlockType.Remove("3");
-                            //            else
-                            //                UserInfo.Current.appUnlockType.Add("3");
-
-                            //            UserInfo.Current.SaveUserInfo();
-                            //            this.RemoveFromParent();
-                            //        }
-                            //        if (optionType == "6")
-                            //        {
-                            //            if (UserInfo.Current.appUnlockType.Contains("4"))
-                            //                UserInfo.Current.appUnlockType.Remove("4");
-                            //            else
-                            //                UserInfo.Current.appUnlockType.Add("4");
-
-                            //            UserInfo.Current.SaveUserInfo();
-                            //            this.RemoveFromParent();
-                            //        }
-                            //        backAction();
-                            //    }
-                            //    else
-                            //    {
-                            //        btnTipError.TextID = StringId.AuthenticationFailedPasswordError;
-                            //        etPassword.Text = "";
-                            //        btnTipError.Visible = true;
-                            //    }
-                            //    return;
-                            //}
-                            //if (passwrod == oldPasswrod)
-                            //{
-                            //    this.RemoveFromParent();
-                            //    var page = new OperationResultDisPalyPage();
-                            //    page.Show();
-
-                            //    page.LoadPage(true, Language.StringByID(StringId.SetSuccessfully), Language.StringByID(StringId.SetSuccessfully), "");
-                            //    string tipMsg = TouchIDUtils.getTouchIDSupperType() == TouchIDUtils.TouchIDSupperType.TouchID ? Language.StringByID(StringId.TurnOnFingerprintUnlocking) :
-                            //                    Language.StringByID(StringId.TurnOnFaceIdUnlocking);
-
-                            //    if (TouchIDUtils.getTouchIDSupperType() != TouchIDUtils.TouchIDSupperType.None)
-                            //    {
-                            //        var unlockType = TouchIDUtils.getTouchIDSupperType() == TouchIDUtils.TouchIDSupperType.TouchID ? "3" : "4";
-                            //        Action<bool> action = (result) =>
-                            //        {
-                            //            if (result)
-                            //            {
-                            //                if (!UserInfo.Current.appUnlockType.Contains(unlockType))
-                            //                {
-                            //                    UserInfo.Current.appUnlockType.Add(unlockType);
-                            //                }
-                            //            }
-                            //            else
-                            //            {
-                            //                if (UserInfo.Current.appUnlockType.Contains(unlockType))
-                            //                {
-                            //                    UserInfo.Current.appUnlockType.Remove(unlockType);
-                            //                }
-                            //            }
-                            //            backAction();
-                            //            UserInfo.Current.SaveUserInfo();
-                            //        };
-                            //        page.AdditionalOperations(tipMsg, action);
-                            //    }
-                            //    if (!UserInfo.Current.appUnlockType.Contains("1"))
-                            //    {
-                            //        UserInfo.Current.appUnlockType.Add("1");
-                            //    }
-                            //    UserInfo.Current.appUnlockPasswrod = passwrod;
-                            //    UserInfo.Current.SaveUserInfo();
-                            //    backAction();
-                            //}
-                            //else
-                            //{
-                            //    btnTipError.TextID = StringId.IncorrectRepeatPassword;
-                            //    etPassword.Text = "";
-                            //    btnTipError.Visible = true;
-                            //}
                         }
                         break;
                 }
@@ -364,50 +225,16 @@
 
             etPassword.Foucs = true;
 
-
-            if (optionType == "3" || optionType == "5" || optionType == "6" || optionType == "7")
+            //鍔犺浇搴曢儴楠岃瘉鎸夐挳
+            if (optionType == "3" || optionType == "5" || optionType == "6")
             {
-                Button btnLoginAccountVerify = new Button()
-                {
-                    Y = Application.GetRealHeight(517),
-                    Height = Application.GetRealHeight(60),
-                    TextAlignment = TextAlignment.Center,
-                    TextSize = CSS_FontSize.TextFontSize,
-                    TextColor = CSS_Color.MainColor,
-                    TextID = StringId.EnterLoginPasswordVerification,
-                };
-                bodyView.AddChidren(btnLoginAccountVerify);
-
-                btnLoginAccountVerify.MouseUpEventHandler = (sender, e) =>
-                {
-                    if (optionType == "7")
-                    {
-                        //MainPage.GoLoginPage( UserInfo.Current);
-                        //2020-12-12 閫�鍑虹櫥褰�
-                        HDLCommon.Current.Logout();
-                    }
-                    else
-                    {
-                        Action<string> action = (pw) => {
-                            var resultObj = new HttpServerRequest().LoginByPassword( UserInfo.Current.AccountString, pw);
-                            if (resultObj.Code.ToUpper() == StateCode.SUCCESS)
-                            {
-                                UserInfo.Current.appUnlockPasswrod = "";
-                                UserInfo.Current.appUnlockType = new System.Collections.Generic.List<string>();
-                                UserInfo.Current.SaveUserInfo();
-                                this.RemoveFromParent();
-                                backAction();
-                            }
-                            else
-                            {
-                                //鐧诲綍澶辫触
-                                IMessageCommon.Current.ShowErrorInfoAlter(resultObj.Code);
-                            }
-
-                        };
-                        new PublicAssmebly().LoadDialog_EditParater(StringId.EnterLoginPasswordVerification, "", action, StringId.PlsEntryPassword, 0, new System.Collections.Generic.List<string>(), true);
-                    }
-                };
+                //杈撳叆鐧诲綍瀵嗙爜楠岃瘉 鎻愮ず鎸夐挳
+                AddInputPasswordTipButton();
+            }
+            else if(optionType == "7")
+            {
+                //浣跨敤璐︽埛瀵嗙爜鐧诲綍鎸夐挳 鎻愮ず鎸夐挳
+                AddLoginTipButton();
             }
 
         }
@@ -552,5 +379,73 @@
                 backAction();
             }
         }
+
+
+        /// <summary>
+        /// 浣跨敤璐︽埛瀵嗙爜鐧诲綍鎸夐挳 鎻愮ず鎸夐挳
+        /// </summary>
+        void AddLoginTipButton(){
+            Button btnLoginAccountVerify = new Button()
+            {
+                Y = Application.GetRealHeight(517),
+                Height = Application.GetRealHeight(60),
+                TextAlignment = TextAlignment.Center,
+                TextSize = CSS_FontSize.TextFontSize,
+                TextColor = CSS_Color.MainColor,
+                TextID = StringId.LogWithAccountAndPassword,
+            };
+            bodyView.AddChidren(btnLoginAccountVerify);
+
+            btnLoginAccountVerify.MouseUpEventHandler = (sender, e) =>
+            {
+                //閫�鍑虹櫥褰�
+                HDLCommon.Current.Logout();
+            };
+        }
+
+        /// <summary>
+        /// 杈撳叆鐧诲綍瀵嗙爜楠岃瘉 鎻愮ず鎸夐挳
+        /// </summary>
+        void AddInputPasswordTipButton()
+        {
+            Button btnLoginAccountVerify = new Button()
+            {
+                Y = Application.GetRealHeight(517),
+                Height = Application.GetRealHeight(60),
+                TextAlignment = TextAlignment.Center,
+                TextSize = CSS_FontSize.TextFontSize,
+                TextColor = CSS_Color.MainColor,
+                TextID = StringId.EnterLoginPasswordVerification,
+            };
+            bodyView.AddChidren(btnLoginAccountVerify);
+
+            btnLoginAccountVerify.MouseUpEventHandler = (sender, e) =>
+            {
+                //杈撳叆鐧诲綍瀵嗙爜楠岃瘉
+                Action<string> action = (pw) => {
+                    var resultObj = new HttpServerRequest().LoginByPassword(UserInfo.Current.AccountString, pw);
+                    if (resultObj.Code.ToUpper() == StateCode.SUCCESS)
+                    {
+                        UserInfo.Current.appUnlockPasswrod = "";
+                        UserInfo.Current.appUnlockType = new System.Collections.Generic.List<string>();
+                        UserInfo.Current.SaveUserInfo();
+                        this.RemoveFromParent();
+                        backAction();
+                    }
+                    else
+                    {
+                        Application.RunOnMainThread(() =>
+                        {
+                            Utlis.ShowTip(Language.StringByID(StringId.AuthenticationFailedPasswordError));
+                        });
+                        ////鐧诲綍澶辫触
+                        //IMessageCommon.Current.ShowErrorInfoAlter(resultObj.Code);
+                    }
+
+                };
+                new PublicAssmebly().LoadDialog_EditParater(StringId.EnterLoginPasswordVerification, "", action, StringId.PlsEntryPassword, 0, new System.Collections.Generic.List<string>(), true);
+            };
+        }
+
     }
 }
diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/UnlockSetting/AppUnlockSettingsPageBLL.cs b/HDL_ON/UI/UI2/4-PersonalCenter/UnlockSetting/AppUnlockSettingsPageBLL.cs
index 14687b5..b20afa5 100644
--- a/HDL_ON/UI/UI2/4-PersonalCenter/UnlockSetting/AppUnlockSettingsPageBLL.cs
+++ b/HDL_ON/UI/UI2/4-PersonalCenter/UnlockSetting/AppUnlockSettingsPageBLL.cs
@@ -120,6 +120,11 @@
             EventHandler<MouseEventArgs> eventHandler2 = (sender, e) =>
             {
                 bool result = !btnStartupBg.IsSelected;
+                if (!result)
+                {
+                    //濡傛灉鍚姩瑙i攣 涓嶈兘鍙栨秷鍚姩瑙i攣
+                    if (!CheckIfCanDeselect("1")) return;
+                }
                 btnStartupBg.IsSelected = btnStartupSelectionIcon.IsSelected = btnStartupSelectionTip.IsSelected = result;
 
                 btnTipMsg.Text = Language.StringByID(StringId.AtStartupTipMsg);
@@ -158,6 +163,12 @@
             EventHandler<MouseEventArgs> eventHandler3 = (sender, e) =>
             {
                 bool result = !btnSecurityBg.IsSelected;
+                if (!result)
+                {
+                    //濡傛灉鍙墿甯冮槻/鎾ら槻涓�绉� 涓嶈兘鍙栨秷甯冮槻/鎾ら槻
+                    if (!CheckIfCanDeselect("2")) return;
+                }
+
                 btnSecurityBg.IsSelected = btnSecuritySelectionIcon.IsSelected = btnSecuritySelectionTip.IsSelected = result;
 
                 btnTipMsg.Text = Language.StringByID(StringId.DefenseAndUndefenseTipMsg);
@@ -197,6 +208,12 @@
             EventHandler<MouseEventArgs> eventHandler4 = (sender, e) =>
             {
                 bool result = !btnDoorlockBg.IsSelected;
+                if (!result)
+                {
+                    //濡傛灉鍙墿杩滅▼寮�閿佷笉鑳藉彇娑堣繙绋嬪紑閿�
+                    if (!CheckIfCanDeselect("3")) return;
+                }
+
                 btnDoorlockBg.IsSelected = btnDoorlockSelectionIcon.IsSelected = btnDoorlockSelectionTip.IsSelected = result;
 
                 btnTipMsg.Text = Language.StringByID(StringId.RemoteUnlockingTipMsg);
@@ -363,5 +380,21 @@
                 };
             }
         }
+
+        /// <summary>
+        /// 鍒ゆ柇鏄惁鑳藉鍙栨秷锛屽鏋滃彧鍓╂渶鍚庝竴绉嶈В閿佹柟妗堢姝㈠彇娑�
+        /// </summary>
+        /// <param name="appUnlockPageType">1:鍚姩鏃� 2:甯冮槻鎾ら槻鏃� 3:杩滅▼寮�閿佹椂</param>
+        /// <returns></returns>
+        bool CheckIfCanDeselect(string appUnlockPageType)
+        {
+            if (UserInfo.Current.appUnlockPage.Count == 1 && UserInfo.Current.appUnlockPage.Contains(appUnlockPageType))
+            {
+                return false;
+            }
+
+            return true;
+        }
+
     }
 }
\ No newline at end of file

--
Gitblit v1.8.0