From efad979b6fae76fb37a4de7e94e6bac0a85cb72c Mon Sep 17 00:00:00 2001 From: JLChen <551775569@qq.com> Date: 星期二, 30 十一月 2021 13:14:28 +0800 Subject: [PATCH] 2021-11-30 1.修复乐橙Android,没调用拒接接口问题。 --- HDL_ON/UI/UI2/4-PersonalCenter/RoomListManage/RoomEditPageBLL.cs | 347 ++++++++++++++++++++++++++++++++++++++------------------- 1 files changed, 229 insertions(+), 118 deletions(-) diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/RoomListManage/RoomEditPageBLL.cs b/HDL_ON/UI/UI2/4-PersonalCenter/RoomListManage/RoomEditPageBLL.cs index 80caa4f..6ac07bb 100644 --- a/HDL_ON/UI/UI2/4-PersonalCenter/RoomListManage/RoomEditPageBLL.cs +++ b/HDL_ON/UI/UI2/4-PersonalCenter/RoomListManage/RoomEditPageBLL.cs @@ -2,6 +2,8 @@ using Shared; using HDL_ON.Entity; using System.Collections.Generic; +using HDL_ON.DAL.Server; +using System.Threading; namespace HDL_ON.UI { @@ -17,7 +19,7 @@ LoadEvent_SkinBindFloor(); LoadEvent_SkipEditFunctionList(); LoadEvent_Option(); - LoadEvent_SkipSharedRoomFunctionPage(); + //LoadEvent_SkipSharedRoomFunctionPage(); } /// <summary> @@ -27,60 +29,54 @@ { btnOption.MouseUpEventHandler = (sender, e) => { - if (btnOption.TextID == StringId.Save) + Action action = () => { - if (string.IsNullOrEmpty(room.name)) + var waitPage = new Loading(); + waitPage.Start(); + new Thread(() => { - new Tip() + try { - CloseTime = 1, - Text = Language.StringByID(StringId.RoomNameCannotBeEmpty), - Direction = AMPopTipDirection.None, - }.Show(bodyView); - return; - } - if(string.IsNullOrEmpty( room.floorName)) - { - new Tip() - { - CloseTime = 1, - Text = Language.StringByID(StringId.PlsBindFloor), - Direction = AMPopTipDirection.None, - }.Show(bodyView); - return; - } - foreach (var tempRoom in DB_ResidenceData.rooms) - { - if (room.name == tempRoom.name) - { - new PublicAssmebly().TipMsg(StringId.Tip, StringId.AddingFailed_RoomAlreadyExists); - return; - } - } - DB_ResidenceData.rooms.Add(room); - room.SaveRoomData(); - backAction(); - this.RemoveFromParent(); - } - if (btnOption.TextID == StringId.DeleteRoom) - { - Action action = () => - { - foreach (var f in DB_ResidenceData.functionList.GetAllFunction()) - { - if (f.roomIdList.Contains(room.sid)) + var delResult = SpatialInfo.CurrentSpatial.DelRoom(room); + if (delResult == StateCode.SUCCESS) { - f.roomIdList.Remove(room.sid); + foreach (var f in FunctionList.List.GetDeviceFunctionList()) + { + if (f.roomIds.Contains(room.roomId)) + { + f.roomIds.Remove(room.roomId); + } + } + Application.RunOnMainThread(() => + { + //鍒犻櫎浜嬩欢鍥炶皟 + this.deleteAction?.Invoke(); + this.RemoveFromParent(); + }); } } - DB_ResidenceData.DelRoom(room); - backAction(); - this.RemoveFromParent(); - }; - new PublicAssmebly().TipMsg(StringId.Tip, StringId.DeleteRoomTip, action); + catch (Exception ex) + { + MainPage.Log($"娣诲姞鎴块棿澶辫触msg:{ex.Message}"); + } + finally + { + Application.RunOnMainThread(() => + { + if (waitPage != null) + { + waitPage.RemoveFromParent(); + waitPage = null; + } + }); + } + }) + { IsBackground = true }.Start(); }; + new PublicAssmebly().TipOptionMsg(StringId.Tip, StringId.DeleteRoomTip, action); }; } + /// <summary> /// 鏄剧ず鑳屾櫙鍥鹃�夋嫨閫夐」 @@ -112,27 +108,17 @@ return; } btnRoomName.Text = str; - room.name = str; - if (pageTitleId == StringId.EditRoomInfo) - { - room.SaveRoomData(); - } + room.roomName = str; + room.UpdataRoomInfo(); }; EventHandler<MouseEventArgs> eventHandler = (sender, e) => { List<string> roomNameList = new List<string>(); - foreach(var rroom in DB_ResidenceData.rooms) + foreach (var rroom in SpatialInfo.CurrentSpatial.RoomList) { - roomNameList.Add(rroom.name); + roomNameList.Add(rroom.roomName); } - if (pageTitleId == StringId.AddRoom) - //{ - new PublicAssmebly().LoadDialog_EditParater(StringId.RoomName, room.name, callBack, StringId.RoomNameCannotBeEmpty, StringId.RoomNameAlreadyExists, roomNameList); - //} - //else - //{ - // new PublicAssmebly().LoadDialog_EditParater(StringId.RoomName, room.name, callBack, StringId.RoomNameCannotBeEmpty, StringId.EidtFailed_RoomAlreadyExists, roomNameList); - //} + new PublicAssmebly().LoadDialog_EditParater(StringId.RoomName, room.roomName, callBack, StringId.RoomNameCannotBeEmpty, StringId.EidtFailed_RoomAlreadyExists, roomNameList); }; btnEditRoomNameIcon.MouseUpEventHandler = eventHandler; roomNameRow.MouseUpEventHandler = eventHandler; @@ -149,10 +135,11 @@ Action floorsCallBackAction = () => { btnFloorInfo.Text = room.floorName; + room.UpdataRoomInfo(); }; - var residentialManagePage = new FloorsManagementPage(floorsCallBackAction); + var residentialManagePage = new RoomBinglingFloorPage(floorsCallBackAction, room); MainPage.BasePageView.AddChidren(residentialManagePage); - residentialManagePage.LoadPage(room); + residentialManagePage.LoadPage(); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; }; btnFloorInfo.MouseUpEventHandler = eventHandler; @@ -175,35 +162,35 @@ functionManagemantView.MouseUpEventHandler = eventHandler; } - /// <summary> - /// 璺宠浆鍒板姛鑳藉垎浜晫闈� - /// </summary> - void LoadEvent_SkipSharedRoomFunctionPage() - { - if (pageTitleId != StringId.AddRoom) - { - EventHandler<MouseEventArgs> eHandler = (sender, e) => - { - List<ShareData> sds = new List<ShareData>(); - foreach (var f in room.GetRoomFunctions(false)) - { - var sd = new ShareData(); - sd.ShareName = f.sid; - sd.HouseDistributedMark = DB_ResidenceData.residenceData.residecenInfo.RegionID; - sd.ShareDataBytes = DAL.CommonPage.MyEncodingUTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(f)); - //sd.SubAccountDistributedMark = memberInfo.SubAccountDistributedMark; - sds.Add(sd); - } - var mmp = new MemberFunctionPermissionPage(room, sds); - MainPage.BasePageView.AddChidren(mmp); - mmp.LoadPage(StringId.ChooseSharedFunction); - MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; - }; - btnSharedRight.MouseUpEventHandler = eHandler; - sharedView.MouseUpEventHandler = eHandler; - btnSharedTitle.MouseUpEventHandler = eHandler; - } - } + ///// <summary> + ///// 璺宠浆鍒板姛鑳藉垎浜晫闈� + ///// </summary> + //void LoadEvent_SkipSharedRoomFunctionPage() + //{ + // if (pageTitleId != StringId.AddRoom) + // { + // EventHandler<MouseEventArgs> eHandler = (sender, e) => + // { + // List<ShareData> sds = new List<ShareData>(); + // foreach (var f in room.GetRoomFunctions(false)) + // { + // var sd = new ShareData(); + // sd.ShareName = f.sid; + // sd.HouseDistributedMark = DB_ResidenceData.residenceData.residecenInfo.RegionID; + // sd.ShareDataBytes = DAL.System.Text.Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(f)); + // //sd.SubAccountDistributedMark = memberInfo.SubAccountDistributedMark; + // sds.Add(sd); + // } + // var mmp = new MemberFunctionPermissionPage(room, sds); + // MainPage.BasePageView.AddChidren(mmp); + // mmp.LoadPage(StringId.ChooseSharedFunction); + // MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; + // }; + // btnSharedRight.MouseUpEventHandler = eHandler; + // sharedView.MouseUpEventHandler = eHandler; + // btnSharedTitle.MouseUpEventHandler = eHandler; + // } + //} /// <summary> /// 鍔犺浇鑳屾櫙鍥鹃�夋嫨鍖哄煙浜嬩欢鍒楄〃 /// </summary> @@ -222,51 +209,175 @@ { baseView.RemoveFromParent(); }; - btnTakePicture.MouseDownEventHandler = (sender, e) => { + btnTakePicture.MouseDownEventHandler = (sender, e) => + { btnTakePicture.IsSelected = true; }; + //鎷嶇収 btnTakePicture.MouseUpEventHandler = (sender, e) => { btnTakePicture.IsSelected = false; - var pid = Guid.NewGuid(); + + var imageName = Guid.NewGuid().ToString(); + //var imageName = room.sid; CropImage.TakePicture((imagePath) => { - if (imagePath != null) - { - btnRoomBg.ImagePath = imagePath.ToString(); - room.backgroundImage = btnRoomBg.ImagePath; - MainPage.Log("SelectPicture 瑁佸壀鍥剧墖杩斿洖璺緞: " + imagePath); - } - }, pid.ToString(), 16, 9); - if (pageTitleId == StringId.EditRoomInfo) - { - room.SaveRoomData(); - } + CropImageCallBack(imagePath); + + }, imageName, 16, 9); + baseView.RemoveFromParent(); }; - btnAlbum.MouseDownEventHandler = (sender, e) => { + //閫夋嫨鐓х墖 + btnAlbum.MouseDownEventHandler = (sender, e) => + { btnAlbum.IsSelected = true; }; btnAlbum.MouseUpEventHandler = (sender, e) => { btnAlbum.IsSelected = false; - var pid = Guid.NewGuid(); + + //浠庣浉鍐岄�夋嫨鍥剧墖瑁佸壀 + var imageName = Guid.NewGuid().ToString(); + //var imageName = room.sid; CropImage.SelectPicture((imagePath) => { - if (imagePath != null) - { - btnRoomBg.ImagePath = imagePath.ToString(); - room.backgroundImage = btnRoomBg.ImagePath; - MainPage.Log("SelectPicture 瑁佸壀鍥剧墖杩斿洖璺緞: " + imagePath); - } - }, pid.ToString(), 16, 9); - if (pageTitleId == StringId.EditRoomInfo) - { - room.SaveRoomData(); - } + CropImageCallBack(imagePath); + + }, imageName, 16, 9); + baseView.RemoveFromParent(); + + }; + + //鎴块棿榛樿鍥惧簱 + btnDefaultGallery.MouseUpEventHandler = (sender, e) => { + pictureOptionView.Parent.RemoveFromParent(); + Action<string> action = (obj) => + { + room.backgroundImage = obj; + btnRoomBg.ImageBytes = null;//瑙e喅鏈塈mageBytes涓嶅姞杞絀magePath + btnRoomBg.ImagePath = room.backgroundImage; + room.UpdataRoomInfo(); + modifyImageAction?.Invoke(); + }; + + var galleryPage = new RoomGalleryPage(room.backgroundImage, action); + MainPage.BasePageView.AddChidren(galleryPage); + galleryPage.LoadPage(true); + MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; + }; } + + /// <summary> + /// 瑁佸壀瀹岀収鐗囧洖璋冿紝缁熶竴澶勭悊 + /// </summary> + /// <param name="imagePath">瑁佸壀鍚庣殑鐪熷疄璺緞</param> + /// <param name="imageName">鑷畾涔夌殑鍥剧墖鍚嶇О</param> + void CropImageCallBack(string selectImagePath) + { + if (string.IsNullOrEmpty(selectImagePath) == true) + { + return; + } + //涓婁紶鎴愬姛鍒板洖璋� + Action<string> uploadSuccessAction = (imageUrl) => + { + //2020-12-03 闇�瑕佽鏈�鏂扮殑鍥剧墖璺緞鍚屾鍒颁簯绔� + room.backgroundImage = imageUrl; + room.UpdataRoomInfo(); + modifyImageAction?.Invoke(); + }; + //涓婁紶鍥剧墖鍒颁簯绔� + UploadImage(selectImagePath, btnRoomBg, room, uploadSuccessAction); + } + + /// <summary> + /// 涓婁紶鍥剧墖鏂规硶 + /// </summary> + /// <param name="selectImagePath">瑁佸壀鍚庣殑鍥剧墖璺緞</param> + /// <param name="imageView"></param> + /// <param name="uploadSuccessAction"></param> + void UploadImage(string selectImagePath, ImageView imageView, Room mRoom, 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 newImageName = mRoom.roomName.Trim() + ".png"; + var uploadImageObj = new UploadImageObj() + { + prefix = "Room" + Utlis.GetTimestamp(), + fileName = newImageName, + uid = mRoom.uid, + content = imageBytes, + }; + + var imageUrl = ImageUtlis.Current.UploadImage(uploadImageObj); + if (!string.IsNullOrEmpty(imageUrl) && imageUrl.Contains(newImageName)) + { + //涓婁紶鎴愬姛 + Application.RunOnMainThread(() => + { + //Utlis.WriteLine("涓婁紶鎴愬姛锛�" + imageUrl); + //1.2濡傛灉鏄嚜瀹氫箟鍥剧墖鍒犻櫎涔嬪墠鐨� + if (!string.IsNullOrEmpty(imageView.ImagePath) && !imageView.ImagePath.Contains("Classification/Room/Roombg")) + { + //Utlis.WriteLine("鍒犻櫎: " + imageView.ImagePath); + System.IO.File.Delete(imageView.ImagePath); + } + //閲嶅懡鍚嶄繚瀛� + ImageUtlis.Current.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 { } + } + } } \ No newline at end of file -- Gitblit v1.8.0