From d4811b7d34b45ff6b21b97f11da128b5572ec526 Mon Sep 17 00:00:00 2001 From: wei <kaede@kaededeMacBook-Air.local> Date: 星期三, 03 三月 2021 16:03:03 +0800 Subject: [PATCH] 20210303-1 --- HDL_ON/Entity/Function/Scene.cs | 140 +++++++++++++++++++++++++++------------------- 1 files changed, 82 insertions(+), 58 deletions(-) diff --git a/HDL_ON/Entity/Function/Scene.cs b/HDL_ON/Entity/Function/Scene.cs index 4ac4da6..c974e1e 100644 --- a/HDL_ON/Entity/Function/Scene.cs +++ b/HDL_ON/Entity/Function/Scene.cs @@ -1,5 +1,6 @@ 锘縰sing System; using System.Collections.Generic; +using HDL_ON.Common; using HDL_ON.DAL.Server; using Shared; @@ -35,7 +36,7 @@ /// <summary> /// 浜戠鍞竴ID /// </summary> - public string userSceneId = ""; + public string userSceneId = null; /// <summary> /// 鍦烘櫙sid /// </summary> @@ -56,44 +57,18 @@ /// 鎵�灞炴埧闂村垪琛� /// </summary> public List<string> roomIds = new List<string>(); - /// <summary> - /// 鎵�灞炴埧闂村垪琛� - /// </summary> - public List<string> uids = new List<string>(); + ///// <summary> + ///// 鎵�灞炴埧闂村垪琛� + ///// </summary> + //public List<string> uids = new List<string>(); /// <summary> /// 寤舵椂 /// </summary> public string delay = "0"; - ///// <summary> - ///// 寤舵椂鏄剧ず鐨勬枃鏈� - ///// </summary> - //[Newtonsoft.Json.JsonIgnore] - //public string delayText - //{ - // get - // { - // string text = ""; - // switch (delay) - // { - // case 0: - // text = Language.StringByID(StringId.NoDelay); - // break; - // case 30: - // text = "30s"; - // break; - // case 60: - // text = "1min"; - // break; - // case 120: - // text = "2min"; - // break; - // case 300: - // text = "5min"; - // break; - // } - // return text; - // } - //} + /// <summary> + /// 鍦烘櫙鐨勬渶濂戒竴娆℃墽琛屾椂闂� + /// </summary> + public string LastExecutionTime = ""; /// <summary> /// 鍦烘櫙鍒嗙粍 @@ -223,7 +198,7 @@ } if (roomNameList == "" ) { - roomNameList = Shared.Language.StringByID(StringId.WholeHouseScene); + roomNameList = Shared.Language.StringByID(StringId.WholeZone); } return roomNameList; } @@ -239,40 +214,89 @@ return "SceneData_" + sid; } } - /// <summary> - /// 淇濆瓨鍔熻兘鏁版嵁 + /// 鍦烘櫙鎵ц\鍊掕鏃� /// </summary> - public void SaveSceneData(bool upServer) + /// <param name="btnShowDelay"></param> + public void SceneCountDown(Button btnShowDelay) { - if (upServer) + //鍦烘櫙姝e湪鍊掕鏃舵墽琛屼腑 + if (LastExecutionTime != "" && Convert.ToDouble(LastExecutionTime) + Convert.ToDouble(delay) > Convert.ToDouble(Utlis.GetTimestamp(false))) { - UploadScene(); - } - else - { - var ssd = System.Text.Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(this)); - Common.FileUtlis.Files.WriteFileByBytes(savePath, ssd); - MainPage.Log($"Save Scene Data : {savePath}"); + int time = 0; + int.TryParse(Convert.ToInt32( + Convert.ToDouble(LastExecutionTime) + Convert.ToDouble(delay) - Convert.ToDouble(Utlis.GetTimestamp(false)) + ).ToString(), out time); + if (time > 0) + { + new System.Threading.Thread(() => + { + if (time > 0) + { + while (time > 0) + { + Application.RunOnMainThread(() => + { + if (time > 60) + { + btnShowDelay.Text = (time / 60).ToString() + "min" + time % 60 + "s"; + } + else + { + btnShowDelay.Text = time.ToString() + "s"; + } + }); + System.Threading.Thread.Sleep(1000); + time--; + } + Application.RunOnMainThread(() => + { + btnShowDelay.Text = ""; + }); + } + }) + { IsBackground = true, Priority = System.Threading.ThreadPriority.BelowNormal }.Start(); + } } } + /// <summary> + /// 淇濆瓨鍦烘櫙鏁版嵁鏂囦欢 + /// </summary> + public void SaveSceneFile() + { + var ssd = System.Text.Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(this)); + FileUtlis.Files.WriteFileByBytes(savePath, ssd); + MainPage.Log($"Save Scene Data : {savePath}"); + } + /// <summary> /// 鏀惰棌鍦烘櫙 /// </summary> /// <returns></returns> - public string CollectScene() + public void CollectScene() { - var pm = new HttpServerRequest(); - if (this.collect) + var result = StateCode.SUCCESS; + new System.Threading.Thread(() => { - var revPack = pm.CollectScene(this.userSceneId); - return revPack; - } - else - { - var revPack = pm.CancelCollectScene(this.userSceneId); - return revPack; - } + if (collect) + { + result = ApiUtlis.Ins.HttpRequest.CollectScene(userSceneId); + } + else + { + result = ApiUtlis.Ins.HttpRequest.CancelCollectScene(userSceneId); + } + //鎻愮ず閿欒 + if (result != StateCode.SUCCESS) + { + Application.RunOnMainThread(() => + { + collect = !collect; + IMessageCommon.Current.ShowErrorInfoAlter(result); + }); + } + }) + { IsBackground = true }.Start(); } /// <summary> -- Gitblit v1.8.0