From e87985ec1dcb69beedaf9f95e8e7aba14b7c08d6 Mon Sep 17 00:00:00 2001 From: JLChen <551775569@qq.com> Date: 星期三, 09 十二月 2020 18:50:14 +0800 Subject: [PATCH] 2020-12-09 1.信息中心,增加下划线和点击Alter提醒详情。 --- HDL_ON/UI/UI2/4-PersonalCenter/PersonalDataPageBLL.cs | 409 ++++++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 328 insertions(+), 81 deletions(-) diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/PersonalDataPageBLL.cs b/HDL_ON/UI/UI2/4-PersonalCenter/PersonalDataPageBLL.cs index e7df662..ffbbe89 100644 --- a/HDL_ON/UI/UI2/4-PersonalCenter/PersonalDataPageBLL.cs +++ b/HDL_ON/UI/UI2/4-PersonalCenter/PersonalDataPageBLL.cs @@ -1,4 +1,6 @@ 锘縰sing System; +using System.Threading; +using HDL_ON.DAL.Server; using HDL_ON.Entity; using Shared; @@ -18,6 +20,8 @@ LoadEvent_ChangeBindEmail(); LoadEvent_ChangeBindPhone(); LoadEvent_SkipModifyPassword(); + LoadEvent_MyQRcode(); + GetUserInfo(); } /// <summary> @@ -31,6 +35,111 @@ }; } + ///// <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> + public void LogoutNew() + { + //鍔犺浇Loading鏁堟灉 + var waitPage = new Loading(); + bodyView.AddChidren(waitPage); + waitPage.Start(Language.StringByID(StringId.PleaseWait)); + + new Thread(() => + { + try + { + #region 淇濆瓨鏈湴鏁版嵁鑷虫枃浠跺す + string oldRegionRootPath = FileUtils.CreateRegionBackup(DB_ResidenceData.residenceData.CurReginID.ToString()); + //娓呯┖涔嬪墠鐨勪綇瀹呮枃浠� + FileUtils.DeleteRegionFiles(oldRegionRootPath); + 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); + } + } + #endregion + } + catch (Exception ex) + { + MainPage.Log($"xxx:{ex.Message}"); + } + 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(); + } + /// <summary> /// 閫�鍑鸿处鍙风櫥褰曚簨浠� /// </summary> @@ -38,27 +147,30 @@ { btnLogout.MouseUpEventHandler += (sender, e) => { - MainPage.LoginUser.lastTime = DateTime.MinValue; - MainPage.LoginUser.SaveUserInfo(); - MainPage.GoLoginPage(MainPage.LoginUser.accountString); - FileUtils.DeleteAllFile(); - DB_ResidenceData.residenceData.EixtAccount(); + Action okAction = () => + { + LogoutNew(); + }; + new ConfirmDialog().ShowDialog(StringId.Tip, StringId.IfConfirmLogout, okAction); }; } /// <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) => @@ -68,24 +180,18 @@ 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) - { - 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, 1, 1); + pictureOptionView.RemoveFromParent(); + baseView.RemoveFromParent(); }; btnAlbum.MouseUpEventHandler = (sender, e) => @@ -96,25 +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) - { - MainPage.LoginUser.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(); MainPage.LoginUser.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> @@ -130,27 +330,28 @@ { 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; } var waitPage = new Loading(); + bodyView.AddChidren(waitPage); waitPage.Start(Language.StringByID(StringId.PleaseWait)); new System.Threading.Thread(() => { 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; @@ -159,27 +360,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) @@ -190,16 +372,40 @@ { Application.RunOnMainThread(() => { - waitPage.Hide(); + if (waitPage != null) + { + waitPage.RemoveFromParent(); + waitPage = null; + } }); } }) { 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 淇敼缁戝畾閭 @@ -208,36 +414,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; @@ -268,7 +503,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(); @@ -279,5 +515,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