From 6d73bf6e816570291865674bef8bce8972e4de3f Mon Sep 17 00:00:00 2001 From: xm <1271024303@qq.com> Date: 星期三, 01 十二月 2021 16:32:57 +0800 Subject: [PATCH] 2021-12-01-01 --- HDL_ON/UI/UI2/1-HomePage/HomePage.cs | 681 +++++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 551 insertions(+), 130 deletions(-) diff --git a/HDL_ON/UI/UI2/1-HomePage/HomePage.cs b/HDL_ON/UI/UI2/1-HomePage/HomePage.cs index 03653ee..1c437a3 100644 --- a/HDL_ON/UI/UI2/1-HomePage/HomePage.cs +++ b/HDL_ON/UI/UI2/1-HomePage/HomePage.cs @@ -11,11 +11,13 @@ namespace HDL_ON.UI { - public partial class HomePage : FrameLayout + public partial class HomePage : VerticalRefreshLayout { #region 鎺т欢鍒楄〃 static HomePage bodyView; + + //FrameLayout bodyView; /// <summary> /// 椤堕儴淇℃伅鍖哄煙 /// </summary> @@ -25,6 +27,12 @@ /// </summary> Button btnLinkStateTip; /// <summary> + /// 瀹夐槻鐘舵�佸浘鏍� + /// </summary> + Button btnSecurityStatus; + + + /// <summary> ///浣忓畢鍚嶇О鏄剧ず /// </summary> Button btnResidenceName; @@ -33,13 +41,21 @@ /// </summary> FrameLayout environmentalView; /// <summary> - /// 褰撳墠娓╁害淇℃伅 + /// 褰撳墠娓╁害淇℃伅-瀹ゅ /// </summary> TextButton btnTempValues; /// <summary> - /// 褰撳墠婀垮害淇℃伅 + /// 褰撳墠婀垮害淇℃伅-瀹ゅ /// </summary> TextButton btnHumidityValues; + /// <summary> + /// 褰撳墠娓╁害淇℃伅-瀹ゅ唴 + /// </summary> + TextButton btnIndoorTempValues; + /// <summary> + /// 褰撳墠婀垮害淇℃伅-瀹ゅ唴 + /// </summary> + TextButton btnIndoorHumiValues; /// <summary> /// 褰撳墠pm2.5鐘舵�� /// </summary> @@ -92,6 +108,15 @@ { bodyView = this; bodyView.BackgroundColor = CSS_Color.BackgroundColor; + + this.VerticalScrollBarEnabled = false; +#if __IOS__ + //鑷姩鍋忕Щ鍙栨秷 + if (UIKit.UIDevice.CurrentDevice.CheckSystemVersion(11, 0)) + { + (this.uiView as UIKit.UIScrollView).ContentInsetAdjustmentBehavior = UIKit.UIScrollViewContentInsetAdjustmentBehavior.Never; + } +#endif } public override void RemoveFromParent() @@ -102,9 +127,24 @@ public void LoadPage() { + MainPage.CurPageIndex = 0; try { + this.BeginHeaderRefreshingAction = () => + { + this.EndHeaderRefreshing(); + Common.ApiUtlis.Ins.DownloadData(); + LoadContentView(); + if(!CurShowTypeIsFunction) + { + contentView.PageIndex = 1; + } + }; + #region topView + + bodyView.RemoveAll(); + topView = new FrameLayout() { Height = Application.GetRealHeight(216), @@ -129,21 +169,9 @@ Radius = (uint)Application.GetRealWidth(3), }; topView.AddChidren(btnLinkStateTip); - 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; - } + //鏇存柊閾炬帴鐘舵�乮con棰滆壊 + CheckLinkStatus();//2020-12-22 + btnResidenceName = new Button() { @@ -154,21 +182,16 @@ TextColor = CSS_Color.MainBackgroundColor, TextSize = CSS_FontSize.EmphasisFontSize_FirstLevel, TextAlignment = TextAlignment.CenterLeft, - Text = DB_ResidenceData.Instance.CurrentRegion.Name, + Text = DB_ResidenceData.Instance.CurrentRegion.homeName, IsBold = true }; topView.AddChidren(btnResidenceName); #if DEBUG - //鎼滅储缃戝叧 + int msdId = 111; btnResidenceName.MouseUpEventHandler = (sender, e) => { - System.Threading.Tasks.Task.Run(() => - { - //DriverLayer.Control.Ins.SearchLoaclGateway(); - //MainPage.InitializationData(); - //DriverLayer.Control.Ins.IsRemote = true; - }); + Control.Ins.AuthGateway(); }; #endif @@ -179,9 +202,55 @@ }; topView.AddChidren(environmentalView); #region 鐜鏁版嵁 + var tempSensorList = FunctionList.List.GetEnvirSensorsList().FindAll((obj) => obj.spk == SPK.SensorTemperature); + var humiSensorList = FunctionList.List.GetEnvirSensorsList().FindAll((obj) => obj.spk == SPK.SensorHumidity); + var enviList = FunctionList.List.GetEnvirSensorsList().FindAll((obj) => SPK.EvironmentSensorList().Contains(obj.spk)); + foreach (var enviTemp in enviList) + { + var humiAttr = enviTemp.attributes.Find((obj) => obj.key == "humidity"); + if (humiAttr != null) + { + var newTemp = new Function() + { + name = enviTemp.name, + sid = enviTemp.sid, + deviceId = enviTemp.deviceId, + attributes = new List<FunctionAttributes> { new FunctionAttributes { key = "value", state = humiAttr.state, curValue = humiAttr.curValue } }, + }; + humiSensorList.Add(newTemp); + } + 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); + } + } + + var btnEnvirValuesTitle = new Button() { + X = Application.GetRealWidth(12), + Gravity = Gravity.CenterVertical, + TextColor = CSS_Color.MainBackgroundColor, + TextSize = CSS_FontSize.PromptFontSize_FirstLevel, + TextID = StringId.Outdoor, + TextAlignment = TextAlignment.CenterLeft, + }; + if (tempSensorList.Count > 0 || humiSensorList.Count > 0) + { + btnEnvirValuesTitle.TextID = StringId.InOutdoor; + } + btnEnvirValuesTitle.Width = Application.GetRealWidth(8) + btnEnvirValuesTitle.GetTextWidth(); + environmentalView.AddChidren(btnEnvirValuesTitle); + Button btnTempIcon = new Button() { - X = Application.GetRealWidth(12), + X = btnEnvirValuesTitle.Right, Gravity = Gravity.CenterVertical, Width = Application.GetMinRealAverage(16), Height = Application.GetMinRealAverage(16), @@ -192,18 +261,50 @@ btnTempValues = new TextButton() { X = btnTempIcon.Right + Application.GetRealWidth(4), - Width = Application.GetRealWidth(30), Gravity = Gravity.CenterVertical, TextColor = CSS_Color.MainBackgroundColor, TextSize = CSS_FontSize.PromptFontSize_FirstLevel, Text = MainPage.cityInfo.temperature + "掳", TextAlignment = TextAlignment.CenterLeft, }; + btnTempValues.Width = btnTempValues.GetTextWidth(); environmentalView.AddChidren(btnTempValues); + + btnIndoorTempValues = new TextButton() + { + X = btnTempValues.Right, + Gravity = Gravity.CenterVertical, + TextColor = CSS_Color.MainBackgroundColor, + TextSize = CSS_FontSize.PromptFontSize_FirstLevel, + TextAlignment = TextAlignment.CenterLeft, + Text = "" + }; + if (tempSensorList.Count > 0) + { + btnIndoorTempValues.Text = "/--掳"; + double tempTotalValues = 0; + double 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) + { + btnIndoorTempValues.Text = "/" + (tempTotalValues/ tempTotalCount).ToString("0.0") + "掳"; + } + } + btnIndoorTempValues.Width = btnIndoorTempValues.GetTextWidth(); + environmentalView.AddChidren(btnIndoorTempValues); Button btnHumidityIcon = new Button() { - X = btnTempValues.Right + Application.GetRealWidth(2), + X = btnIndoorTempValues.Right + Application.GetRealWidth(8), Gravity = Gravity.CenterVertical, Width = Application.GetMinRealAverage(16), Height = Application.GetMinRealAverage(16), @@ -214,18 +315,50 @@ btnHumidityValues = new TextButton() { X = btnHumidityIcon.Right + Application.GetRealWidth(4), - Width = Application.GetRealWidth(30), Gravity = Gravity.CenterVertical, TextColor = CSS_Color.MainBackgroundColor, TextSize = CSS_FontSize.PromptFontSize_FirstLevel, Text = MainPage.cityInfo.humidity + "%", TextAlignment = TextAlignment.CenterLeft, }; + btnHumidityValues.Width = btnHumidityValues.GetTextWidth(); environmentalView.AddChidren(btnHumidityValues); + + btnIndoorHumiValues = new TextButton() + { + X = btnHumidityValues.Right, + Gravity = Gravity.CenterVertical, + TextColor = CSS_Color.MainBackgroundColor, + TextSize = CSS_FontSize.PromptFontSize_FirstLevel, + TextAlignment = TextAlignment.CenterLeft, + Text = "" + }; + if (tempSensorList.Count > 0) + { + btnIndoorHumiValues.Text = "/--%"; + double humiTotalValues = 0; + double humiTotalCount = 0; + foreach (var humi in humiSensorList) + { + double humiValue = 0; + double.TryParse(humi.GetAttrState(FunctionAttributeKey.Value), out humiValue); + if (humiValue > 0) + { + humiTotalValues += humiValue; + humiTotalCount++; + } + } + if (humiTotalValues > 0) + { + btnIndoorHumiValues.Text = "/" + (humiTotalValues / humiTotalCount).ToString("0") + "%"; + } + } + btnIndoorHumiValues.Width = btnIndoorHumiValues.GetTextWidth(); + environmentalView.AddChidren(btnIndoorHumiValues); Button btnPm25Icon = new Button() { - X = btnHumidityValues.Right + Application.GetRealWidth(2), + X = btnIndoorHumiValues.Right + Application.GetRealWidth(4), Gravity = Gravity.CenterVertical, Width = Application.GetMinRealAverage(16), Height = Application.GetMinRealAverage(16), @@ -236,15 +369,53 @@ btnPm25Values = new TextButton() { X = btnPm25Icon.Right + Application.GetRealWidth(4), - Width = Application.GetRealWidth(130), Gravity = Gravity.CenterVertical, TextColor = CSS_Color.MainBackgroundColor, TextSize = CSS_FontSize.PromptFontSize_FirstLevel, Text = MainPage.cityInfo.pm25, TextAlignment = TextAlignment.CenterLeft, }; + btnPm25Values.Width = btnPm25Values.GetTextWidth(); environmentalView.AddChidren(btnPm25Values); #endregion + + btnSecurityStatus = new Button() + { + X = Application.GetRealWidth(329), + Y = Application.GetRealHeight(34), + Width = Application.GetRealWidth(30), + Height = Application.GetRealWidth(30), + SelectedImagePath = "Collection/DefenseStatusIcon.png", + UnSelectedImagePath = "Collection/DisarmStatusIcon.png" + }; + if (DB_ResidenceData.Instance.GatewayType == 1) + { + topView.AddChidren(btnSecurityStatus); + foreach (var temp in FunctionList.List.securities) + { + if (temp.status == "enable") + { + btnSecurityStatus.IsSelected = true; + if (temp.alarm) + { + btnSecurityStatus.SelectedImagePath = "Collection/DefenseAlarmIcon.png"; + } + else + { + btnSecurityStatus.SelectedImagePath = "Collection/DefenseStatusIcon.png"; + } + break; + } + } + + btnSecurityStatus.MouseUpEventHandler = (sender, e) => { + var page = new ArmCenterPage(); + MainPage.BasePageView.AddChidren(page); + page.LoadPage(); + MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; + }; + } + #region msg FrameLayout msgView; @@ -264,7 +435,7 @@ }; msgView.AddChidren(btnMsgBg); - + btnMsgIcon = new Button() { X = Application.GetRealWidth(12), @@ -276,7 +447,7 @@ }; msgView.AddChidren(btnMsgIcon); - + btnMsg = new Button() { X = Application.GetRealWidth(10) + btnMsgIcon.Right, @@ -288,7 +459,7 @@ }; msgView.AddChidren(btnMsg); - + btnMsgTime = new Button() { X = Application.GetRealWidth(299), @@ -306,9 +477,12 @@ #endregion #region 鍔熻兘鍦烘櫙鍒囨崲 + + bodyView.AddChidren(new Button() { Height = Application.GetRealHeight(20), BackgroundColor = 0x00000000 }); + changeView = new FrameLayout() { - Y = Application.GetRealHeight(20) + topView.Bottom, + //Y = Application.GetRealHeight(20) + topView.Bottom, Gravity = Gravity.CenterHorizontal, Width = Application.GetRealWidth(230), Height = Application.GetRealHeight(62), @@ -318,14 +492,15 @@ btnChangeFunction = new Button() { - Width = Application.GetRealWidth(114), + X = Application.GetRealWidth(10), + Width = Application.GetRealWidth(114-10), TextID = StringId.Functions, SelectedTextColor = CSS_Color.MainColor, TextColor = CSS_Color.PromptingColor1, TextSize = CSS_FontSize.HeadlineFontSize, TextAlignment = TextAlignment.Center, IsSelected = true, - IsBold = true + IsBold = true, }; changeView.AddChidren(btnChangeFunction); @@ -342,7 +517,7 @@ btnChangeScene = new Button() { X = btnLine.Right, - Width = Application.GetRealWidth(114), + Width = Application.GetRealWidth(114-10), TextID = StringId.Scenes, SelectedTextColor = CSS_Color.MainColor, TextColor = CSS_Color.PromptingColor1, @@ -355,28 +530,17 @@ #region ContextView contentView = new PageLayout() { - Y = changeView.Bottom , + //Y = changeView.Bottom, Height = Application.GetRealHeight(310 + 30 + 10), //20涓鸿秴鍑洪儴鍒� + IsShowPoint = false, }; bodyView.AddChidren(contentView); functionViews = new List<FrameLayout>(); - deviceFunctionView = new VerticalScrolViewLayout(); - contentView.AddChidren(deviceFunctionView); - LoadDeviceFunctionControlZone(); - sceneFunctionView = new VerticalScrolViewLayout(); - contentView.AddChidren(sceneFunctionView); - LoadSceneFunctionControlZone(); - contentView.PageIndex = 0; + LoadContentView(); #endregion - - LoadEvent_ChangeShowedFunctionType(); - - // 鏌ヨ鏈娑堟伅骞舵樉绀� - GetUnreadPushMessages(); - RegisterGetPushMessageAction(); } catch (Exception ex) { @@ -384,10 +548,241 @@ } - System.Threading.Tasks.Task.Run(() => +#if DEBUG + + + //FunctionList.List.Functions.Add(new Function() + //{ + // spk = SPK.SensorDryContact, + // name = "骞叉帴鐐�", + // attributes = new List<FunctionAttributes>() + // { + // new FunctionAttributes(){ key = "status",curValue= "on",state = "on" }, + // }, + //}); + + //FunctionList.List.Functions.Add(new Function() + //{ + // spk = SPK.AirSwitch, + // name = "鏅鸿兘绌哄紑", + // attributes = new List<FunctionAttributes>() + // { + // new FunctionAttributes(){ key = "on_off",curValue= "on",state = "on" }, + // }, + //}); + + //FunctionList.List.Functions.Add(new Function() + //{ + // spk = SPK.AirFreshStandard, + // name = "娴嬭瘯鏂伴", + // attributes = new List<FunctionAttributes>() + // { + // new FunctionAttributes(){ key = "on_off",curValue= "on",state = "on" }, + // new FunctionAttributes(){ key = "fan",curValue= "low",state = "low" ,value = new List<string>(){ "high", "medium", "low" } }, + // }, + //}); + + + FunctionList.List.Functions.Add(new Function() { - //DriverLayer.Control.Ins.SearchLoaclGateway(); + spk = SPK.HvacAirFreshJinmao, + name = "娴嬭瘯閲戣寕鏂伴", + attributes = new List<FunctionAttributes>() + { + new FunctionAttributes(){ key = "on_off",curValue= "on",state = "on" }, + new FunctionAttributes(){ key = "mode",curValue= "humidification",state = "humidification" ,value = new List<string>(){ "humidification", "fan" } }, + new FunctionAttributes(){ key = "energy",curValue= "true",state = "true" ,value = new List<string>(){ "true", "false" } }, + new FunctionAttributes(){ key = "fan",curValue= "level_1",state = "level_1" ,value = new List<string>(){ "level_1", "level_2", "level_3","auto" } }, + new FunctionAttributes(){ key = "humidity",curValue= "0",state = "0" ,value = new List<string>(){ },min = 0,max = 100 }, + new FunctionAttributes(){ key = "indoor_temp",curValue= "26",state = "26" ,value = new List<string>(){ },min = 0,max = 100 }, + new FunctionAttributes(){ key = "indoor_humidity",curValue= "0",state = "0" ,value = new List<string>(){ },min = 0,max = 100 }, + new FunctionAttributes(){ key = "filter_remain",curValue= "0",state = "0" ,value = new List<string>(){ },min = 0,max = 100 }, + new FunctionAttributes(){ key = "filter_timeout",curValue= "false",state = "false" ,value = new List<string>(){ "true", "false" }}, + }, }); + + //FunctionList.List.Functions.Add(new Function() + //{ + // spk = SPK.SensorGas, + // name = "鐕冩皵浼犳劅鍣�", + // attributes = new List<FunctionAttributes>() + // { + // new FunctionAttributes(){ key = "enable",curValue= "true",state = "true" ,value = new List<string>(){ "true", "false" } }, + // new FunctionAttributes(){ key = "status",curValue= "normal",state = "normal" ,value = new List<string>(){ "alarm", "normal" } }, + // }, + //}); + + //FunctionList.List.Functions.Add(new Function() { spk = SPK.PjtIr, name = "娴嬭瘯鎶曞奖浠�", + // attributes = new List<FunctionAttributes>() { + // new FunctionAttributes(){ key = "on_off",curValue= "on",state = "on" }, + // new FunctionAttributes(){ key = "computer",value = new List<string>(){"鐢佃剳" } }, + // new FunctionAttributes(){ key = "video",value = new List<string>(){"瑙嗛" } }, + // new FunctionAttributes(){ key = "source",value = new List<string>(){"淇″彿婧�" } }, + // new FunctionAttributes(){ key = "zoom+",value = new List<string>(){"鍙樼劍+" } }, + // new FunctionAttributes(){ key = "zoom-",value = new List<string>(){"鍙樼劍-" } }, + // new FunctionAttributes(){ key = "page+",value = new List<string>(){"鐢婚潰+" } }, + // new FunctionAttributes(){ key = "page-",value = new List<string>(){"鐢婚潰-" } }, + // new FunctionAttributes(){ key = "menu",value = new List<string>(){"鑿滃崟" } }, + // new FunctionAttributes(){ key = "ok",value = new List<string>(){"纭" } }, + // new FunctionAttributes(){ key = "up",value = new List<string>(){"涓�" } }, + // new FunctionAttributes(){ key = "left",value = new List<string>(){"宸�" } }, + // new FunctionAttributes(){ key = "right",value = new List<string>(){"鍙�" } }, + // new FunctionAttributes(){ key = "down",value = new List<string>(){"涓�" } }, + // new FunctionAttributes(){ key = "exit",value = new List<string>(){"閫�鍑�" } }, + // new FunctionAttributes(){ key = "volume+",value = new List<string>(){"闊抽噺+" } }, + // new FunctionAttributes(){ key = "volume-",value = new List<string>(){"闊抽噺-" } }, + // new FunctionAttributes(){ key = "mute",value = new List<string>(){"闈欓煶" } }, + // new FunctionAttributes(){ key = "auto",value = new List<string>(){"鑷姩" } }, + // new FunctionAttributes(){ key = "pause",value = new List<string>(){"鏆傚仠" } }, + // } + //}); + + //FunctionList.List.Functions.Add(new Function() + //{ + // spk = SPK.StbIr, + // name = "娴嬭瘯鏈洪《鐩�", + // attributes = new List<FunctionAttributes>() { + // new FunctionAttributes(){ key = "on_off",curValue= "on",state = "on" }, + // new FunctionAttributes(){ key = "computer",value = new List<string>(){"鐢佃剳" } }, + // new FunctionAttributes(){ key = "video",value = new List<string>(){"瑙嗛" } }, + // new FunctionAttributes(){ key = "source",value = new List<string>(){"淇″彿婧�" } }, + // new FunctionAttributes(){ key = "zoom+",value = new List<string>(){"鍙樼劍+" } }, + // new FunctionAttributes(){ key = "zoom-",value = new List<string>(){"鍙樼劍-" } }, + // new FunctionAttributes(){ key = "page+",value = new List<string>(){"鐢婚潰+" } }, + // new FunctionAttributes(){ key = "page-",value = new List<string>(){"鐢婚潰-" } }, + // new FunctionAttributes(){ key = "menu",value = new List<string>(){"鑿滃崟" } }, + // new FunctionAttributes(){ key = "ok",value = new List<string>(){"纭" } }, + // new FunctionAttributes(){ key = "up",value = new List<string>(){"涓�" } }, + // new FunctionAttributes(){ key = "left",value = new List<string>(){"宸�" } }, + // new FunctionAttributes(){ key = "right",value = new List<string>(){"鍙�" } }, + // new FunctionAttributes(){ key = "down",value = new List<string>(){"涓�" } }, + // new FunctionAttributes(){ key = "exit",value = new List<string>(){"閫�鍑�" } }, + // new FunctionAttributes(){ key = "volume+",value = new List<string>(){"闊抽噺+" } }, + // new FunctionAttributes(){ key = "volume-",value = new List<string>(){"闊抽噺-" } }, + // new FunctionAttributes(){ key = "mute",value = new List<string>(){"闈欓煶" } }, + // new FunctionAttributes(){ key = "auto",value = new List<string>(){"鑷姩" } }, + // new FunctionAttributes(){ key = "pause",value = new List<string>(){"鏆傚仠" } }, + // } + //}); + + //FunctionList.List.Functions.Add(new Function() + //{ + // spk = SPK.TvIr, + // name = "娴嬭瘯鐢佃", + // attributes = new List<FunctionAttributes>() { + // new FunctionAttributes(){ key = "on_off",curValue= "on",state = "on" }, + // new FunctionAttributes(){ key = "computer",value = new List<string>(){"鐢佃剳" } }, + // new FunctionAttributes(){ key = "video",value = new List<string>(){"瑙嗛" } }, + // new FunctionAttributes(){ key = "source",value = new List<string>(){"淇″彿婧�" } }, + // new FunctionAttributes(){ key = "zoom+",value = new List<string>(){"鍙樼劍+" } }, + // new FunctionAttributes(){ key = "zoom-",value = new List<string>(){"鍙樼劍-" } }, + // new FunctionAttributes(){ key = "page+",value = new List<string>(){"鐢婚潰+" } }, + // new FunctionAttributes(){ key = "page-",value = new List<string>(){"鐢婚潰-" } }, + // new FunctionAttributes(){ key = "menu",value = new List<string>(){"鑿滃崟" } }, + // new FunctionAttributes(){ key = "ok",value = new List<string>(){"纭" } }, + // new FunctionAttributes(){ key = "up",value = new List<string>(){"涓�" } }, + // new FunctionAttributes(){ key = "left",value = new List<string>(){"宸�" } }, + // new FunctionAttributes(){ key = "right",value = new List<string>(){"鍙�" } }, + // new FunctionAttributes(){ key = "down",value = new List<string>(){"涓�" } }, + // new FunctionAttributes(){ key = "exit",value = new List<string>(){"閫�鍑�" } }, + // new FunctionAttributes(){ key = "volume+",value = new List<string>(){"闊抽噺+" } }, + // new FunctionAttributes(){ key = "volume-",value = new List<string>(){"闊抽噺-" } }, + // new FunctionAttributes(){ key = "mute",value = new List<string>(){"闈欓煶" } }, + // new FunctionAttributes(){ key = "auto",value = new List<string>(){"鑷姩" } }, + // new FunctionAttributes(){ key = "pause",value = new List<string>(){"鏆傚仠" } }, + // } + //}); +#endif + + } + /// <summary> + /// 鍔犺浇鍐呭鍖哄煙 + /// </summary> + void LoadContentView() + { + if (!Common.ApiUtlis.Ins.DownloadDataComplete) + { + var waitPage = new Loading(); + MainPage.BaseView.AddChidren(waitPage); + waitPage.Start(Language.StringByID(StringId.PleaseWait)); + + new System.Threading.Thread(() => + { + try + { + while (!Common.ApiUtlis.Ins.DownloadDataComplete) + { + System.Threading.Thread.Sleep(400); + } + Application.RunOnMainThread(() => + { + if (contentView == null) + { + return; + } + contentView.RemoveAll(); + deviceFunctionView = new VerticalScrolViewLayout(); + contentView.AddChidren(deviceFunctionView); + LoadDeviceFunctionControlZone(); + sceneFunctionView = new VerticalScrolViewLayout(); + contentView.AddChidren(sceneFunctionView); + LoadSceneFunctionControlZone(); + if (CurShowTypeIsFunction) + { + contentView.PageIndex = 0; + }else + { + contentView.PageIndex = 1; + } + + LoadEvent_ChangeShowedFunctionType(); + + // 鏌ヨ鏈娑堟伅骞舵樉绀� + GetUnreadPushMessages(); + RegisterGetPushMessageAction(); + + if (waitPage != null) + { + waitPage.RemoveFromParent(); + waitPage = null; + } + }); + } + catch (Exception ex) { + MainPage.Log($"鍒锋柊涓婚〉寮傚父:{ex.Message}"); + } + finally { } + }) + { IsBackground = true }.Start(); + } + else + { + + deviceFunctionView = new VerticalScrolViewLayout(); + contentView.AddChidren(deviceFunctionView); + LoadDeviceFunctionControlZone(); + sceneFunctionView = new VerticalScrolViewLayout(); + contentView.AddChidren(sceneFunctionView); + LoadSceneFunctionControlZone(); + + if (CurShowTypeIsFunction) + { + contentView.PageIndex = 0; + } + else + { + contentView.PageIndex = 1; + } + + + LoadEvent_ChangeShowedFunctionType(); + + // 鏌ヨ鏈娑堟伅骞舵樉绀� + GetUnreadPushMessages(); + RegisterGetPushMessageAction(); + + } + } /// <summary> @@ -402,12 +797,18 @@ try { int index = 0; - foreach (var function in FunctionList.List.GetDeviceFunctionList()) + var list = FunctionList.List.GetDeviceFunctionList(); + foreach (var function in list) { //闊充箰妯″潡鏈変富浠庡叧绯伙紝闇�瑕佺壒娈婂鐞� - if (function.functionCategory == FunctionCategory.Music) + if (SPK.MusicSpkList().Contains( function.spk)) { - var music = function as Music.A31MusicModel; + //var music = function as Music.A31MusicModel; + var music = Music.A31MusicModel.A31MusicModelList.Find((obj) => obj.sid == function.sid); + if (music == null) + { + continue; + } if (music.ServerClientType == -1) { continue; @@ -607,6 +1008,11 @@ }; view.AddChidren(btnIcon); + + btnIcon.UnSelectedImagePath = $"FunctionIcon/Icon/HomeIcon/{function.IconName}_blue.png"; + btnIcon.SelectedImagePath = $"FunctionIcon/Icon/HomeIcon/{function.IconName}_white.png"; + + Button btnName; btnName = new Button() { @@ -651,7 +1057,11 @@ Tag = "state", Text = function.lastState }; - view.AddChidren(btnState); + + if (function.spk != SPK.LightSwitch) + { + view.AddChidren(btnState); + } Button btnCollection; btnCollection = new Button() @@ -663,16 +1073,17 @@ SelectedImagePath = "Collection/CollectionWhiteIcon.png", UnSelectedImagePath = "Collection/CollectionIcon.png", }; - //view.AddChidren(btnCollection); + view.AddChidren(btnCollection); //2020-12-16 濡傛灉鏄垚鍛橀殣钘忔敹钘忓姛鑳� - if (!DB_ResidenceData.Instance.CurrentRegion.IsOthreShare) - { - view.AddChidren(btnCollection); - } + //if (!DB_ResidenceData.Instance.CurrentRegion.isOtherShare) + //{ + // view.AddChidren(btnCollection); + //} LoadEvent_FunctionCollection(btnCollection, function); - - if (function.functionCategory == FunctionCategory.Curtain) + if (//SPK.CurtainSpkList().Contains(function.spk)) + function.spk == SPK.CurtainRoller || function.spk == SPK.CurtainShades || + function.spk == SPK.CurtainSwitch || function.spk == SPK.CurtainTrietex ) { btnIcon.UnSelectedImagePath = "FunctionIcon/Curtain/CurtainIcon.png"; btnIcon.SelectedImagePath = "FunctionIcon/Curtain/CurtainOnIcon.png"; @@ -700,26 +1111,26 @@ }; view.AddChidren(btnCurtainOpen); - LoadEvent_ControlCurtain(function as Curtain, btnCurtainClose, btnCurtainOpen); + LoadEvent_ControlCurtain(function, btnCurtainClose, btnCurtainOpen); } - else if (function.functionType == FunctionType.TV) + else if (SPK.NotStatusSpkList.Contains(function.spk)) { - btnIcon.UnSelectedImagePath = "FunctionIcon/Electrical/TVIcon.png"; Button btnPower; btnPower = new Button() { X = Application.GetRealWidth(131), - Y = Application.GetRealHeight(86), + Y = Application.GetRealHeight(80), Width = Application.GetRealWidth(32), Height = Application.GetRealWidth(32), UnSelectedImagePath = "Public/PowerClose.png", + SelectedImagePath = "Public/PowerOpen.png", }; view.AddChidren(btnPower); - LoadEvent_ControlTV(function as TV, btnPower); + LoadEvent_ControlTV(function, btnPower); } - else if (function.functionCategory == FunctionCategory.Music) + else if (function.spk == SPK.MusicStandard || function.spk == SPK.AvMusic) { btnIcon.UnSelectedImagePath = "FunctionIcon/Music/MusicIcon.png"; btnIcon.SelectedImagePath = "FunctionIcon/Music/MusicOnIcon.png"; @@ -742,7 +1153,8 @@ //Music.SendMethod.ReadStatus(a31player); - btnPower.MouseUpEventHandler = (sender, e) => { + btnPower.MouseUpEventHandler = (sender, e) => + { if (btnPower.IsSelected) { btnPower.IsSelected = false; @@ -761,6 +1173,39 @@ }; } + else if (function.spk == SPK.ClothesHanger) + { + btnIcon.UnSelectedImagePath = "FunctionIcon/Electrical/ClothesHanger/ClothesHangerBlueIcon.png"; + btnIcon.SelectedImagePath = "FunctionIcon/Electrical/Curtain/ClothesHangerBlueIcon.png"; + Button btnUp; + btnUp = new Button() + { + X = Application.GetRealWidth(84+3), + Y = Application.GetRealWidth(89), + Width = Application.GetRealWidth(38), + Height = Application.GetRealWidth(38), + UnSelectedImagePath = "FunctionIcon/Electrical/ClothesHanger/ClothesHangerUpIcon2.png", + SelectedImagePath = "FunctionIcon/Electrical/ClothesHanger/ClothesHangerUpIcon2On.png", + }; + view.AddChidren(btnUp); + + Button btnDown; + btnDown = new Button() + { + X = btnUp.Right + Application.GetRealWidth(3), + Y = Application.GetRealWidth(89), + Width = Application.GetRealWidth(38), + Height = Application.GetRealWidth(38), + UnSelectedImagePath = "FunctionIcon/Electrical/ClothesHanger/ClothesHangerDownIcon2.png", + SelectedImagePath = "FunctionIcon/Electrical/ClothesHanger/ClothesHangerDownIcon2On.png", + }; + view.AddChidren(btnDown); + + + LoadEvent_ControlClothesHanger(function, btnUp, btnDown); + + } + else { Button btnSwitch; @@ -775,57 +1220,14 @@ }; view.AddChidren(btnSwitch); - switch (function.functionCategory) - { - case FunctionCategory.Light: - #region 鐏厜 Light - btnIcon.UnSelectedImagePath = "FunctionIcon/Light/LightIcon.png"; - btnIcon.SelectedImagePath = "FunctionIcon/Light/LightOnIcon.png"; - UpdataFunctionStates(function as Light); - #endregion - break; - case FunctionCategory.Thermostat: - switch (function.functionType) - { - case FunctionType.AC: - #region 绌鸿皟 AC - btnIcon.UnSelectedImagePath = "FunctionIcon/AC/AcIcon.png"; - btnIcon.SelectedImagePath = "FunctionIcon/AC/AcOnIcon.png"; - #endregion - break; - case FunctionType.FloorHeating: - #region 鍦扮儹 - btnIcon.UnSelectedImagePath = "FunctionIcon/FloorHeating/FloorHeatingIcon.png"; - btnIcon.SelectedImagePath = "FunctionIcon/FloorHeating/FloorHeatingOnIcon.png"; - #endregion - break; - } - break; - case FunctionCategory.SwitchDevice: - switch (function.functionType) - { - case FunctionType.Socket: - btnIcon.UnSelectedImagePath = "FunctionIcon/Socket/SocketIcon.png"; - btnIcon.SelectedImagePath = "FunctionIcon/Socket/SocketOnIcon.png"; - break; - } - break; - case FunctionCategory.Electrical: - switch (function.functionType) - { - case FunctionType.Fan: - btnIcon.UnSelectedImagePath = "FunctionIcon/Electrical/FanIcon.png"; - btnIcon.SelectedImagePath = "FunctionIcon/Electrical/FanOnIcon.png"; - break; - } - break; - } + btnIcon.UnSelectedImagePath = $"FunctionIcon/Icon/HomeIcon/{function.IconName}_blue.png"; + btnIcon.SelectedImagePath = $"FunctionIcon/Icon/HomeIcon/{function.IconName}_white.png"; LoadEvent_SwitchFunction(function, btnSwitch); } //鍙栨秷鏀惰棌浜嬩欢 Action cannelCollect = () => { function.collect = false; - if (function.functionCategory == FunctionCategory.Music)//澶勭悊闊充箰涓讳粠鍏崇郴 + if (SPK.MusicSpkList().Contains(function.spk))//澶勭悊闊充箰涓讳粠鍏崇郴 { if ((function as Music.A31MusicModel).ServerClientType == 1) { @@ -835,16 +1237,17 @@ } string msg = function.name + Language.StringByID(StringId.CollectionCancelled); LoadDeviceFunctionControlZone(); - function.SaveFunctionData(true); + function.CollectFunction(); }; + var skipControlPageEvent = new PublicAssmebly().LoadEvent_SkipFunctionControlPage(function, btnCollection, btnName, btnZone); view.MouseUpEventHandler = skipControlPageEvent; btnName.MouseUpEventHandler = skipControlPageEvent; btnIcon.MouseUpEventHandler = skipControlPageEvent; btnState.MouseUpEventHandler = skipControlPageEvent; - //鐢佃涓嶉渶瑕佹洿鏂扮姸鎬� - if(function.functionType!= FunctionType.TV) + //涓嶉渶瑕佹洿鏂扮姸鎬佺殑鍔ㄨ兘鍒楄〃 + if(!SPK.NotStatusSpkList.Contains(function.spk)) { UpdataFunctionStates(function); } @@ -868,6 +1271,19 @@ }; view.AddChidren(btnCoverd); + Button btnShowDelay; + btnShowDelay = new Button() + { + X = Application.GetRealWidth(40), + Y = Application.GetRealWidth(4), + Height = Application.GetRealWidth(32), + Width = Application.GetRealWidth(100), + TextColor = CSS_Color.AuxiliaryColor1, + TextAlignment = TextAlignment.CenterLeft, + TextSize = CSS_FontSize.PromptFontSize_FirstLevel, + }; + view.AddChidren(btnShowDelay); + Button btnSettingIcon; btnSettingIcon = new Button() { @@ -877,7 +1293,10 @@ Width = Application.GetRealWidth(32), UnSelectedImagePath = "Public/FuncInfoSetIcon_white.png", }; - view.AddChidren(btnSettingIcon); + if (scene.userId == UserInfo.Current.ID) + { + view.AddChidren(btnSettingIcon); + } Button btnName; btnName = new Button() @@ -919,16 +1338,16 @@ SelectedImagePath = "Collection/CollectionWhiteIcon.png", UnSelectedImagePath = "Collection/CollectionIcon.png", }; - //view.AddChidren(btnCollection); + view.AddChidren(btnCollection); //2020-12-16 濡傛灉鏄垚鍛橀殣钘忔敹钘忓姛鑳� - if (!DB_ResidenceData.Instance.CurrentRegion.IsOthreShare) - { - view.AddChidren(btnCollection); - } + //if (!DB_ResidenceData.Instance.CurrentRegion.isOtherShare) + //{ + // view.AddChidren(btnCollection); + //} LoadEvent_SceneCollection(btnCollection, scene); - - LoadEvent_ControlScene(btnCoverd,btnName,btnZone, scene); + + LoadEvent_ControlScene(btnCoverd, btnName, btnZone, btnShowDelay, scene); btnSettingIcon.MouseUpEventHandler = (sender, e) => { Action backAction = () => { @@ -946,6 +1365,8 @@ aep.LoadPage( refreshAction); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; }; + //鍦烘櫙姝e湪鍊掕鏃舵墽琛屼腑 + scene.SceneCountDown(btnShowDelay); } catch (Exception ex) { -- Gitblit v1.8.0