From 1265d531759b5565e9f641b17045896b52dfdba8 Mon Sep 17 00:00:00 2001
From: JLChen <551775569@qq.com>
Date: 星期四, 03 十二月 2020 18:37:47 +0800
Subject: [PATCH] 2020-12-03 1.主页增加未读消息查询和提示处理。2.房间和场景背景上传和下载和读取方法修改处理。3.头像上传和下载方案修改处理。4.增加子账号头像下载。5.Loading 调用方法修复。6.封装ImageUtlis 图片上传和下载管理工具类 7.读取本地住宅增加判空处理。

---
 HDL_ON/UI/UI2/4-PersonalCenter/PersonalDataPageBLL.cs |  176 +++++++++++++++++++++++++++++++++-------------------------
 1 files changed, 100 insertions(+), 76 deletions(-)

diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/PersonalDataPageBLL.cs b/HDL_ON/UI/UI2/4-PersonalCenter/PersonalDataPageBLL.cs
index fd746a4..5007461 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 System.Threading;
 using HDL_ON.DAL.Server;
 using HDL_ON.Entity;
 using Shared;
@@ -73,6 +74,7 @@
             new HttpServerRequest().SignOutPush();
             //3.璺宠浆鐧诲綍椤甸潰
             UserInfo.Current.LastTime = DateTime.MinValue;
+            UserInfo.Current.headImagePagePath = "LoginIcon/2.png";//閲嶇疆鐢ㄦ埛澶村儚
             UserInfo.Current.SaveUserInfo();
             MainPage.GoLoginPage(UserInfo.Current);
             DB_ResidenceData.residenceData.EixtAccount();
@@ -118,30 +120,13 @@
             btnTakePicture.MouseUpEventHandler = (sender, e) =>
             {
                 btnTakePicture.IsSelected = false;
-                //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();
+                //var imageName = "headImage";
+                var imageName = Guid.NewGuid().ToString();
                 CropImage.TakePicture((imagePath) =>
                 {
-                    CropImageCallBack(imagePath, imageName);
+                    CropImageCallBack(imagePath);
 
                 }, imageName, 1, 1);
 
@@ -157,30 +142,12 @@
             btnAlbum.MouseUpEventHandler = (sender, e) =>
             {
                 btnAlbum.IsSelected = false;
-                //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";
+                var imageName = Guid.NewGuid().ToString();
+                //var imageName = "headImage";
                 CropImage.SelectPicture((imagePath) =>
                 {
-                    CropImageCallBack(imagePath, imageName);
+                    CropImageCallBack(imagePath);
                 }, imageName, 1, 1);
 
                 pictureOptionView.RemoveFromParent();
@@ -191,51 +158,103 @@
         /// <summary>
         /// 瑁佸壀瀹岀収鐗囧洖璋冿紝缁熶竴澶勭悊
         /// </summary>
-        /// <param name="imagePath">瑁佸壀鍚庣殑鐪熷疄璺緞</param>
-        /// <param name="imageName">鑷畾涔夌殑鍥剧墖鍚嶇О</param>
-        void CropImageCallBack(string imagePath, string imageName)
+        /// <param name="selectImagePath">瑁佸壀鍚庣殑鐪熷疄璺緞</param>
+        void CropImageCallBack(string selectImagePath)
         {
-            if (string.IsNullOrEmpty(imagePath) == true)
+            if (string.IsNullOrEmpty(selectImagePath) == true)
             {
                 return;
             }
+
+            //涓婁紶鎴愬姛鍒板洖璋�
+            Action<string> uploadSuccessAction = (imageUrl) =>
+            {
+                //鐢熸垚鍥剧墖
+                UserInfo.Current.headImagePagePath = imageUrl;
+                updataHeadImage();
+                UserInfo.Current.SaveUserInfo();
+            };
+
+            //涓婁紶鍥剧墖鍒颁簯绔�
+            UploadImage(selectImagePath, userHeadImageView, UserInfo.Current.ID, uploadSuccessAction);
+        }
+
+        /// <summary>
+        /// 涓婁紶鍥剧墖鏂规硶
+        /// </summary>
+        /// <param name="selectImagePath">瑁佸壀鍚庣殑鍥剧墖璺緞</param>
+        /// <param name="imageView"></param>
+        /// <param name="uploadSuccessAction"></param>
+        void UploadImage(string selectImagePath, ImageView imageView, string userId, Action<string> uploadSuccessAction)
+        {
             try
             {
-                MainPage.Log("SelectPicture 瑁佸壀鍥剧墖杩斿洖璺緞: " + imagePath);
+                MainPage.Log("SelectPicture 瑁佸壀鍥剧墖杩斿洖璺緞: " + selectImagePath);
+                //1.璇诲彇瑁佸壀鍚庣殑鍥剧墖锛岀劧鍚庡垹闄�
+                var imageBytes = Shared.IO.FileUtils.ReadFile(selectImagePath);
+                System.IO.File.Delete(selectImagePath);
 
-                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(() =>
+                var waitPage = new Loading();
+                bodyView.AddChidren(waitPage);
+                waitPage.Start(Language.StringByID(StringId.PleaseWait));
+                //寮�濮嬩笂浼�
+                new Thread(() =>
                 {
-                    new DAL.Server.HttpServerRequest().UpdataUserHeadImage(headPath);
+                    try
+                    {
+                        var uploadImageObj = ImageUtlis.Current.GetHeadImageUploadKeyObj(userId);
+                        uploadImageObj.content = imageBytes;
+                        var imageUrl = ImageUtlis.Current.UploadImage(uploadImageObj);
+                        if (!string.IsNullOrEmpty(imageUrl) && imageUrl.Contains(userId))
+                        {
+                            //涓婁紶鎴愬姛
+                            Application.RunOnMainThread(() =>
+                            {
+                                Utlis.WriteLine("涓婁紶鎴愬姛锛�" + imageUrl);
+                                //1.2濡傛灉鏄嚜瀹氫箟鍥剧墖鍒犻櫎涔嬪墠鐨�
+                                if (!imageView.ImagePath.Contains("LoginIcon/2.png"))
+                                {
+                                    Utlis.WriteLine("鍒犻櫎: " + imageView.ImagePath);
+                                    System.IO.File.Delete(imageView.ImagePath);
+                                }
+                                //閲嶅懡鍚嶄繚瀛�
+                                FileUtils.WriteFileByBytes(imageUrl, imageBytes);
+                                imageView.ImagePath = null;
+                                imageView.ImageBytes = imageBytes;
+                                //涓婁紶鎴愬姛
+                                Utlis.ShowTip(Language.StringByID(StringId.UploadSuccessfully));
+                                uploadSuccessAction?.Invoke(imageUrl);
+                            });
+                        }
+                        else
+                        {
+                            //涓婁紶澶辫触
+                            Application.RunOnMainThread(() =>
+                            {
+                                //涓婁紶澶辫触
+                                Utlis.ShowTip(Language.StringByID(StringId.UploadFailed));
+                            });
+                        }
+
+                    }
+                    catch (Exception ex)
+                    {
+                    }
+                    finally
+                    {
+                        Application.RunOnMainThread(() =>
+                        {
+                            if (waitPage != null)
+                            {
+                                waitPage.RemoveFromParent();
+                                waitPage = null;
+                            }
+                        });
+                    }
                 })
                 { IsBackground = true }.Start();
-                UserInfo.Current.SaveUserInfo();
             }
             catch { }
-
         }
 
         /// <summary>
@@ -262,6 +281,7 @@
                         return;
                     }
                     var waitPage = new Loading();
+                    bodyView.AddChidren(waitPage);
                     waitPage.Start(Language.StringByID(StringId.PleaseWait));
                     new System.Threading.Thread(() =>
                     {
@@ -292,7 +312,11 @@
                         {
                             Application.RunOnMainThread(() =>
                             {
-                                waitPage.Hide();
+                                if (waitPage != null)
+                                {
+                                    waitPage.RemoveFromParent();
+                                    waitPage = null;
+                                }
                             });
                         }
                     })

--
Gitblit v1.8.0