From edd75644a148ccdd60057064d625141fd49f04b0 Mon Sep 17 00:00:00 2001 From: wei <kaede@kaededeMacBook-Air.local> Date: 星期四, 14 十月 2021 11:37:41 +0800 Subject: [PATCH] 捕抓场景编辑背景图、场景名称、 --- HDL-ON_Android/Properties/AndroidManifest.xml | 2 .vs/HDL_APP_Project/xs/UserPrefs.xml | 33 ++- HDL_ON/UI/MainPage.cs | 2 HDL_ON/UI/UI1-Login/LoginPage.cs | 4 HDL_ON/UI/UI2/3-Intelligence/Scene/CatchSceneAddPage.cs | 414 +++++++++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 435 insertions(+), 20 deletions(-) diff --git a/.vs/HDL_APP_Project/xs/UserPrefs.xml b/.vs/HDL_APP_Project/xs/UserPrefs.xml index 551ff4d..dec8572 100644 --- a/.vs/HDL_APP_Project/xs/UserPrefs.xml +++ b/.vs/HDL_APP_Project/xs/UserPrefs.xml @@ -1,24 +1,27 @@ -锘�<Properties StartupConfiguration="{D998E133-F0DD-4760-BE3C-461632F54DA4}|Default"> - <MonoDevelop.Ide.ItemProperties.HDL-ON__iOS PreferredExecutionTarget="MonoDevelop.IPhone.IPhoneDeviceTarget" /> - <MonoDevelop.Ide.Workbench ActiveDocument="HDL-ON_iOS/Info.plist"> +锘�<Properties StartupConfiguration="{09712674-2A38-407B-B1E2-560B2C352F9A}|Default"> + <MonoDevelop.Ide.ItemProperties.HDL-ON__iOS PreferredExecutionTarget="MonoDevelop.IPhone.IPhoneSimulatorTarget.220222E9-B9CA-4834-9318-2BC22465F050" /> + <MonoDevelop.Ide.Workbench ActiveDocument="HDL_ON/DAL/Server/HttpUtil.cs"> <Files> <File FileName="HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AirFreshControlPage.cs" Line="211" Column="33" /> - <File FileName="HDL_ON/DAL/DriverLayer/Control.cs" Line="356" Column="21" /> - <File FileName="HDL_ON/UI/UI2/FuntionControlView/ArmCenter/ArmCenterPage.cs" Line="331" Column="68" /> - <File FileName="HDL_ON/UI/UI2/FuntionControlView/ArmCenter/AddAlarmDeploymentPage.cs" Line="306" Column="44" /> - <File FileName="HDL_ON/UI/UI2/FuntionControlView/ArmCenter/AddInputPage.cs" Line="89" Column="58" /> - <File FileName="HDL_ON/UI/MainPage.cs" Line="5" Column="17" /> - <File FileName="HDL_ON/DAL/Server/HttpUtil.cs" Line="21" Column="36" /> - <File FileName="HDL_ON/DAL/Mqtt/MqttClient.cs" Line="446" Column="41" /> + <File FileName="HDL_ON/DAL/DriverLayer/Control.cs" /> + <File FileName="HDL_ON/UI/UI2/FuntionControlView/ArmCenter/ArmCenterPage.cs" /> + <File FileName="HDL_ON/UI/UI2/FuntionControlView/ArmCenter/AddAlarmDeploymentPage.cs" /> + <File FileName="HDL_ON/UI/UI2/FuntionControlView/ArmCenter/AddInputPage.cs" /> + <File FileName="HDL_ON/UI/MainPage.cs" /> + <File FileName="HDL_ON/DAL/Mqtt/MqttClient.cs" /> <File FileName="HDL-ON_iOS/Info.plist" /> + <File FileName="HDL_ON/UI/UI2/FuntionControlView/Energy/EnergyMainPage.cs" Line="561" Column="73" /> + <File FileName="HDL_ON/UI/UI1-Login/LoginPage.cs" Line="236" Column="59" /> + <File FileName="HDL_ON/UI/UI2/3-Intelligence/Scene/CatchSceneAddPage.cs" Line="336" Column="62" /> + <File FileName="HDL_ON/UI/UI2/3-Intelligence/Scene/CatchSceneCatchFunctionListPage.cs" Line="38" Column="29" /> + <File FileName="HDL_ON/DAL/Server/HttpUtil.cs" Line="21" Column="73" /> </Files> <Pads> <Pad Id="ProjectPad"> <State name="__root__"> <Node name="HDL_APP_Project" expanded="True"> - <Node name="HDL-ON_iOS" expanded="True"> - <Node name="Info.plist" selected="True" /> - </Node> + <Node name="HDL-ON_Android" selected="True" /> + <Node name="HDL-ON_iOS" expanded="True" /> </Node> </State> </Pad> @@ -35,8 +38,8 @@ <String>Shared.Droid.TouchID/Shared.Droid.TouchID.csproj</String> <String>Shared.IOS/Shared.IOS.csproj</String> </DisabledProjects> - <MonoDevelop.Ide.Workspace ActiveConfiguration="Release|iPhone" /> - <MonoDevelop.Ide.ItemProperties.HDL-ON__Android PreferredExecutionTarget="Android.SelectDevice" /> + <MonoDevelop.Ide.Workspace ActiveConfiguration="Debug" /> + <MonoDevelop.Ide.ItemProperties.HDL-ON__Android PreferredExecutionTarget="Android.364c4b3158493098" /> <MonoDevelop.Ide.DebuggingService.Breakpoints> <BreakpointStore> <Breakpoint file="/Users/kaede/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Electrical/IrFanPage.cs" relfile="HDL_ON/UI/UI2/FuntionControlView/Electrical/IrFanPage.cs" line="42" column="1" /> diff --git a/HDL-ON_Android/Properties/AndroidManifest.xml b/HDL-ON_Android/Properties/AndroidManifest.xml index 7920cfd..4a4aeba 100644 --- a/HDL-ON_Android/Properties/AndroidManifest.xml +++ b/HDL-ON_Android/Properties/AndroidManifest.xml @@ -1,5 +1,5 @@ 锘�<?xml version="1.0" encoding="utf-8"?> -<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="202110131" android:versionName="1.2.202110131" package="com.hdl.onpro"> +<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="202110141" android:versionName="1.2.202110141" package="com.hdl.onpro"> <uses-sdk android:minSdkVersion="23" android:targetSdkVersion="28" /> <!-- 涔愭鍙瀵硅闇�瑕佺殑鏉冮檺 --> <!--<uses-permission android:name="android.permission.INTERNET" />--> diff --git a/HDL_ON/UI/MainPage.cs b/HDL_ON/UI/MainPage.cs index 1e4cb9e..d9d7471 100644 --- a/HDL_ON/UI/MainPage.cs +++ b/HDL_ON/UI/MainPage.cs @@ -25,7 +25,7 @@ /// <summary> /// 鐗堟湰鍙� /// </summary> - public static string VersionString = "1.2.1013"; + public static string VersionString = "1.2.1014"; ///// <summary> ///// 瀹㈡埛绔被鍨� ///// </summary> diff --git a/HDL_ON/UI/UI1-Login/LoginPage.cs b/HDL_ON/UI/UI1-Login/LoginPage.cs index a36b090..527045c 100644 --- a/HDL_ON/UI/UI1-Login/LoginPage.cs +++ b/HDL_ON/UI/UI1-Login/LoginPage.cs @@ -231,9 +231,9 @@ //etAccount.Text = "15217626103";//鏄嗘槑閲戣寕椤圭洰 //etAccount.Text = "18598273624"; //etAccount.Text = "tf@smarttech.com.ua"; - //etAccount.Text = "18814122445";//钁f辰鏂� 澶╂渤鍔炲叕瀹� + etAccount.Text = "18814122445";//钁f辰鏂� 澶╂渤鍔炲叕瀹� //etAccount.Text = "18824864143";//"464027401@qq.com"; //"2791308028@qq.com";//13697499568 - etAccount.Text = "18402017839";//wjc + //etAccount.Text = "18402017839";//wjc //etAccount.Text = "13430286286";//cwc } b = !b; diff --git a/HDL_ON/UI/UI2/3-Intelligence/Scene/CatchSceneAddPage.cs b/HDL_ON/UI/UI2/3-Intelligence/Scene/CatchSceneAddPage.cs index 8b7f266..e8cc886 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Scene/CatchSceneAddPage.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Scene/CatchSceneAddPage.cs @@ -1,11 +1,13 @@ 锘縰sing System; using System.Collections.Generic; +using System.Threading; +using HDL_ON.DAL.Server; using HDL_ON.Entity; using HDL_ON.UI.CSS; using Shared; namespace HDL_ON.UI { - public class CatchSceneAddPage : FrameLayout + public partial class CatchSceneAddPage : FrameLayout { FrameLayout bodyView; private ImageView addSceneImageView; @@ -23,6 +25,37 @@ /// 鎹曟崏鐨勫尯鍩熷垪琛� /// </summary> private List<Room> catchRooms = new List<Room>(); + + Button btnAddFunctionTitle; + + + #region 鍥炬爣閫夋嫨閮ㄥ垎鍥炬爣 + /// <summary> + /// 鑳屾櫙鍥鹃�夐」鍖哄煙 + /// </summary> + FrameLayout pictureOptionView; + /// <summary> + /// 鑳屾櫙鍥鹃�夐」閫夋嫨鍖哄煙 + /// </summary> + VerticalScrolViewLayout optionView; + /// <summary> + /// 榛樿鍥惧簱鎸夐挳 + /// </summary> + Button btnDefaultGallery; + /// <summary> + /// 鎷嶇収鎸夐挳 + /// </summary> + Button btnTakePicture; + /// <summary> + /// 鐩稿唽鎸夐挳 + /// </summary> + Button btnAlbum; + /// <summary> + /// 鍙栨秷鎸夐挳 + /// </summary> + Button btnCancel; + #endregion + /// <summary> /// 鍥炶皟鏇存柊 @@ -344,6 +377,10 @@ MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; } }; + + + LoadEventList(); + } @@ -436,5 +473,380 @@ } + /// <summary> + /// 鍔犺浇鍥炬爣閫夋嫨閫夐」 + /// </summary> + void LoadPictureOptionView() + { + var pView = new FrameLayout() + { + BackgroundColor = CSS_Color.DialogTransparentColor1, + }; + bodyView.AddChidren(pView); + + pictureOptionView = new FrameLayout() + { + Y = Application.GetRealHeight(445), + Height = Application.GetRealHeight(250), + AnimateSpeed = 0.3f, + Animate = Animate.DownToUp, + }; + pView.AddChidren(pictureOptionView); + + optionView = new VerticalScrolViewLayout() + { + Gravity = Gravity.CenterHorizontal, + Width = Application.GetRealWidth(343), + Height = Application.GetRealHeight(150), + BackgroundColor = CSS_Color.MainBackgroundColor, + Radius = (uint)Application.GetRealWidth(12), + }; + pictureOptionView.AddChidren(optionView); + + btnDefaultGallery = new Button() + { + Height = Application.GetRealHeight(50), + TextAlignment = TextAlignment.Center, + TextColor = CSS_Color.TextualColor, + SelectedTextColor = CSS_Color.MainColor, + TextSize = CSS_FontSize.SubheadingFontSize, + TextID = StringId.DefaultGallery, + }; + optionView.AddChidren(btnDefaultGallery); + + optionView.AddChidren(new Button() { Height = Application.GetRealHeight(1), Width = Application.GetRealWidth(343), BackgroundColor = CSS_Color.DividingLineColor }); + + btnTakePicture = new Button() + { + Height = Application.GetRealHeight(50), + TextAlignment = TextAlignment.Center, + TextColor = CSS_Color.TextualColor, + SelectedTextColor = CSS_Color.MainColor, + TextSize = CSS_FontSize.SubheadingFontSize, + TextID = StringId.TakePicture, + }; + optionView.AddChidren(btnTakePicture); + + optionView.AddChidren(new Button() { Height = Application.GetRealHeight(1), Width = Application.GetRealWidth(343), BackgroundColor = CSS_Color.DividingLineColor }); + + btnAlbum = new Button() + { + Height = Application.GetRealHeight(50), + TextAlignment = TextAlignment.Center, + TextColor = CSS_Color.TextualColor, + SelectedTextColor = CSS_Color.MainColor, + TextSize = CSS_FontSize.SubheadingFontSize, + TextID = StringId.Album, + }; + optionView.AddChidren(btnAlbum); + + optionView.AddChidren(new Button() { Height = Application.GetRealHeight(1), Width = Application.GetRealWidth(343), BackgroundColor = CSS_Color.DividingLineColor }); + + btnCancel = new Button() + { + Gravity = Gravity.CenterHorizontal, + Y = Application.GetRealHeight(8) + optionView.Bottom, + Width = Application.GetRealWidth(343), + Height = Application.GetRealHeight(50), + BackgroundColor = CSS_Color.MainBackgroundColor, + Radius = (uint)Application.GetRealWidth(12), + TextID = StringId.Cancel, + TextColor = CSS_Color.WarningColor, + TextSize = CSS_FontSize.SubheadingFontSize, + }; + pictureOptionView.AddChidren(btnCancel); + + + LoadEvent_PictureOptionViewEventList(pView); + } + + } + + //-------------------------------------- + public partial class CatchSceneAddPage + { + void LoadEventList() + { + LoadEvent_ChangeSceneImage(); + LoadEvent_ChangeSceneZone(); + LoadEvent_EditRoomName(); + } + + /// <summary> + /// 淇敼鍦烘櫙鎵�灞炲尯鍩� + /// </summary> + void LoadEvent_ChangeSceneZone() + { + EventHandler<MouseEventArgs> eventHandler = (sender, e) => + { + Action backAction = () => { + btnZoneName.Text = scene.GetRoomListName(); + }; + var ssl = new SetSceneLocationPage(scene, backAction); + MainPage.BasePageView.AddChidren(ssl); + ssl.LoadPage(); + MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; + }; + btnZoneName.MouseUpEventHandler = eventHandler; + belongToZoneRow.MouseUpEventHandler = eventHandler; + btnBelongToZoneRight.MouseUpEventHandler = eventHandler; + + } + + + /// <summary> + /// 淇敼鍦烘櫙鑳屾櫙浜嬩欢 + /// </summary> + void LoadEvent_ChangeSceneImage() + { + addSceneImageView.MouseUpEventHandler = (sender, e) => { + LoadPictureOptionView(); + }; + } + + /// <summary> + /// 鍔犺浇鑳屾櫙鍥鹃�夋嫨鍖哄煙浜嬩欢鍒楄〃 + /// </summary> + void LoadEvent_PictureOptionViewEventList(FrameLayout pView) + { + pictureOptionView.MouseUpEventHandler = (sender, e) => + { + pictureOptionView.Parent.RemoveFromParent(); + }; + pView.MouseUpEventHandler = (sender, e) => + { + pictureOptionView.Parent.RemoveFromParent(); + }; + + btnCancel.MouseUpEventHandler = (sender, e) => + { + pictureOptionView.Parent.RemoveFromParent(); + }; + btnTakePicture.MouseDownEventHandler = (sender, e) => { + btnTakePicture.IsSelected = true; + }; + btnTakePicture.MouseUpEventHandler = (sender, e) => + { + btnTakePicture.IsSelected = false; + + //var pid = Guid.NewGuid(); + //CropImage.TakePicture((imagePath) => + //{ + // if (imagePath != null) + // { + // addSceneImageView.ImagePath = imagePath.ToString(); + // scene.ImagePath = addSceneImageView.ImagePath; + // MainPage.Log("SelectPicture 瑁佸壀鍥剧墖杩斿洖璺緞: " + imagePath); + // } + //}, pid.ToString(), 4, 3); + + + var imageName = Guid.NewGuid().ToString(); + //var imageName = scene.sid; + CropImage.TakePicture((imagePath) => + { + CropImageCallBack(imagePath); + + }, imageName, 4, 3); + + //if (pageTitleId == StringId.EditScene) + //{ + // scene.SaveFunctionData(); + //} + pictureOptionView.Parent.RemoveFromParent(); + }; + btnAlbum.MouseDownEventHandler = (sender, e) => { + btnAlbum.IsSelected = true; + }; + + btnAlbum.MouseUpEventHandler = (sender, e) => + { + btnAlbum.IsSelected = false; + //var pid = Guid.NewGuid(); + //CropImage.SelectPicture((imagePath) => + //{ + // if (imagePath != null) + // { + // addSceneImageView.ImagePath = imagePath.ToString(); + // scene.ImagePath = addSceneImageView.ImagePath; + // MainPage.Log("SelectPicture 瑁佸壀鍥剧墖杩斿洖璺緞: " + imagePath); + // } + //}, pid.ToString(), 4, 3); + + //浠庣浉鍐岄�夋嫨鍥剧墖瑁佸壀 + var imageName = Guid.NewGuid().ToString(); + //var imageName = scene.sid; + CropImage.SelectPicture((imagePath) => + { + CropImageCallBack(imagePath); + }, imageName, 4, 3); + + + //if (pageTitleId == StringId.EditScene) + //{ + // scene.SaveFunctionData(); + //} + pictureOptionView.Parent.RemoveFromParent(); + }; + + btnDefaultGallery.MouseUpEventHandler = (sender, e) => { + pictureOptionView.Parent.RemoveFromParent(); + Action<string> action = (obj) => { + scene.ImagePath = obj; + addSceneImageView.ImageBytes = null;//瑙e喅鏈塈mageBytes涓嶅姞杞絀magePath + addSceneImageView.ImagePath = scene.ImagePath; + }; + + var galleryPage = new GalleryPage(scene.ImagePath, 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 闇�瑕佽鏈�鏂扮殑鍥剧墖璺緞鍚屾鍒颁簯绔� + scene.ImagePath = imageUrl; + }; + //涓婁紶鍥剧墖鍒颁簯绔� + UploadImage(selectImagePath, addSceneImageView, scene, uploadSuccessAction); + } + + /// <summary> + /// 鍔犺浇淇敼鍦烘櫙鍚嶇О绐楀彛浜嬩欢 + /// </summary> + void LoadEvent_EditRoomName() + { + Action<string> callBack = (str) => + { + //鍚嶇О涓嶈兘涓虹┖ + if (string.IsNullOrEmpty(str)) + { + new Tip() + { + CloseTime = 1, + Text = Language.StringByID(StringId.SceneNameCannotBeEmpty), + Direction = AMPopTipDirection.None, + }.Show(bodyView); + return; + } + btnSceneName.Text = str; + scene.name = str; + }; + EventHandler<MouseEventArgs> eventHandler = (sender, e) => + { + List<string> sceneNameList = new List<string>(); + foreach (var tempScene in FunctionList.List.scenes) + { + sceneNameList.Add(tempScene.name); + } + new PublicAssmebly().LoadDialog_EditParater(StringId.SceneName, scene.name, callBack, StringId.SceneNameCannotBeEmpty, StringId.SceneNameAlreadyExists, sceneNameList); + }; + sceneNameView.MouseUpEventHandler = eventHandler; + btnSceneName.MouseUpEventHandler = eventHandler; + btnEditSceneNameIcon.MouseUpEventHandler = eventHandler; + } + + /// <summary> + /// 涓婁紶鍥剧墖鏂规硶 + /// </summary> + /// <param name="selectImagePath">瑁佸壀鍚庣殑鍥剧墖璺緞</param> + /// <param name="imageView"></param> + /// <param name="uploadSuccessAction"></param> + void UploadImage(string selectImagePath, ImageView imageView, Scene mScene, 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 = mScene.name.Trim() + ".png"; + var uploadImageObj = new UploadImageObj() + { + prefix = "Scene" + Utlis.GetTimestamp(), + fileName = newImageName, + uid = mScene.sid, + 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 { } + } + } + } -- Gitblit v1.8.0