From 30b5770f56f99c1f92e933ad31cf7d2af58b033c Mon Sep 17 00:00:00 2001
From: wei <kaede@kaededeMacBook-Air.local>
Date: 星期三, 02 十二月 2020 16:31:48 +0800
Subject: [PATCH] 20201202

---
 HDL_ON/UI/UI2/4-PersonalCenter/PersonalDataPageBLL.cs |  315 +++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 238 insertions(+), 77 deletions(-)

diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/PersonalDataPageBLL.cs b/HDL_ON/UI/UI2/4-PersonalCenter/PersonalDataPageBLL.cs
index 90f7720..fd746a4 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;
 
@@ -18,6 +19,8 @@
             LoadEvent_ChangeBindEmail();
             LoadEvent_ChangeBindPhone();
             LoadEvent_SkipModifyPassword();
+            LoadEvent_MyQRcode();
+            GetUserInfo();
         }
 
         /// <summary>
@@ -32,17 +35,61 @@
         }
 
         /// <summary>
+        /// 閫�鍑虹櫥褰曟搷浣�
+        /// </summary>
+        void Logout()
+        {
+            #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
+
+            //2.娉ㄩ攢鎺ㄩ��
+            new HttpServerRequest().SignOutPush();
+            //3.璺宠浆鐧诲綍椤甸潰
+            UserInfo.Current.LastTime = DateTime.MinValue;
+            UserInfo.Current.SaveUserInfo();
+            MainPage.GoLoginPage(UserInfo.Current);
+            DB_ResidenceData.residenceData.EixtAccount();
+        }
+
+        /// <summary>
         /// 閫�鍑鸿处鍙风櫥褰曚簨浠�
         /// </summary>
         void LoadEvent_Logout()
         {
             btnLogout.MouseUpEventHandler += (sender, e) =>
             {
-                MainPage.LoginUser.lastTime = DateTime.MinValue;
-                MainPage.LoginUser.SaveUserInfo();
-                MainPage.GoLoginPage(MainPage.LoginUser);
-                FileUtils.DeleteAllFile();
-                DB_ResidenceData.residenceData.EixtAccount();
+                Action okAction = () =>
+                {
+                    Logout();
+                };
+                new ConfirmDialog().ShowDialog(StringId.Tip, StringId.IfConfirmLogout, okAction);
             };
         }
 
@@ -55,7 +102,8 @@
             {
                 baseView.RemoveFromParent();
             };
-            baseView.MouseUpEventHandler = (sender, e) => {
+            baseView.MouseUpEventHandler = (sender, e) =>
+            {
                 baseView.RemoveFromParent();
             };
             btnCancel.MouseUpEventHandler = (sender, e) =>
@@ -70,24 +118,35 @@
             btnTakePicture.MouseUpEventHandler = (sender, e) =>
             {
                 btnTakePicture.IsSelected = false;
-                var pid = Guid.NewGuid();
-                CropImage.TakePicture((Action<string>)((imagePath) =>
+                //var pid = Guid.NewGuid();
+                //CropImage.TakePicture((Action<string>)((imagePath) =>
+                //{
+                //    if (imagePath != null)
+                //    {
+                //        UserInfo.Current.headImagePagePath = imagePath.ToString();
+                //        userHeadImageView.ImagePath = imagePath.ToString();
+                //        updataHeadImage();
+                //        new System.Threading.Thread(() =>
+                //        {
+                //            new DAL.Server.HttpServerRequest().UpdataUserHeadImage(imagePath);
+                //        })
+                //        { IsBackground = true }.Start();
+                //        UserInfo.Current.SaveUserInfo();
+                //        MainPage.Log("SelectPicture 瑁佸壀鍥剧墖杩斿洖璺緞: " + imagePath);
+                //    }
+                //}), pid.ToString(), 1, 1);
+
+                //鎷嶇収瑁佸壀
+                var imageName = "headImage";
+                //var imageName = Guid.NewGuid().ToString();
+                CropImage.TakePicture((imagePath) =>
                 {
-                    if (imagePath != null)
-                    {
-                        MainPage.LoginUser.headImagePagePath = imagePath.ToString();
-                        userHeadImageView.ImagePath = imagePath.ToString();
-                        updataHeadImage();
-                        new System.Threading.Thread(() =>
-                        {
-                            new DAL.Server.HttpServerRequest().UpdataUserHeadImage(imagePath);
-                        })
-                        { IsBackground = true }.Start();
-                        MainPage.LoginUser.SaveUserInfo();
-                        MainPage.Log("SelectPicture 瑁佸壀鍥剧墖杩斿洖璺緞: " + imagePath);
-                    }
-                }), pid.ToString(), 1, 1);
+                    CropImageCallBack(imagePath, imageName);
+
+                }, imageName, 1, 1);
+
                 pictureOptionView.RemoveFromParent();
+                baseView.RemoveFromParent();
             };
 
             btnAlbum.MouseUpEventHandler = (sender, e) =>
@@ -98,25 +157,85 @@
             btnAlbum.MouseUpEventHandler = (sender, e) =>
             {
                 btnAlbum.IsSelected = false;
-                var pid = Guid.NewGuid();
+                //var pid = Guid.NewGuid();
+                //CropImage.SelectPicture((imagePath) =>
+                //{
+                //    if (imagePath != null)
+                //    {
+                //        UserInfo.Current.headImagePagePath = imagePath.ToString();
+                //        userHeadImageView.ImagePath = imagePath.ToString();
+                //        updataHeadImage();
+
+                //        new System.Threading.Thread(() =>
+                //        {
+                //            new DAL.Server.HttpServerRequest().UpdataUserHeadImage(imagePath);
+                //        })
+                //        { IsBackground = true }.Start(); UserInfo.Current.SaveUserInfo();
+                //        MainPage.Log("SelectPicture 瑁佸壀鍥剧墖杩斿洖璺緞: " + imagePath);
+                //    }
+                //}, pid.ToString(), 1, 1);
+
+                //浠庣浉鍐岄�夋嫨鍥剧墖瑁佸壀
+                //var imageName = Guid.NewGuid().ToString();
+                var imageName = "headImage";
                 CropImage.SelectPicture((imagePath) =>
                 {
-                    if (imagePath != null)
-                    {
-                        MainPage.LoginUser.headImagePagePath = imagePath.ToString();
-                        userHeadImageView.ImagePath = imagePath.ToString();
-                        updataHeadImage();
+                    CropImageCallBack(imagePath, imageName);
+                }, imageName, 1, 1);
 
-                        new System.Threading.Thread(() =>
-                        {
-                            new DAL.Server.HttpServerRequest().UpdataUserHeadImage(imagePath);
-                        })
-                        { IsBackground = true }.Start(); MainPage.LoginUser.SaveUserInfo();
-                        MainPage.Log("SelectPicture 瑁佸壀鍥剧墖杩斿洖璺緞: " + imagePath);
-                    }
-                }, pid.ToString(), 1, 1);
                 pictureOptionView.RemoveFromParent();
+                baseView.RemoveFromParent();
             };
+        }
+
+        /// <summary>
+        /// 瑁佸壀瀹岀収鐗囧洖璋冿紝缁熶竴澶勭悊
+        /// </summary>
+        /// <param name="imagePath">瑁佸壀鍚庣殑鐪熷疄璺緞</param>
+        /// <param name="imageName">鑷畾涔夌殑鍥剧墖鍚嶇О</param>
+        void CropImageCallBack(string imagePath, string imageName)
+        {
+            if (string.IsNullOrEmpty(imagePath) == true)
+            {
+                return;
+            }
+            try
+            {
+                MainPage.Log("SelectPicture 瑁佸壀鍥剧墖杩斿洖璺緞: " + imagePath);
+
+                var headPath = imagePath;
+#if __IOS__
+
+
+#else
+                //1.浣跨敤鏂板悕瀛楋紝瑙e喅鐩稿悓璺緞涓嶅埛鏂板浘鐗囬棶棰�
+                imageName = Guid.NewGuid().ToString() + ".png";
+                //1.2鍒犻櫎鍘熸潵鏈湴澶村儚
+                System.IO.File.Delete(userHeadImageView.ImagePath);
+                Utlis.WriteLine("鍒犻櫎: " + userHeadImageView.ImagePath);
+                //1.3濡傛灉鏄畨鍗撻渶瑕佹嫹璐濆洖鏉PP鏍圭洰褰�
+                FileUtils.FileCopyToRootPath(imagePath, imageName);
+                System.IO.File.Delete(imagePath);
+                headPath = imageName;
+                MainPage.Log("SelectPicture 鏈�缁堣矾寰�: " + imageName);
+#endif
+
+                //娓呯┖鍘熸潵鍥剧墖
+                userHeadImageView.ImagePath = "NULL";
+                //鐢熸垚鍥剧墖
+                UserInfo.Current.headImagePagePath = headPath;
+                userHeadImageView.ImagePath = headPath;
+                updataHeadImage();
+
+                new System.Threading.Thread(() =>
+                {
+                    new DAL.Server.HttpServerRequest().UpdataUserHeadImage(headPath);
+                })
+                { IsBackground = true }.Start();
+                UserInfo.Current.SaveUserInfo();
+            }
+            catch { }
+
         }
 
         /// <summary>
@@ -132,13 +251,13 @@
                     {
                         new Tip()
                         {
-                            CloseTime = 3,
+                            CloseTime = 1,
                             Text = Language.StringByID(StringId.UesrNameCannotBeEmpty),
                             Direction = AMPopTipDirection.None,
                         }.Show(bodyView);
                         return;
                     }
-                    if(str == MainPage.LoginUser.userName)
+                    if (str == UserInfo.Current.userName)
                     {
                         return;
                     }
@@ -148,11 +267,11 @@
                     {
                         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();
+                                UserInfo.Current.userName = str;
+                                UserInfo.Current.SaveUserInfo();
                                 Application.RunOnMainThread(() =>
                                 {
                                     btnUserName.Text = str;
@@ -161,27 +280,8 @@
                             }
                             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(resultObj.Code);
                             }
                         }
                         catch (Exception ex)
@@ -198,10 +298,30 @@
                     })
                     { 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, UserInfo.Current.userName, callBack, StringId.UesrNameCannotBeEmpty, 0, new System.Collections.Generic.List<string>());
             };
             btnUserName.MouseUpEventHandler = eventHandler;
             btnEditUserNameIcon.MouseUpEventHandler = eventHandler;
+        }
+
+        /// <summary>
+        /// 鍔犺浇鎴戠殑浜岀淮鐮佷簨浠�
+        /// </summary>
+        void LoadEvent_MyQRcode()
+        {
+            EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
+            {
+                //鎴戠殑浜岀淮鐮�
+                var aep = new MyQRCodePage();
+                MainPage.BasePageView.AddChidren(aep);
+                aep.LoadPage();
+                MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+
+            };
+            _QRcodeView.MouseUpEventHandler = eventHandler;
+            btnQRcode.MouseUpEventHandler = eventHandler;
+            btnQRcodeIcon.MouseUpEventHandler = eventHandler;
+            btnQRcodeRight.MouseUpEventHandler = eventHandler;
         }
 
         #region 淇敼缁戝畾閭
@@ -210,36 +330,65 @@
         /// </summary>
         void LoadEvent_ChangeBindEmail()
         {
-            EventHandler<MouseEventArgs> eventHandler = (sender, e) => {
+            EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
+            {
                 Action<string> action = (email) =>
                 {
-                    btnUserEmailInfo.Text = email;
+
+                    btnUserEmailInfo.Text = GetBindAccountText(email);
                 };
 
-                var aep = new AccountBindInfoPage();
-                MainPage.BasePageView.AddChidren(aep);
-                aep.LoadPage(action,1,StringId.EmailAddress);
-                MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+                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) => {
+            EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
+            {
                 Action<string> action = (phone) =>
                 {
-                    btnUserPhoneInfo.Text = phone;
+                    btnUserPhoneInfo.Text = GetBindAccountText(phone);
                 };
 
-                var aep = new AccountBindInfoPage();
-                MainPage.BasePageView.AddChidren(aep);
-                aep.LoadPage(action, 2, StringId.PhoneInfo);
-                MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+                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;
@@ -270,7 +419,8 @@
         /// </summary>
         void LoadEvent_SkipModifyPassword()
         {
-            EventHandler<MouseEventArgs> eventHandler = (sender, e) => {
+            EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
+            {
                 var page = new ResetPasswordOptionPage();
                 MainPage.BasePageView.AddChidren(page);
                 page.LoadPage();
@@ -281,5 +431,16 @@
             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