From 25afbc347932821c7b8bc4d9a6a7acb73eb3f969 Mon Sep 17 00:00:00 2001
From: JLChen <551775569@qq.com>
Date: 星期六, 12 十二月 2020 19:32:28 +0800
Subject: [PATCH] 2020-12-12 1.修改退出登录方法。
---
HDL_ON/UI/UI2/3-Intelligence/Scene/SceneEditPage.cs | 243 ++++++++++++++++++++++++++++++++++--------------
1 files changed, 170 insertions(+), 73 deletions(-)
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Scene/SceneEditPage.cs b/HDL_ON/UI/UI2/3-Intelligence/Scene/SceneEditPage.cs
index 5a248d2..f733b7b 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Scene/SceneEditPage.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Scene/SceneEditPage.cs
@@ -3,6 +3,8 @@
using Shared;
using HDL_ON.Entity;
using System.Collections.Generic;
+using System.Threading;
+using HDL_ON.DAL.Server;
namespace HDL_ON.UI
{
@@ -136,9 +138,13 @@
Gravity = Gravity.CenterHorizontal,
Height = Application.GetRealWidth(184),
Radius = (uint)Application.GetRealWidth(12),
- ImagePath = scene.ImagePath
+ //ImagePath = scene.ImagePath
};
sceneBgView.AddChidren(addSceneImageView);
+
+ //2020-12-03 淇敼鍥剧墖鍔犺浇鏂规硶
+ ImageUtlis.Current.LoadLocalOrNetworkImages(scene.ImagePath, addSceneImageView);
+
#region 鍦烘櫙鍚嶇Оrow
sceneNameView = new FrameLayout()
@@ -327,9 +333,7 @@
};
contentView.AddChidren(functionListView);
-
LoadFunctionRow(functionListView);
-
Button btnLine1 = new Button()
{
@@ -339,7 +343,6 @@
};
contentView.AddChidren(btnLine1);
-
Button btnLine2 = new Button()
{
//Y = sceneDelayRow.Bottom,
@@ -347,12 +350,11 @@
BackgroundColor = CSS_Color.DividingLineColor,
};
contentView.AddChidren(btnLine2);
-
#endregion
Button btnBottomLine = new Button()
{
- Y = Application.GetRealHeight(667-50)-1,
+ Y = Application.GetRealHeight(667 - 50) - 1,
Height = 1,
BackgroundColor = CSS_Color.DividingLineColor,
};
@@ -379,8 +381,8 @@
void LoadFunctionRow(VerticalScrolViewLayout functionListView)
{
functionListView.RemoveAll();
- functionListView.Height = Application.GetRealWidth(65 * scene.sceneFunctionList.Count);
- foreach (var function in scene.sceneFunctionList)
+ functionListView.Height = Application.GetRealWidth(65 * scene.functions.Count);
+ foreach (var scenefunction in scene.functions)
{
var row = new RowLayout()
{
@@ -416,7 +418,7 @@
TextAlignment = TextAlignment.BottomRight,
TextColor = CSS_Color.FirstLevelTitleColor,
TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
- Text = GetFunctionScnenInfo(function),
+ Text = GetFunctionScnenInfo(scenefunction),
};
row.AddChidren(btnFunctionInfo);
@@ -431,9 +433,9 @@
};
row.AddChidren(btnFunctionDelayInfo);
- if (function.delay > 0)
+ if (Convert.ToInt32( scenefunction.delay) > 0)
{
- btnFunctionDelayInfo.Text = Language.StringByID(StringId.Delay) + " " + function.delayText;
+ btnFunctionDelayInfo.Text = Language.StringByID(StringId.Delay) + " " + scenefunction.localFunction.delayText;
}
else
{
@@ -447,7 +449,7 @@
TextAlignment = TextAlignment.CenterLeft,
TextColor = CSS_Color.FirstLevelTitleColor,
TextSize = CSS_FontSize.TextFontSize,
- Text = function.name,
+ Text = scenefunction.localFunction.name,
};
row.AddChidren(btnFunctionName);
@@ -459,20 +461,20 @@
TextAlignment = TextAlignment.CenterLeft,
TextColor = CSS_Color.PromptingColor1,
TextSize = CSS_FontSize.TextFontSize,
- Text = function.GetRoomListName(),
+ Text = scenefunction.localFunction.GetRoomListName(),
};
row.AddChidren(btnFunctionFloorAndRoom);
btnFunctionName.MouseUpEventHandler = (sender, e) =>
{
- var ssf = new SceneFunctionInfoEditPage(scene, function, refreshFunctionRowAction);
+ var ssf = new SceneFunctionInfoEditPage(scene, scenefunction, refreshFunctionRowAction);
MainPage.BasePageView.AddChidren(ssf);
ssf.LoadPage();
MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
};
btnFunctionFloorAndRoom.MouseUpEventHandler = (sender, e) =>
{
- var ssf = new SceneFunctionInfoEditPage(scene, function, refreshFunctionRowAction);
+ var ssf = new SceneFunctionInfoEditPage(scene, scenefunction, refreshFunctionRowAction);
MainPage.BasePageView.AddChidren(ssf);
ssf.LoadPage();
MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
@@ -486,10 +488,10 @@
};
row.AddRightView(btnDelSceneFunction);
btnDelSceneFunction.MouseUpEventHandler = (sender, e) => {
- scene.sceneFunctionList.Remove(function);
- scene.SaveFunctionData();
+ scene.functions.Remove(scenefunction);
+ scene.SaveSceneData(true);
row.RemoveFromParent();
- functionListView.Height = Application.GetRealWidth(65 * scene.sceneFunctionList.Count);
+ functionListView.Height = Application.GetRealWidth(65 * scene.functions.Count);
//LoadFunctionRow(functionListView);
};
@@ -501,32 +503,41 @@
/// 瑙f瀽鍦烘櫙鍔熻兘鏁版嵁
/// </summary>
/// <param name="sceneFunction"></param>
- string GetFunctionScnenInfo(Function sceneFunction)
+ string GetFunctionScnenInfo(SceneFunction sceneFunction)
{
- string sceneFunctionInfo = Language.StringByID(StringId.Close);
- if (sceneFunction.trait_on_off.curValue.ToString() == "off")
- return sceneFunctionInfo;
- sceneFunctionInfo = "";
+ var sceneFunctionInfo = "";
+ foreach (var sfs in sceneFunction.status)
+ {
+ if (sfs.key == FunctionAttributeKey.OnOff)
+ {
+ if (sfs.value == "off")
+ return Language.StringByID(StringId.Close);
+ }
+ if (sfs.key == FunctionAttributeKey.Mode)
+ {
+
+ }
+ }
FunctionAttributes perTrait;
- switch (sceneFunction.functionType)
+ switch (sceneFunction.localFunction.functionType)
{
case FunctionType.AC:
- sceneFunctionInfo += sceneFunction.function.Find((obj) => obj.key == "mode").GetCurValueText();
- sceneFunctionInfo += " " + sceneFunction.function.Find((obj) => obj.key == "set_temperature").curValue.ToString() +
- sceneFunction.function.Find((obj) => obj.key == "set_temperature").uintString;
- sceneFunctionInfo += sceneFunction.function.Find((obj) => obj.key == "fan").GetCurValueText();
+ sceneFunctionInfo += sceneFunction.localFunction.attributes.Find((obj) => obj.key == "mode").GetCurValueText();
+ sceneFunctionInfo += " " + sceneFunction.localFunction.attributes.Find((obj) => obj.key == "set_temperature").curValue.ToString() +
+ sceneFunction.localFunction.attributes.Find((obj) => obj.key == "set_temperature").uintString;
+ sceneFunctionInfo += sceneFunction.localFunction.attributes.Find((obj) => obj.key == "fan").GetCurValueText();
break;
case FunctionType.FloorHeating:
- sceneFunctionInfo += sceneFunction.function.Find((obj) => obj.key == "mode").GetCurValueText();
- sceneFunctionInfo += " " + sceneFunction.function.Find((obj) => obj.key == "set_temperature").curValue.ToString() +
- sceneFunction.function.Find((obj) => obj.key == "set_temperature").uintString;
+ sceneFunctionInfo += sceneFunction.localFunction.attributes.Find((obj) => obj.key == "mode").GetCurValueText();
+ sceneFunctionInfo += " " + sceneFunction.localFunction.attributes.Find((obj) => obj.key == "set_temperature").curValue.ToString() +
+ sceneFunction.localFunction.attributes.Find((obj) => obj.key == "set_temperature").uintString;
break;
case FunctionType.Dimmer:
- perTrait = sceneFunction.function.Find((obj) => obj.key == "brightness");
+ perTrait = sceneFunction.localFunction.attributes.Find((obj) => obj.key == "brightness");
if (perTrait != null)
{
- sceneFunctionInfo += Language.StringByID(StringId.Open) + " " + sceneFunction.function.Find((obj) => obj.key == "brightness").curValue.ToString() + "%";
+ sceneFunctionInfo += Language.StringByID(StringId.Open) + " " + sceneFunction.localFunction.attributes.Find((obj) => obj.key == "brightness").curValue.ToString() + "%";
}
else
{
@@ -537,10 +548,10 @@
sceneFunctionInfo += Language.StringByID(StringId.Open);
break;
case FunctionType.RGB:
- perTrait = sceneFunction.function.Find((obj) => obj.key == "percent");
+ perTrait = sceneFunction.localFunction.attributes.Find((obj) => obj.key == "percent");
if (perTrait != null)
{
- sceneFunctionInfo += Language.StringByID(StringId.Open) + " " + sceneFunction.function.Find((obj) => obj.key == "brightness").curValue.ToString() + "%";
+ sceneFunctionInfo += Language.StringByID(StringId.Open) + " " + sceneFunction.localFunction.attributes.Find((obj) => obj.key == "brightness").curValue.ToString() + "%";
}
else
{
@@ -551,10 +562,10 @@
sceneFunctionInfo += Language.StringByID(StringId.Open);
break;
case FunctionType.MotorCurtain:
- perTrait = sceneFunction.function.Find((obj) => obj.key == "percent");
+ perTrait = sceneFunction.localFunction.attributes.Find((obj) => obj.key == "percent");
if (perTrait != null)
{
- sceneFunctionInfo += Language.StringByID(StringId.Open) + " " + sceneFunction.function.Find((obj) => obj.key == "percent").curValue.ToString() + "%";
+ sceneFunctionInfo += Language.StringByID(StringId.Open) + " " + sceneFunction.localFunction.attributes.Find((obj) => obj.key == "percent").curValue.ToString() + "%";
}
else
{
@@ -747,16 +758,18 @@
//}, pid.ToString(), 4, 3);
- var imageName = Guid.NewGuid().ToString() + ".png";
+ var imageName = Guid.NewGuid().ToString();
+ //var imageName = scene.sid;
CropImage.TakePicture((imagePath) =>
{
- CropImageCallBack(imagePath, imageName);
+ CropImageCallBack(imagePath);
+
}, imageName, 4, 3);
- if (pageTitleId == StringId.EditScene)
- {
- scene.SaveFunctionData();
- }
+ //if (pageTitleId == StringId.EditScene)
+ //{
+ // scene.SaveFunctionData();
+ //}
pictureOptionView.Parent.RemoveFromParent();
};
btnAlbum.MouseDownEventHandler = (sender, e) => {
@@ -778,17 +791,18 @@
//}, pid.ToString(), 4, 3);
//浠庣浉鍐岄�夋嫨鍥剧墖瑁佸壀
- var imageName = Guid.NewGuid().ToString() + ".png";
+ var imageName = Guid.NewGuid().ToString();
+ //var imageName = scene.sid;
CropImage.SelectPicture((imagePath) =>
{
- CropImageCallBack(imagePath, imageName);
+ CropImageCallBack(imagePath);
}, imageName, 4, 3);
- if (pageTitleId == StringId.EditScene)
- {
- scene.SaveFunctionData();
- }
+ //if (pageTitleId == StringId.EditScene)
+ //{
+ // scene.SaveFunctionData();
+ //}
pictureOptionView.Parent.RemoveFromParent();
};
@@ -799,7 +813,7 @@
addSceneImageView.ImagePath = scene.ImagePath;
if (pageTitleId == StringId.EditScene)
{
- scene.SaveFunctionData();
+ scene.SaveSceneData(true);
}
};
@@ -812,29 +826,29 @@
}
/// <summary>
- ///
+ /// 瑁佸壀瀹岀収鐗囧洖璋冿紝缁熶竴澶勭悊
/// </summary>
- /// <param name="imagePath"></param>
- /// <param name="imageName"></param>
- void CropImageCallBack(string imagePath, string imageName)
+ /// <param name="imagePath">瑁佸壀鍚庣殑鐪熷疄璺緞</param>
+ /// <param name="imageName">鑷畾涔夌殑鍥剧墖鍚嶇О</param>
+ void CropImageCallBack(string selectImagePath)
{
- if (string.IsNullOrEmpty(imagePath) == true)
+ if (string.IsNullOrEmpty(selectImagePath) == true)
{
return;
}
- //濡傛灉鏄嚜瀹氫箟鍥剧墖鍒犻櫎涔嬪墠鐨�
- if (!addSceneImageView.ImagePath.Contains("Gallery/scenebg"))
+
+ //涓婁紶鎴愬姛鍒板洖璋�
+ Action<string> uploadSuccessAction = (imageUrl) =>
{
- Utlis.WriteLine("鍒犻櫎: " + addSceneImageView.ImagePath);
- System.IO.File.Delete(addSceneImageView.ImagePath);
- }
-
- MainPage.Log("SelectPicture 瑁佸壀鍥剧墖杩斿洖璺緞: " + imagePath);
- FileUtils.FileCopyToRootPath(imagePath, imageName);
- System.IO.File.Delete(imagePath);
-
- scene.ImagePath = imageName;
- addSceneImageView.ImagePath = imageName;
+ //2020-12-03 闇�瑕佽鏈�鏂扮殑鍥剧墖璺緞鍚屾鍒颁簯绔�
+ scene.ImagePath = imageUrl;
+ if (pageTitleId == StringId.EditScene)
+ {
+ scene.SaveSceneData(true);
+ }
+ };
+ //涓婁紶鍥剧墖鍒颁簯绔�
+ UploadImage(selectImagePath, addSceneImageView, scene, uploadSuccessAction);
}
/// <summary>
@@ -856,7 +870,7 @@
}.Show(bodyView);
return;
}
- foreach (var tempRoom in DB_ResidenceData.functionList.scenes)
+ foreach (var tempRoom in FunctionList.List.scenes)
{
if (scene.name == tempRoom.name)
{
@@ -864,8 +878,8 @@
return;
}
}
- scene.SaveFunctionData();
- DB_ResidenceData.functionList.scenes.Add(scene);
+ scene.SaveSceneData(true);
+ FunctionList.List.scenes.Add(scene);
backAction();
this.RemoveFromParent();
}
@@ -873,7 +887,7 @@
{
Action action = () =>
{
- DB_ResidenceData.DelSceneFunction(scene.sid);
+ FunctionList.List.DeleteScene(scene,true);
backAction();
this.RemoveFromParent();
};
@@ -905,13 +919,13 @@
scene.name = str;
if (pageTitleId == StringId.EditScene)
{
- scene.SaveFunctionData();
+ scene.SaveSceneData(true);
}
};
EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
{
List<string> sceneNameList = new List<string>();
- foreach (var tempScene in DB_ResidenceData.functionList.scenes)
+ foreach (var tempScene in FunctionList.List.scenes)
{
sceneNameList.Add(tempScene.name);
}
@@ -922,6 +936,89 @@
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