From 0414d9754bc61b5e496930ff184ede647ab4cc3a Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期五, 11 十二月 2020 14:35:10 +0800
Subject: [PATCH] 2020-12-11-1
---
HDL_ON/UI/UI2/4-PersonalCenter/PersonalDataPageBLL.cs | 245 +++++++++++++++++++++++++++++++++++++++---------
1 files changed, 199 insertions(+), 46 deletions(-)
diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/PersonalDataPageBLL.cs b/HDL_ON/UI/UI2/4-PersonalCenter/PersonalDataPageBLL.cs
index 88e218e..ffbbe89 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;
@@ -34,19 +35,70 @@
};
}
+ ///// <summary>
+ ///// 閫�鍑虹櫥褰曟搷浣�
+ ///// </summary>
+ //void Logout()
+ //{
+ // #region 淇濆瓨鏈湴鏁版嵁鑷虫枃浠跺す
+ // string oldRegionRootPath = FileUtils.CreateRegionBackup(DB_ResidenceData.residenceData.CurReginID.ToString());
+ // new System.Threading.Thread(() =>
+ // {
+ // try
+ // {
+ // var backuplist = FileUtils.ReadFiles();
+ // //绉诲姩鏂囦欢
+ // 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);
+ // }
+ // }
+ // FileUtils.DeleteRegionFiles(oldRegionRootPath);
+ // }
+ // 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.headImagePagePath = "LoginIcon/2.png";//閲嶇疆鐢ㄦ埛澶村儚
+ // UserInfo.Current.SaveUserInfo();
+ // MainPage.GoLoginPage(UserInfo.Current);
+ // DB_ResidenceData.residenceData.EixtAccount();
+ //}
+
/// <summary>
/// 閫�鍑虹櫥褰曟搷浣�
/// </summary>
- void Logout()
+ public void LogoutNew()
{
- #region 淇濆瓨鏈湴鏁版嵁鑷虫枃浠跺す
- string oldRegionRootPath = FileUtils.CreateRegionBackup(DB_ResidenceData.residenceData.CurReginID.ToString());
- new System.Threading.Thread(() =>
+ //鍔犺浇Loading鏁堟灉
+ var waitPage = new Loading();
+ bodyView.AddChidren(waitPage);
+ waitPage.Start(Language.StringByID(StringId.PleaseWait));
+
+ new Thread(() =>
{
try
{
- var backuplist = FileUtils.ReadFiles();
+ #region 淇濆瓨鏈湴鏁版嵁鑷虫枃浠跺す
+ string oldRegionRootPath = FileUtils.CreateRegionBackup(DB_ResidenceData.residenceData.CurReginID.ToString());
+ //娓呯┖涔嬪墠鐨勪綇瀹呮枃浠�
FileUtils.DeleteRegionFiles(oldRegionRootPath);
+ var backuplist = FileUtils.ReadFiles();
//绉诲姩鏂囦欢
foreach (var fileName in backuplist)
{
@@ -57,6 +109,7 @@
MainPage.Log("move file : " + fileName);
}
}
+ #endregion
}
catch (Exception ex)
{
@@ -65,17 +118,26 @@
finally
{
FileUtils.DeleteAllFile();
+ //2.娉ㄩ攢鎺ㄩ��
+ new HttpServerRequest().SignOutPush();
+ //3.璺宠浆鐧诲綍椤甸潰
+ UserInfo.Current.LastTime = DateTime.MinValue;
+ UserInfo.Current.headImagePagePath = "LoginIcon/2.png";//閲嶇疆鐢ㄦ埛澶村儚
+ UserInfo.Current.SaveUserInfo();
+ Shared.Application.RunOnMainThread(() =>
+ {
+ if (waitPage != null)
+ {
+ waitPage.RemoveFromParent();
+ waitPage = null;
+ }
+
+ MainPage.GoLoginPage(UserInfo.Current);
+ DB_ResidenceData.residenceData.EixtAccount();
+
+ });
}
}).Start();
- #endregion
-
- //2.娉ㄩ攢鎺ㄩ��
- new HttpServerRequest().SignOutPush();
- //3.璺宠浆鐧诲綍椤甸潰
- UserInfo.Current.LastTime = DateTime.MinValue;
- UserInfo.Current.SaveUserInfo();
- MainPage.GoLoginPage(UserInfo.Current);
- DB_ResidenceData.residenceData.EixtAccount();
}
/// <summary>
@@ -87,7 +149,7 @@
{
Action okAction = () =>
{
- Logout();
+ LogoutNew();
};
new ConfirmDialog().ShowDialog(StringId.Tip, StringId.IfConfirmLogout, okAction);
};
@@ -118,23 +180,16 @@
btnTakePicture.MouseUpEventHandler = (sender, e) =>
{
btnTakePicture.IsSelected = false;
- var pid = Guid.NewGuid();
- CropImage.TakePicture((Action<string>)((imagePath) =>
+
+ //鎷嶇収瑁佸壀
+ //var imageName = "headImage";
+ var imageName = Guid.NewGuid().ToString();
+ CropImage.TakePicture((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);
+ CropImageCallBack(imagePath);
+
+ }, imageName, 1, 1);
+
pictureOptionView.RemoveFromParent();
baseView.RemoveFromParent();
};
@@ -147,26 +202,119 @@
btnAlbum.MouseUpEventHandler = (sender, e) =>
{
btnAlbum.IsSelected = false;
- var pid = Guid.NewGuid();
+ //浠庣浉鍐岄�夋嫨鍥剧墖瑁佸壀
+ var imageName = Guid.NewGuid().ToString();
+ //var imageName = "headImage";
CropImage.SelectPicture((imagePath) =>
{
- if (imagePath != null)
- {
- UserInfo.Current.headImagePagePath = imagePath.ToString();
- userHeadImageView.ImagePath = imagePath.ToString();
- updataHeadImage();
+ CropImageCallBack(imagePath);
+ }, imageName, 1, 1);
- new System.Threading.Thread(() =>
- {
- new DAL.Server.HttpServerRequest().UpdataUserHeadImage(imagePath);
- })
- { IsBackground = true }.Start(); UserInfo.Current.SaveUserInfo();
- MainPage.Log("SelectPicture 瑁佸壀鍥剧墖杩斿洖璺緞: " + imagePath);
- }
- }, pid.ToString(), 1, 1);
pictureOptionView.RemoveFromParent();
baseView.RemoveFromParent();
};
+ }
+
+ /// <summary>
+ /// 瑁佸壀瀹岀収鐗囧洖璋冿紝缁熶竴澶勭悊
+ /// </summary>
+ /// <param name="selectImagePath">瑁佸壀鍚庣殑鐪熷疄璺緞</param>
+ void CropImageCallBack(string selectImagePath)
+ {
+ 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 瑁佸壀鍥剧墖杩斿洖璺緞: " + selectImagePath);
+ //1.璇诲彇瑁佸壀鍚庣殑鍥剧墖锛岀劧鍚庡垹闄�
+ var imageBytes = Shared.IO.FileUtils.ReadFile(selectImagePath);
+ System.IO.File.Delete(selectImagePath);
+
+ var waitPage = new Loading();
+ bodyView.AddChidren(waitPage);
+ waitPage.Start(Language.StringByID(StringId.PleaseWait));
+ //寮�濮嬩笂浼�
+ new Thread(() =>
+ {
+ 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();
+ }
+ catch { }
}
/// <summary>
@@ -193,6 +341,7 @@
return;
}
var waitPage = new Loading();
+ bodyView.AddChidren(waitPage);
waitPage.Start(Language.StringByID(StringId.PleaseWait));
new System.Threading.Thread(() =>
{
@@ -223,7 +372,11 @@
{
Application.RunOnMainThread(() =>
{
- waitPage.Hide();
+ if (waitPage != null)
+ {
+ waitPage.RemoveFromParent();
+ waitPage = null;
+ }
});
}
})
--
Gitblit v1.8.0