From eda3fb873e59544ff36301b51e05aef64f87b0f9 Mon Sep 17 00:00:00 2001 From: wei <kaede@kaededeMacBook-Air.local> Date: 星期五, 27 八月 2021 13:21:21 +0800 Subject: [PATCH] Merge branch 'newBranch1' of http://172.16.1.23:6688/r/~wxr/HDL_APP_Project into newBranch1 --- HDL_ON/UI/UI2/4-PersonalCenter/PersonalDataPageBLL.cs | 604 ++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 533 insertions(+), 71 deletions(-) diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/PersonalDataPageBLL.cs b/HDL_ON/UI/UI2/4-PersonalCenter/PersonalDataPageBLL.cs index 285c2f0..4d984e0 100644 --- a/HDL_ON/UI/UI2/4-PersonalCenter/PersonalDataPageBLL.cs +++ b/HDL_ON/UI/UI2/4-PersonalCenter/PersonalDataPageBLL.cs @@ -1,4 +1,7 @@ 锘縰sing System; +using System.Threading; +using HDL_ON.DAL.Server; +using HDL_ON.Entity; using Shared; namespace HDL_ON.UI @@ -14,6 +17,12 @@ LoadEvent_Logout(); LoadEvent_EditUserName(); LoadEvent_SkipInterpretationSettings(); + LoadEvent_ChangeBindEmail(); + LoadEvent_ChangeBindPhone(); + LoadEvent_SkipModifyPassword(); + LoadEvent_MyQRcode(); + //GetUserInfo(); + RefreshUserInfo(); } /// <summary> @@ -21,82 +30,330 @@ /// </summary> void LoadEvent_ChangeHeadImageView() { - userHeadImageView.MouseUpEventHandler = (sender, e) => { + userHeadImageView.MouseUpEventHandler = (sender, e) => + { LoadPictureOptionView(); }; } + + ///// <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> void LoadEvent_Logout() { - btnLogout.MouseUpEventHandler += (sender, e) => { - MainPage.LoginUser.lastTime = DateTime.MinValue; - MainPage.LoginUser.SaveUserInfo(); - MainPage.GoLoginPage(MainPage.LoginUser.accountString); + btnLogout.MouseUpEventHandler += (sender, e) => + { + Action okAction = () => + { + HDLCommon.Current.Logout(); + }; + 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) => { - var pid = Guid.NewGuid(); - CropImage.TakePicture((Action<string>)((imagePath) => + btnTakePicture.IsSelected = true; + }; + btnTakePicture.MouseUpEventHandler = (sender, e) => + { + btnTakePicture.IsSelected = false; + + //鎷嶇収瑁佸壀 + //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) => { - var pid = Guid.NewGuid(); + btnAlbum.IsSelected = true; + }; + + btnAlbum.MouseUpEventHandler = (sender, e) => + { + btnAlbum.IsSelected = false; + //浠庣浉鍐岄�夋嫨鍥剧墖瑁佸壀 + 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)); + //1.寮�濮嬩笂浼� + new Thread(() => + { + try + { + //鐢熸垚涓婁紶澶村儚鍙傛暟 + var uploadImageObj = new UploadImageObj() + { + prefix = "Icon" + Utlis.GetTimestamp(), + uid = userId, + fileName = ImageUtlis.HEADIMAGE, + content = imageBytes, + }; + + var imageUrl = ImageUtlis.Current.UploadImage(uploadImageObj); + if (!string.IsNullOrEmpty(imageUrl) && imageUrl.Contains(userId)) + { + //2.涓婁紶鎴愬姛 + //2.1鏇存柊鏈�鏂板浘鐗囪矾寰勫埌浜戠 + var resultObj = UpdateMemberHeadIcon(imageUrl); + if (resultObj.Code == StateCode.SUCCESS) + { + //3.鏇存柊鏈�鏂板浘鐗囪矾寰勫埌浜戠鎴愬姛 + Application.RunOnMainThread(() => + { + //Utlis.WriteLine("涓婁紶鎴愬姛锛�" + imageUrl); + //1.2濡傛灉鏄嚜瀹氫箟鍥剧墖鍒犻櫎涔嬪墠鐨� + if (!string.IsNullOrEmpty(imageView.ImagePath) && !imageView.ImagePath.Contains("LoginIcon/2.png")) + { + //Utlis.WriteLine("鍒犻櫎: " + imageView.ImagePath); + System.IO.File.Delete(imageView.ImagePath); + } + //閲嶅懡鍚嶄繚瀛� + ImageUtlis.Current.WriteFileByBytes(imageUrl, imageBytes); + imageView.ImagePath = imageUrl; + imageView.ImageBytes = imageBytes; + //涓婁紶鎴愬姛 + Utlis.ShowTip(Language.StringByID(StringId.UploadSuccessfully)); + uploadSuccessAction?.Invoke(imageUrl); + }); + } + else + { + //鏇存柊鏈�鏂板浘鐗囪矾寰勫埌浜戠澶辫触 + Application.RunOnMainThread(() => + { + //淇濆瓨鐢ㄦ埛澶村儚澶辫触 + Utlis.ShowTip(Language.StringByID(StringId.FailedToSaveUserImage)); + }); + + } + + } + 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> + /// 鏇存柊鐢ㄦ埛澶村儚 + /// </summary> + /// <param name="userName"></param> + /// <returns></returns> + public ResponsePackNew UpdateMemberHeadIcon(string memberHeadIcon) + { + var requestJson = HttpUtil.GetSignRequestJson(new UpdateMemberHeadIconRes() + { + memberHeadIcon = memberHeadIcon + }); + return HttpUtil.RequestHttpsPost(NewAPI.API_POST_Member_UpdateMemberInfo, requestJson); } /// <summary> @@ -112,23 +369,28 @@ { new Tip() { - CloseTime = 3, + CloseTime = 1, Text = Language.StringByID(StringId.UesrNameCannotBeEmpty), Direction = AMPopTipDirection.None, }.Show(bodyView); return; } + 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; @@ -137,47 +399,125 @@ } 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) + } + catch (Exception ex) { MainPage.Log($"update user name error : {ex.Message}"); } finally { - Application.RunOnMainThread(() => { - waitPage.Hide(); + Application.RunOnMainThread(() => + { + if (waitPage != null) + { + waitPage.RemoveFromParent(); + waitPage = null; + } }); } }) { IsBackground = true }.Start(); }; - new PublicAssmebly().LoadDialog_EditParater(StringId.UesrName, MainPage.LoginUser.userName, callBack); + 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 淇敼缁戝畾閭 + /// <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() @@ -197,5 +537,127 @@ #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(); + } + + + /// <summary> + /// 2020-12-15 澧炲姞鍒锋柊鐢ㄦ埛淇℃伅 + /// </summary> + /// <returns></returns> + public void RefreshUserInfo() + { + var waitPage = new Loading(); + bodyView.AddChidren(waitPage); + waitPage.Start(Language.StringByID(StringId.PleaseWait)); + + new Thread(() => + { + try + { + var requestJson = HttpUtil.GetSignRequestJson(new NullObj()); + var resultObj = HttpUtil.RequestHttpsPost(NewAPI.API_POST_Member_GetMemberInfo, requestJson); + if (resultObj.Code == StateCode.SUCCESS) + { + var info = Newtonsoft.Json.JsonConvert.DeserializeObject<MemberInfoRes>(resultObj.Data.ToString()); + + if (!string.IsNullOrEmpty(info.memberPhonePrefix)) + { + UserInfo.Current.areaCode = info.memberPhonePrefix; + } + + var headImagePagePath = ""; + //2020-12-15 淇敼澶村儚鏂规 + if (!string.IsNullOrEmpty(info.memberHeadIcon)) + { + var headImageBytes = ImageUtlis.Current.DownHeadImageByImageKey(info.memberHeadIcon); + + if (headImageBytes != null && headImageBytes.Length > 0) + { + headImagePagePath = info.memberHeadIcon; + } + } + + Application.RunOnMainThread(() => + { + if (UserInfo.Current.userEmailInfo != info.memberEmail) + { + //鏇存柊閭 + UserInfo.Current.userEmailInfo = info.memberEmail; + btnUserEmailInfo.Text = GetBindAccountText(UserInfo.Current.userEmailInfo); + } + + if (UserInfo.Current.userMobileInfo != info.memberPhone) + { + //鏇存柊鎵嬫満鍙� + UserInfo.Current.userMobileInfo = info.memberPhone; + btnUserPhoneInfo.Text = GetBindAccountText(UserInfo.Current.userMobileInfo); + } + + if (UserInfo.Current.userName != info.memberName) + { + //鏇存柊鐢ㄦ埛鍚嶅瓧 + UserInfo.Current.userName = info.memberName; + btnUserName.Text = string.IsNullOrEmpty(UserInfo.Current.userName) ? Language.StringByID(StringId.UsersWhoNameIsEmpty) : UserInfo.Current.userName; + updataUserName(); + } + + if (!string.IsNullOrEmpty(headImagePagePath) && UserInfo.Current.headImagePagePath != headImagePagePath) + { + //鏇存柊澶村儚 + UserInfo.Current.headImagePagePath = headImagePagePath; + userHeadImageView.ImagePath = UserInfo.Current.headImagePagePath; + updataHeadImage(); + } + + UserInfo.Current.SaveUserInfo(); + Utlis.WriteLine("鍒锋柊鐢ㄦ埛淇℃伅鎴愬姛銆�"); + }); + } + } + catch { } + finally + { + Application.RunOnMainThread(() => + { + if (waitPage != null) + { + waitPage.RemoveFromParent(); + waitPage = null; + } + }); + } + + }) + { IsBackground = true }.Start(); + } } -} + + +} \ No newline at end of file -- Gitblit v1.8.0