From 43b0d5870d528f23ecd6aeceb6cfd4325188b46f Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期四, 01 七月 2021 15:50:43 +0800 Subject: [PATCH] Revert "1" --- HDL_ON/UI/UI2/1-HomePage/HomePageBLL.cs | 308 ++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 256 insertions(+), 52 deletions(-) diff --git a/HDL_ON/UI/UI2/1-HomePage/HomePageBLL.cs b/HDL_ON/UI/UI2/1-HomePage/HomePageBLL.cs index ea6db63..b84b2a7 100644 --- a/HDL_ON/UI/UI2/1-HomePage/HomePageBLL.cs +++ b/HDL_ON/UI/UI2/1-HomePage/HomePageBLL.cs @@ -21,32 +21,111 @@ bodyView.btnPm25Values.Text = MainPage.cityInfo.pm25 == null ? "--" : MainPage.cityInfo.pm25; } } + + /// <summary> + /// 鏇存柊瀹ゅ唴浼犳劅鍣ㄦ暟鎹�-婀垮害 + /// </summary> + public static void LoadEvent_RefreshEnvirIndoorHumi() + { + Application.RunOnMainThread(() => + { + if (bodyView != null) + { + var humiSensorList = FunctionList.List.GetEnvirSensorsList().FindAll((obj) => obj.spk == SPK.SensorHumidity); + double humiTotalValues = 0; + foreach (var temp in humiSensorList) + { + double humiValue = 0; + double.TryParse(temp.GetAttrState(FunctionAttributeKey.Value), out humiValue); + humiTotalValues += humiValue; + } + if (humiTotalValues > 0) + { + bodyView.btnIndoorHumiValues.Text = "/" + humiTotalValues + "%"; + } + bodyView.btnIndoorHumiValues.Width = bodyView.btnIndoorHumiValues.GetTextWidth(); + } + }); + } + + /// <summary> + /// 鏇存柊瀹ゅ唴浼犳劅鍣ㄦ暟鎹�-鏅氱偣 + /// </summary> + public static void LoadEvent_RefreshEnvirIndoorTemp() + { + Application.RunOnMainThread(() => + { + if (bodyView != null) + { + var tempSensorList = FunctionList.List.GetEnvirSensorsList().FindAll((obj) => obj.spk == SPK.SensorTemperature); + double tempTotalValues = 0; + foreach (var temp in tempSensorList) + { + double tempValue = 0; + double.TryParse(temp.GetAttrState(FunctionAttributeKey.Value), out tempValue); + tempTotalValues += tempValue; + } + if (tempTotalValues > 0) + { + bodyView.btnIndoorTempValues.Text = "/" + tempTotalValues + "掳"; + } + bodyView.btnIndoorTempValues.Width = bodyView.btnIndoorTempValues.GetTextWidth(); + } + }); + } + + /// <summary> + /// 鏇存柊鍔熻兘鍒楄〃涓婚〉 + /// </summary> + public static void RefreshFunctionView() + { + if (bodyView != null && MainPage.CurPageIndex==0) + { + bodyView.LoadDeviceFunctionControlZone(); + } + } + + /// <summary> + /// 鏇存柊杩炴帴鐘舵�佸浘鏍� + /// </summary> + void CheckLinkStatus() + { + //Dome妯″紡 + if (MainPage.NoLoginMode) + { + bodyView.btnLinkStateTip.BackgroundColor = CSS.CSS_Color.MainColor; + return; + } + + if (!Control.Ins.GatewayOnline_Local && !Control.Ins.GatewayOnline_Cloud) + { + bodyView.btnLinkStateTip.BackgroundColor = CSS.CSS_Color.LinkTipFail; + } + else + { + if (Control.Ins.GatewayOnline_Local) + { + bodyView.btnLinkStateTip.BackgroundColor = CSS.CSS_Color.LinkTipLocal; + } + else + { + bodyView.btnLinkStateTip.BackgroundColor = CSS.CSS_Color.MainColor; + } + } + } + /// <summary> /// 纭杩炴帴鐘舵�� /// </summary> public static void LoadEvent_CheckLinkStatus() { - if (bodyView != null) + Application.RunOnMainThread(() => { - Application.RunOnMainThread(() => + if (bodyView != null) { - if (Control.Ins.GatewayOnline) - { - if (Control.Ins.IsRemote) - { - bodyView.btnLinkStateTip.BackgroundColor = CSS.CSS_Color.LinkTipRemote; - } - else - { - bodyView.btnLinkStateTip.BackgroundColor = CSS.CSS_Color.MainColor; - } - } - else - { - bodyView.btnLinkStateTip.BackgroundColor = CSS.CSS_Color.LinkTipFail; - } - }); - } + bodyView.CheckLinkStatus(); + } + }); } /// <summary> @@ -57,7 +136,7 @@ btn.MouseUpEventHandler += (sender, e) => { function.collect = false; - if (function.functionCategory == FunctionCategory.Music)//澶勭悊闊充箰涓讳粠鍏崇郴 + if (function.Spk_Prefix == FunctionCategory.Music)//澶勭悊闊充箰涓讳粠鍏崇郴 { if ((function as Music.A31MusicModel).ServerClientType == 1) { @@ -67,7 +146,7 @@ } string msg = function.name + Language.StringByID(StringId.CollectionCancelled); LoadDeviceFunctionControlZone(); - function.SaveFunctionData(true); + function.CollectFunction(); new PublicAssmebly().TipMsgAutoClose(msg, true); }; } @@ -102,7 +181,15 @@ btnChangeScene.IsBold = false; CurShowTypeIsFunction = true; contentView.PageIndex = 0; + }; + + //var client = new BlufiClient(); + //client.PostPackageLengthLimit = 128; + //client.RequestDeviceScan(); + //client.RequestDeviceStatus(); + //client.BlufiDelegate.Blufi_DidReceiveDeviceScanResponse(); + btnChangeScene.MouseUpEventHandler = (sender, e) => { @@ -156,7 +243,16 @@ { if (view.Tag.ToString() == function.sid) { - var state = function.trait_on_off.curValue.ToString() == "on"; + var state = false; + if (function.spk == SPK.CurtainRoller || function.spk == SPK.CurtainShades || function.spk == SPK.CurtainTrietex || + function.spk == SPK.CurtainSwitch)//绐楀笜璁惧鏍规嵁鐧惧垎姣斿垽鏂紑鍏崇姸鎬� + { + state = function.GetAttrState(FunctionAttributeKey.Percent) != "0"; + } + else + { + state = function.trait_on_off.curValue.ToString() == "on"; + } for (int i = 0; i < view.ChildrenCount; i++) { if (view.GetChildren(i).GetType() == typeof(Button)) @@ -165,13 +261,16 @@ btn.IsSelected = state; if (btn.Tag != null && btn.Tag.ToString() == "state") { - if (function.functionCategory == FunctionCategory.Music) + if (function.Spk_Prefix == FunctionCategory.Music) { btn.Text = (function as Music.A31MusicModel).A31PlayStatus.Title; } else { - btn.Text = function.lastState; + if (function.spk != SPK.LightSwitch) + { + btn.Text = function.lastState; + } } } } @@ -190,14 +289,58 @@ /// <summary> /// 鍔犺浇鍦烘櫙鎺у埗浜嬩欢 /// </summary> - void LoadEvent_ControlScene(Button btnCoverd, Button btnName, Button btnZone, Scene scene) + void LoadEvent_ControlScene(Button btnCoverd, Button btnName, Button btnZone,Button btnShowDelay, Scene scene) { EventHandler<MouseEventArgs> eventHandler = (sender, e) => { + //鍦烘櫙姝e湪鍊掕鏃舵墽琛屼腑锛屼笉鍏佽鍐嶇偣鍑� + if (scene.LastExecutionTime == "" || Convert.ToDouble(scene.LastExecutionTime) + Convert.ToDouble(scene.delay) < Convert.ToDouble(Utlis.GetTimestamp(false))) + { + scene.LastExecutionTime = Utlis.GetTimestamp(false); + } + else + { + return; + } string msg = scene.name + Language.StringByID(StringId.AlreadyOpened); new PublicAssmebly().TipMsgAutoClose(msg, true); Control.Ins.ControlScene(scene); + scene.SceneCountDown(btnShowDelay); + //new System.Threading.Thread(() => { + // int time = Convert.ToInt32(scene.delay); + // if (time > 0) + // { + // while (time > 0) + // { + // Application.RunOnMainThread(() => + // { + // if (time / 60 > 1) + // { + // btnShowDelay.Text = (time / 60).ToString() + "min"; + // } + // else + // { + // btnShowDelay.Text = (time--).ToString() + "s"; + // } + // }); + // if (time / 60 > 1) + // { + // System.Threading.Thread.Sleep(time / 60 * 60000); + // } + // else + // { + // System.Threading.Thread.Sleep(1000); + // } + // } + // Application.RunOnMainThread(() => + // { + // btnShowDelay.Text = ""; + // }); + // } + //}) + //{ IsBackground = true, Priority = System.Threading.ThreadPriority.BelowNormal }.Start(); + }; btnCoverd.MouseUpEventHandler = eventHandler; btnName.MouseUpEventHandler = eventHandler; @@ -217,9 +360,26 @@ new System.Threading.Thread(() => { function.trait_on_off.curValue = btnSwitch.IsSelected ? "on" : "off"; - System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); - d.Add("on_off", function.trait_on_off.curValue.ToString()); - Control.Ins.SendWriteCommand(function, d); + Dictionary<string, string> d = new Dictionary<string, string>(); + if (function.spk == SPK.LightDimming || function.spk == SPK.LightRGB) + { + d.Add(FunctionAttributeKey.OnOff, function.trait_on_off.curValue.ToString()); + if (btnSwitch.IsSelected) + { + d.Add(FunctionAttributeKey.Brightness, function.lastBrightness.ToString()); + } + else + { + function.lastBrightness = Convert.ToInt32(function.GetAttrState(FunctionAttributeKey.Brightness)); + } + d.Add(FunctionAttributeKey.FadeTime, function.GetAttrState(FunctionAttributeKey.FadeTime)); + Control.Ins.SendWriteCommand(function, d); + } + else + { + d.Add("on_off", function.trait_on_off.curValue.ToString()); + Control.Ins.SendWriteCommand(function, d); + } }) { IsBackground = true }.Start(); }; @@ -230,45 +390,94 @@ /// </summary> /// <param name="tV"></param> /// <param name="button"></param> - void LoadEvent_ControlTV(TV tV, Button button) + void LoadEvent_ControlTV(Function tV, Button button) { button.MouseUpEventHandler = (sender, e) => { - tV.ControlTV(InfraredCode_TV.Power); + if (DB_ResidenceData.Instance.GatewayType == 1) + { + Dictionary<string, string> d = new Dictionary<string, string>(); + d.Add("on_off", ""); + Control.Ins.SendWriteCommand(tV, d); + } + else + { + new TV().ControlTV(InfraredCode_TV.Power, tV); + } }; } /// <summary> /// 鍔犺浇绐楀笜鎺у埗浜嬩欢 /// </summary> - void LoadEvent_ControlCurtain(Curtain curtain, Button btnClose, Button btnOpen) + void LoadEvent_ControlCurtain(Function curtain, Button btnClose, Button btnOpen) { - btnClose.MouseDownEventHandler = (sender, e) => - { - btnClose.IsSelected = true; - }; btnClose.MouseUpEventHandler = (sender, e) => { - btnClose.IsSelected = false; + btnClose.IsSelected = true; curtain.trait_on_off.curValue = "off"; - curtain.percent = 0; - System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); - d.Add("on_off", curtain.trait_on_off.curValue.ToString()); + curtain.SetAttrState(FunctionAttributeKey.Percent, 0); + Dictionary<string, string> d = new Dictionary<string, string>(); + d.Add(FunctionAttributeKey.OnOff, curtain.trait_on_off.curValue.ToString()); Control.Ins.SendWriteCommand(curtain, d); }; - btnOpen.MouseDownEventHandler = (sender, e) => - { - btnOpen.IsSelected = true; - }; btnOpen.MouseUpEventHandler = (sender, e) => { - btnOpen.IsSelected = false; + btnOpen.IsSelected = true; curtain.trait_on_off.curValue = "on"; - curtain.percent = 100; - System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); - d.Add("on_off", curtain.trait_on_off.curValue.ToString()); + curtain.SetAttrState(FunctionAttributeKey.Percent, 100); + Dictionary<string, string> d = new Dictionary<string, string>(); + d.Add(FunctionAttributeKey.OnOff, curtain.trait_on_off.curValue.ToString()); Control.Ins.SendWriteCommand(curtain, d); + }; + } + + /// <summary> + /// 鍔犺浇鏅捐。鏋舵帶鍒朵簨浠� + /// </summary> + void LoadEvent_ControlClothesHanger(Function function,Button btnUp,Button btnDown) + { + btnUp.MouseDownEventHandler = (sender, e) => + { + btnUp.IsSelected = true; + }; + btnUp.MouseUpEventHandler = (sender, e) => + { + new System.Threading.Thread(() => + { + System.Threading.Thread.Sleep(2000); + Application.RunOnMainThread(() => + { + btnUp.IsSelected = false; + }); + }) + { IsBackground = true }.Start(); + function.SetAttrState(FunctionAttributeKey.Position, "up"); + Dictionary<string, string> d = new Dictionary<string, string>(); + d.Add(FunctionAttributeKey.Position, "up"); + Control.Ins.SendWriteCommand(function, d); + }; + + btnDown.MouseDownEventHandler = (sender, e) => + { + btnDown.IsSelected = true; + }; + btnDown.MouseUpEventHandler = (sender, e) => + { + new System.Threading.Thread(() => + { + System.Threading.Thread.Sleep(2000); + Application.RunOnMainThread(() => + { + btnDown.IsSelected = false; + }); + }) + { IsBackground = true }.Start(); + function.SetAttrState(FunctionAttributeKey.Position, "down"); + Dictionary<string, string> d = new Dictionary<string, string>(); + d.Add(FunctionAttributeKey.Position, "down"); + Control.Ins.SendWriteCommand(function, d); }; } @@ -348,11 +557,8 @@ { ShowMesBtnState(pushMessageInfoList[0], true); }); - } - } - } else { @@ -366,9 +572,7 @@ { isGetting = false; } - }); - } /// <summary> -- Gitblit v1.8.0