From f788a1e320b8505435ed66e2456ddb2d0a838f76 Mon Sep 17 00:00:00 2001
From: JLChen <551775569@qq.com>
Date: 星期四, 19 十一月 2020 19:58:14 +0800
Subject: [PATCH] 2020-11-19 1.优化绑定和解绑页面。2.修改密码功能实现,UI界面实现,接口实现。

---
 HDL_ON/UI/UI2/4-PersonalCenter/PersonalDataPageBLL.cs |  210 +++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 174 insertions(+), 36 deletions(-)

diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/PersonalDataPageBLL.cs b/HDL_ON/UI/UI2/4-PersonalCenter/PersonalDataPageBLL.cs
index e1c578d..ebbec1e 100644
--- a/HDL_ON/UI/UI2/4-PersonalCenter/PersonalDataPageBLL.cs
+++ b/HDL_ON/UI/UI2/4-PersonalCenter/PersonalDataPageBLL.cs
@@ -1,4 +1,5 @@
 锘縰sing System;
+using HDL_ON.DAL.Server;
 using HDL_ON.Entity;
 using Shared;
 
@@ -15,6 +16,10 @@
             LoadEvent_Logout();
             LoadEvent_EditUserName();
             LoadEvent_SkipInterpretationSettings();
+            LoadEvent_ChangeBindEmail();
+            LoadEvent_ChangeBindPhone();
+            LoadEvent_SkipModifyPassword();
+            GetUserInfo();
         }
 
         /// <summary>
@@ -22,7 +27,8 @@
         /// </summary>
         void LoadEvent_ChangeHeadImageView()
         {
-            userHeadImageView.MouseUpEventHandler = (sender, e) => {
+            userHeadImageView.MouseUpEventHandler = (sender, e) =>
+            {
                 LoadPictureOptionView();
             };
         }
@@ -32,11 +38,41 @@
         /// </summary>
         void LoadEvent_Logout()
         {
-            btnLogout.MouseUpEventHandler += (sender, e) => {
+            btnLogout.MouseUpEventHandler += (sender, e) =>
+            {
+                #region 淇濆瓨鏈湴鏁版嵁鑷虫枃浠跺す
+                string oldRegionRootPath = FileUtils.CreateRegionBackup(DB_ResidenceData.residenceData.CurReginID.ToString());
+                new System.Threading.Thread(() =>
+                {
+                    try
+                    {
+                        var backuplist = FileUtils.ReadFiles();
+                        FileUtils.DeleteRegionFiles(oldRegionRootPath);
+                        //绉诲姩鏂囦欢
+                        foreach (var fileName in backuplist)
+                        {
+                            System.IO.FileInfo fileInfo = new System.IO.FileInfo(FileUtils.RootPath + fileName);
+                            if (fileInfo.Exists)
+                            {
+                                fileInfo.MoveTo(oldRegionRootPath + fileName);
+                                MainPage.Log("move file : " + fileName);
+                            }
+                        }
+                    }
+                    catch (Exception ex)
+                    {
+                        MainPage.Log($"xxx:{ex.Message}");
+                    }
+                    finally
+                    {
+                        FileUtils.DeleteAllFile();
+                    }
+                }).Start();
+                #endregion
+
                 MainPage.LoginUser.lastTime = DateTime.MinValue;
                 MainPage.LoginUser.SaveUserInfo();
-                MainPage.GoLoginPage(MainPage.LoginUser.accountString);
-                FileUtils.DeleteAllFile();
+                MainPage.GoLoginPage(MainPage.LoginUser);
                 DB_ResidenceData.residenceData.EixtAccount();
             };
         }
@@ -44,20 +80,28 @@
         /// <summary>
         /// 鍔犺浇鑳屾櫙鍥鹃�夋嫨鍖哄煙浜嬩欢鍒楄〃
         /// </summary>
-        void LoadEvent_PictureOptionViewEventList()
+        void LoadEvent_PictureOptionViewEventList(FrameLayout baseView)
         {
             pictureOptionView.MouseUpEventHandler = (sender, e) =>
             {
-                pictureOptionView.RemoveFromParent();
+                baseView.RemoveFromParent();
             };
-
+            baseView.MouseUpEventHandler = (sender, e) =>
+            {
+                baseView.RemoveFromParent();
+            };
             btnCancel.MouseUpEventHandler = (sender, e) =>
             {
-                pictureOptionView.RemoveFromParent();
+                baseView.RemoveFromParent();
             };
 
             btnTakePicture.MouseUpEventHandler = (sender, e) =>
             {
+                btnTakePicture.IsSelected = true;
+            };
+            btnTakePicture.MouseUpEventHandler = (sender, e) =>
+            {
+                btnTakePicture.IsSelected = false;
                 var pid = Guid.NewGuid();
                 CropImage.TakePicture((Action<string>)((imagePath) =>
                 {
@@ -76,10 +120,17 @@
                     }
                 }), pid.ToString(), 1, 1);
                 pictureOptionView.RemoveFromParent();
+                baseView.RemoveFromParent();
             };
 
             btnAlbum.MouseUpEventHandler = (sender, e) =>
             {
+                btnAlbum.IsSelected = true;
+            };
+
+            btnAlbum.MouseUpEventHandler = (sender, e) =>
+            {
+                btnAlbum.IsSelected = false;
                 var pid = Guid.NewGuid();
                 CropImage.SelectPicture((imagePath) =>
                 {
@@ -98,6 +149,7 @@
                     }
                 }, pid.ToString(), 1, 1);
                 pictureOptionView.RemoveFromParent();
+                baseView.RemoveFromParent();
             };
         }
 
@@ -114,10 +166,14 @@
                     {
                         new Tip()
                         {
-                            CloseTime = 3,
+                            CloseTime = 1,
                             Text = Language.StringByID(StringId.UesrNameCannotBeEmpty),
                             Direction = AMPopTipDirection.None,
                         }.Show(bodyView);
+                        return;
+                    }
+                    if (str == MainPage.LoginUser.userName)
+                    {
                         return;
                     }
                     var waitPage = new Loading();
@@ -126,8 +182,8 @@
                     {
                         try
                         {
-                            var responsePack = new DAL.Server.HttpServerRequest().EditUserName(str);
-                            if (responsePack.StateCode.ToUpper() == "SUCCESS")
+                            var resultObj = new HttpServerRequest().EditUserName(str);
+                            if (resultObj.Code == StateCode.SUCCESS)
                             {
                                 MainPage.LoginUser.userName = str;
                                 MainPage.LoginUser.SaveUserInfo();
@@ -139,47 +195,101 @@
                             }
                             else
                             {
-                                var tipStr = "Server erorr";
-                                switch (responsePack.StateCode)
-                                {
-                                    case "NoLogin":
-                                        tipStr = Language.StringByID(StringId.InvalidLoginCertificate);
-                                        break;
-                                    case "AccountNoExists":
-                                        tipStr = "";
-                                        break;
-                                }
-                                Application.RunOnMainThread(() =>
-                                {
-                                //鎻愮ず鍘熷洜
-                                var tip = new Tip()
-                                    {
-                                        Text = tipStr,
-                                        CloseTime = 3,
-                                        Direction = AMPopTipDirection.None
-                                    };
-                                    tip.Show(bodyView);
-                                });
+                                //澶辫触鎻愮ず
+                                IMessageCommon.Current.ShowErrorInfoAlter(NewAPI.API_POST_Member_UpdateMemberInfo, resultObj.Code);
                             }
-                        }catch (Exception ex)
+                        }
+                        catch (Exception ex)
                         {
                             MainPage.Log($"update user name error : {ex.Message}");
                         }
                         finally
                         {
-                            Application.RunOnMainThread(() => {
+                            Application.RunOnMainThread(() =>
+                            {
                                 waitPage.Hide();
                             });
                         }
                     })
                     { IsBackground = true }.Start();
                 };
-                new PublicAssmebly().LoadDialog_EditParater(StringId.UesrName, MainPage.LoginUser.userName, callBack,StringId.UesrNameCannotBeEmpty,0,new System.Collections.Generic.List<string>());
+                new PublicAssmebly().LoadDialog_EditParater(StringId.ChangeName, MainPage.LoginUser.userName, callBack, StringId.UesrNameCannotBeEmpty, 0, new System.Collections.Generic.List<string>());
             };
             btnUserName.MouseUpEventHandler = eventHandler;
             btnEditUserNameIcon.MouseUpEventHandler = eventHandler;
         }
 
+        #region 淇敼缁戝畾閭
+        /// <summary>
+        /// 淇敼缁戝畾閭
+        /// </summary>
+        void LoadEvent_ChangeBindEmail()
+        {
+            EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
+            {
+                Action<string> action = (email) =>
+                {
+
+                    btnUserEmailInfo.Text = GetBindAccountText(email);
+                };
+
+                if (CheckIfUnbound(btnUserEmailInfo.Text))
+                {
+                    //鏈粦瀹�,璺宠浆鏂扮粦瀹氶〉闈�
+                    var aep = new NewBindAccountPage();
+                    MainPage.BasePageView.AddChidren(aep);
+                    aep.LoadPage(action);
+                    MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+                }
+                else
+                {
+                    var aep = new AccountBindInfoPage();
+                    MainPage.BasePageView.AddChidren(aep);
+                    aep.LoadPage(action, 1, StringId.EmailAddress);
+                    MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+                }
+
+            };
+            btnUserEmailInfo.MouseUpEventHandler = eventHandler;
+            btnUserEmailRight.MouseUpEventHandler = eventHandler;
+            userEmailInfoView.MouseUpEventHandler = eventHandler;
+        }
+
+        /// <summary>
+        /// 淇敼缁戝畾鎵嬫満
+        /// </summary>
+        void LoadEvent_ChangeBindPhone()
+        {
+            EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
+            {
+                Action<string> action = (phone) =>
+                {
+                    btnUserPhoneInfo.Text = GetBindAccountText(phone);
+                };
+
+                if (CheckIfUnbound(btnUserPhoneInfo.Text))
+                {
+                    //鏈粦瀹�,璺宠浆鏂扮粦瀹氶〉闈�
+                    var aep = new NewBindAccountPage();
+                    MainPage.BasePageView.AddChidren(aep);
+                    aep.LoadPage(action, true);
+                    MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+                }
+                else
+                {
+                    var aep = new AccountBindInfoPage();
+                    MainPage.BasePageView.AddChidren(aep);
+                    aep.LoadPage(action, 2, StringId.PhoneInfo);
+                    MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+                }
+
+
+            };
+            btnUserPhoneInfo.MouseUpEventHandler = eventHandler;
+            btnUserPhoneRight.MouseUpEventHandler = eventHandler;
+            userPhoneInfoView.MouseUpEventHandler = eventHandler;
+        }
+        #endregion
 
         #region 瑙i攣璁剧疆鍖哄煙
         void LoadEvent_SkipInterpretationSettings()
@@ -199,5 +309,33 @@
 
         #endregion
 
+        /// <summary>
+        /// 璺宠浆淇敼瀵嗙爜鐣岄潰
+        /// </summary>
+        void LoadEvent_SkipModifyPassword()
+        {
+            EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
+            {
+                var page = new ResetPasswordOptionPage();
+                MainPage.BasePageView.AddChidren(page);
+                page.LoadPage();
+                MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+            };
+            btnResetPasswordRight.MouseUpEventHandler = eventHandler;
+            btnResetPasswordText.MouseUpEventHandler = eventHandler;
+            resetPasswordView.MouseUpEventHandler = eventHandler;
+        }
+
+        /// <summary>
+        /// 
+        /// </summary>
+        void GetUserInfo()
+        {
+            new System.Threading.Thread(() =>
+            {
+                new HttpServerRequest().GetUserInfo();
+            })
+            { IsBackground = true }.Start();
+        }
     }
-}
+}
\ No newline at end of file

--
Gitblit v1.8.0