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/1-HomePage/HomePageBLL.cs | 220 ++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 200 insertions(+), 20 deletions(-) diff --git a/HDL_ON/UI/UI2/1-HomePage/HomePageBLL.cs b/HDL_ON/UI/UI2/1-HomePage/HomePageBLL.cs index f18f109..0c30e50 100644 --- a/HDL_ON/UI/UI2/1-HomePage/HomePageBLL.cs +++ b/HDL_ON/UI/UI2/1-HomePage/HomePageBLL.cs @@ -14,13 +14,151 @@ /// </summary> public static void LoadEvent_RefreshAir() { - if (bodyView != null) + Application.RunOnMainThread(() => { - bodyView.btnTempValues.Text = MainPage.cityInfo.temperature == null ? "--" : MainPage.cityInfo.temperature + "掳"; - bodyView.btnHumidityValues.Text = MainPage.cityInfo.humidity == null ? "--" : MainPage.cityInfo.humidity + "%"; - bodyView.btnPm25Values.Text = MainPage.cityInfo.pm25 == null ? "--" : MainPage.cityInfo.pm25; + if (bodyView != null) + { + bodyView.btnTempValues.Text = MainPage.cityInfo.temperature == null ? "--" : MainPage.cityInfo.temperature + "掳"; + bodyView.btnHumidityValues.Text = MainPage.cityInfo.humidity == null ? "--" : MainPage.cityInfo.humidity + "%"; + bodyView.btnPm25Values.Text = MainPage.cityInfo.pm25 == null ? "--" : MainPage.cityInfo.pm25; + } + }); + } + + /// <summary> + /// 鏇存柊瀹夐槻鐘舵�� + /// </summary> + public static void LoadEvent_RefreshSecurityStatus() + { + try + { + Application.RunOnMainThread(() => + { + if (bodyView != null) + { + lock (FunctionList.List.securities) + { + bodyView.btnSecurityStatus.IsSelected = false; + foreach (var temp in FunctionList.List.securities) + { + if (temp.status == "enable") + { + if (temp.alarm) + { + bodyView.btnSecurityStatus.SelectedImagePath = "Collection/DefenseAlarmIcon.png"; + } + else + { + bodyView.btnSecurityStatus.SelectedImagePath = "Collection/DefenseStatusIcon.png"; + } + bodyView.btnSecurityStatus.IsSelected = true; + return; + } + } + } + } + }); + } + catch (Exception ex) + { + MainPage.Log($"瀹夐槻涓婚〉鏇存柊寮傚父锛歿ex.Message}"); } } + + /// <summary> + /// 鏇存柊瀹ゅ唴浼犳劅鍣ㄦ暟鎹�-婀垮害 + /// </summary> + public static void LoadEvent_RefreshEnvirIndoorHumi() + { + Application.RunOnMainThread(() => + { + if (bodyView != null) + { + var humiSensorList = FunctionList.List.GetEnvirSensorsList().FindAll((obj) => obj.spk == SPK.SensorHumidity); + var enviSensorList = FunctionList.List.GetEnvirSensorsList().FindAll((obj) => SPK.EvironmentSensorList().Contains(obj.spk )); + foreach (var enviTemp in enviSensorList) + { + var tempAttr = enviTemp.attributes.Find((obj) => obj.key == "humidity"); + if (tempAttr != null) + { + var newTemp = new Function() + { + name = enviTemp.name, + sid = enviTemp.sid, + deviceId = enviTemp.deviceId, + attributes = new List<FunctionAttributes> { new FunctionAttributes { key = "value", state = tempAttr.state, curValue = tempAttr.curValue } }, + }; + humiSensorList.Add(newTemp); + } + } + double humiTotalValues = 0; + int humiTotalCount = 0; + foreach (var temp in humiSensorList) + { + double humiValue = 0; + double.TryParse(temp.GetAttrState(FunctionAttributeKey.Value), out humiValue); + if(humiValue > 0) + { + humiTotalValues += humiValue; + humiTotalCount++; + } + } + if (humiTotalValues > 0) + { + bodyView.btnIndoorHumiValues.Text = "/" + (humiTotalValues /humiTotalCount).ToString("0")+ "%"; + } + 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); + var enviSensorList = FunctionList.List.GetEnvirSensorsList().FindAll((obj) => SPK.EvironmentSensorList().Contains(obj.spk)); + foreach (var enviTemp in enviSensorList) + { + var tempAttr = enviTemp.attributes.Find((obj) => obj.key == "temperature"); + if (tempAttr != null) + { + var newTemp = new Function() + { + name = enviTemp.name, + sid = enviTemp.sid, + deviceId = enviTemp.deviceId, + attributes = new List<FunctionAttributes> { new FunctionAttributes { key = "value", state = tempAttr.state, curValue = tempAttr.curValue } }, + }; + tempSensorList.Add(newTemp); + } + } + double tempTotalValues = 0; + int tempTotalCount = 0; + foreach (var temp in tempSensorList) + { + double tempValue = 0; + double.TryParse(temp.GetAttrState(FunctionAttributeKey.Value), out tempValue); + if (tempValue > 0) + { + tempTotalValues += tempValue; + tempTotalCount++; + } + } + if (tempTotalValues > 0) + { + bodyView.btnIndoorTempValues.Text = "/" + (tempTotalValues /tempTotalCount).ToString("0.0")+ "掳"; + } + bodyView.btnIndoorTempValues.Width = bodyView.btnIndoorTempValues.GetTextWidth(); + } + }); + } + /// <summary> /// 鏇存柊鍔熻兘鍒楄〃涓婚〉 /// </summary> @@ -37,6 +175,13 @@ /// </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; @@ -76,7 +221,7 @@ btn.MouseUpEventHandler += (sender, e) => { function.collect = false; - if (function.Spk_Prefix == FunctionCategory.Music)//澶勭悊闊充箰涓讳粠鍏崇郴 + if (SPK.MusicSpkList().Contains(function.spk))//澶勭悊闊充箰涓讳粠鍏崇郴 { if ((function as Music.A31MusicModel).ServerClientType == 1) { @@ -121,7 +266,6 @@ btnChangeScene.IsBold = false; CurShowTypeIsFunction = true; contentView.PageIndex = 0; - }; //var client = new BlufiClient(); @@ -153,7 +297,6 @@ btnChangeScene.TextSize = CSS.CSS_FontSize.TextFontSize; btnChangeScene.IsSelected = false; btnChangeScene.IsBold = false; - CurShowTypeIsFunction = true; } else { @@ -163,7 +306,6 @@ btnChangeFunction.TextSize = CSS.CSS_FontSize.TextFontSize; btnChangeFunction.IsSelected = false; btnChangeFunction.IsBold = false; - CurShowTypeIsFunction = false; } }; } @@ -187,7 +329,15 @@ if (function.spk == SPK.CurtainRoller || function.spk == SPK.CurtainShades || function.spk == SPK.CurtainTrietex || function.spk == SPK.CurtainSwitch)//绐楀笜璁惧鏍规嵁鐧惧垎姣斿垽鏂紑鍏崇姸鎬� { - state = function.GetAttrState(FunctionAttributeKey.Percent) != "0"; + if (function.GetAttribute(FunctionAttributeKey.Percent) != null) + { + state = function.GetAttrState(FunctionAttributeKey.Percent) != "0"; + }else + { + if (function.GetAttrState(FunctionAttributeKey.OnOff) == "stop") + return; + state = function.trait_on_off.curValue.ToString() == "on"; + } } else { @@ -201,7 +351,7 @@ btn.IsSelected = state; if (btn.Tag != null && btn.Tag.ToString() == "state") { - if (function.Spk_Prefix == FunctionCategory.Music) + if (SPK.MusicSpkList().Contains(function.spk)) { btn.Text = (function as Music.A31MusicModel).A31PlayStatus.Title; } @@ -299,6 +449,13 @@ btnSwitch.IsSelected = !btnSwitch.IsSelected; new System.Threading.Thread(() => { + if(SPK.NotStatusSpkList.Contains(function.spk)) + { + System.Threading.Thread.Sleep(1000); + Application.RunOnMainThread(() => { + btnSwitch.IsSelected = !btnSwitch.IsSelected; + }); + } function.trait_on_off.curValue = btnSwitch.IsSelected ? "on" : "off"; Dictionary<string, string> d = new Dictionary<string, string>(); if (function.spk == SPK.LightDimming || function.spk == SPK.LightRGB) @@ -328,13 +485,36 @@ /// <summary> /// 鍔犺浇鐢佃鎺у埗浜嬩欢 /// </summary> - /// <param name="tV"></param> - /// <param name="button"></param> - void LoadEvent_ControlTV(Function tV, Button button) + /// <param name="function"></param> + /// <param name="btnSwitch"></param> + void LoadEvent_ControlTV(Function function, Button btnSwitch) { - button.MouseUpEventHandler = (sender, e) => + btnSwitch.MouseUpEventHandler = (sender, e) => { - new TV().ControlTV(InfraredCode_TV.Power, tV); + if (DB_ResidenceData.Instance.GatewayType == 1) + { + btnSwitch.IsSelected = !btnSwitch.IsSelected; + new System.Threading.Thread(() => + { + if (SPK.NotStatusSpkList.Contains(function.spk)) + { + System.Threading.Thread.Sleep(2000); + Application.RunOnMainThread(() => + { + btnSwitch.IsSelected = !btnSwitch.IsSelected; + }); + } + + Dictionary<string, string> d = new Dictionary<string, string>(); + d.Add("on_off", ""); + Control.Ins.SendWriteCommand(function, d); + }) + { IsBackground = true }.Start(); + } + else + { + new TV().ControlTV(InfraredCode_TV.Power, function); + } }; } @@ -461,12 +641,12 @@ { //鏈鐨勬秷鎭垪琛� var unreadList = new List<PushMessageInfo>(); + + var pushMessageInfoList = Newtonsoft.Json.JsonConvert.DeserializeObject<PushMessageInfoList>(result.Data.ToString()); - var pushMessageInfoList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<PushMessageInfo>>(result.Data.ToString()); - - if (pushMessageInfoList != null && pushMessageInfoList.Count > 0) + if (pushMessageInfoList != null && pushMessageInfoList.list != null && pushMessageInfoList.list.Count > 0) { - foreach (var info in pushMessageInfoList) + foreach (var info in pushMessageInfoList.list) { if (!info.isRead) { @@ -486,7 +666,7 @@ { Application.RunOnMainThread(() => { - ShowMesBtnState(pushMessageInfoList[0], true); + ShowMesBtnState(pushMessageInfoList.list[0], true); }); } } -- Gitblit v1.8.0