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/HomePage.cs | 792 ++++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 654 insertions(+), 138 deletions(-) diff --git a/HDL_ON/UI/UI2/1-HomePage/HomePage.cs b/HDL_ON/UI/UI2/1-HomePage/HomePage.cs index ee2b028..d58d0ec 100644 --- a/HDL_ON/UI/UI2/1-HomePage/HomePage.cs +++ b/HDL_ON/UI/UI2/1-HomePage/HomePage.cs @@ -1,7 +1,8 @@ -锘縰sing System; +锘縰sing System; using System.Collections.Generic; using System.Text; using HDL_ON.DAL; +using HDL_ON.DriverLayer; using HDL_ON.Entity; using HDL_ON.UI.CSS; using Newtonsoft.Json; @@ -10,15 +11,21 @@ namespace HDL_ON.UI { - public partial class HomePage : FrameLayout + public partial class HomePage : VerticalRefreshLayout { #region 鎺т欢鍒楄〃 static HomePage bodyView; + + //FrameLayout bodyView; /// <summary> /// 椤堕儴淇℃伅鍖哄煙 /// </summary> FrameLayout topView; + /// <summary> + /// 杩炴帴鐘舵�佹彁绀� + /// </summary> + Button btnLinkStateTip; /// <summary> ///浣忓畢鍚嶇О鏄剧ず /// </summary> @@ -28,17 +35,25 @@ /// </summary> FrameLayout environmentalView; /// <summary> - /// 褰撳墠娓╁害淇℃伅 + /// 褰撳墠娓╁害淇℃伅-瀹ゅ /// </summary> - Button btnTempValues; + TextButton btnTempValues; /// <summary> - /// 褰撳墠婀垮害淇℃伅 + /// 褰撳墠婀垮害淇℃伅-瀹ゅ /// </summary> - Button btnHumidityValues; + TextButton btnHumidityValues; + /// <summary> + /// 褰撳墠娓╁害淇℃伅-瀹ゅ唴 + /// </summary> + TextButton btnIndoorTempValues; + /// <summary> + /// 褰撳墠婀垮害淇℃伅-瀹ゅ唴 + /// </summary> + TextButton btnIndoorHumiValues; /// <summary> /// 褰撳墠pm2.5鐘舵�� /// </summary> - Button btnPm25Values; + TextButton btnPm25Values; /// <summary> /// 鍒囨崲鏄剧ず鍔熻兘绫诲瀷鍖哄煙 /// </summary> @@ -76,21 +91,54 @@ bool CurShowTypeIsFunction = true; #endregion + #region 鎶ヨ淇℃伅 + Button btnMsgBg; + Button btnMsgTime; + Button btnMsg; + Button btnMsgIcon; + #endregion + public HomePage() { 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() + { + UnregisterGetPushMessageAction(); + base.RemoveFromParent(); } public void LoadPage() { + MainPage.CurPageIndex = 0; try { + this.BeginHeaderRefreshingAction = () => + { + this.EndHeaderRefreshing(); + Common.ApiUtlis.Ins.DownloadData(); + LoadContentView(); + }; + #region topView + + bodyView.RemoveAll(); + topView = new FrameLayout() { Height = Application.GetRealHeight(216), - BackgroundImagePath = DB_ResidenceData.residenceData.residenceImage, + BackgroundImagePath = DB_ResidenceData.Instance.residenceImage, }; bodyView.AddChidren(topView); @@ -101,29 +149,41 @@ }; topView.AddChidren(btnTop); - btnResidenceName = new Button() + btnLinkStateTip = new Button() { X = Application.GetRealWidth(16), + Y = Application.GetRealHeight(46), + Width = Application.GetRealWidth(6), + Height = Application.GetRealWidth(6), + BackgroundColor = CSS_Color.LinkTipFail, + Radius = (uint)Application.GetRealWidth(3), + }; + topView.AddChidren(btnLinkStateTip); + //鏇存柊閾炬帴鐘舵�乮con棰滆壊 + CheckLinkStatus();//2020-12-22 + + + btnResidenceName = new Button() + { + X = Application.GetRealWidth(26), Y = Application.GetRealHeight(32), - Width = Application.GetRealWidth(200), + Width = Application.GetRealWidth(300), Height = Application.GetRealHeight(33), TextColor = CSS_Color.MainBackgroundColor, TextSize = CSS_FontSize.EmphasisFontSize_FirstLevel, TextAlignment = TextAlignment.CenterLeft, - Text = DB_ResidenceData.residenceData.residecenInfo.Name, + Text = DB_ResidenceData.Instance.CurrentRegion.homeName, IsBold = true }; topView.AddChidren(btnResidenceName); #if DEBUG + //鎼滅储缃戝叧 btnResidenceName.MouseUpEventHandler = (sender, e) => { - System.Threading.Tasks.Task.Run( - async () => { await DAL.Net.MqttCommon.StartMqtt(); - }); + }; #endif - environmentalView = new FrameLayout() { @@ -132,9 +192,27 @@ }; 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 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), @@ -142,21 +220,48 @@ }; environmentalView.AddChidren(btnTempIcon); - btnTempValues = new Button() + 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; + foreach (var temp in tempSensorList) + { + double tempValue = 0; + double.TryParse(temp.GetAttrState(FunctionAttributeKey.Value), out tempValue); + tempTotalValues += tempValue; + } + if (tempTotalValues > 0) + { + btnIndoorTempValues.Text = "/" + tempTotalValues + "掳"; + } + } + 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), @@ -164,21 +269,48 @@ }; environmentalView.AddChidren(btnHumidityIcon); - btnHumidityValues = new Button() + 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; + foreach (var humi in humiSensorList) + { + double humiValue = 0; + double.TryParse(humi.GetAttrState(FunctionAttributeKey.Value), out humiValue); + humiTotalValues += humiValue; + } + if (humiTotalValues > 0) + { + btnIndoorHumiValues.Text = "/" + humiTotalValues + "%"; + } + } + 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), @@ -186,16 +318,16 @@ }; environmentalView.AddChidren(btnPm25Icon); - btnPm25Values = new Button() + btnPm25Values = new TextButton() { X = btnPm25Icon.Right + Application.GetRealWidth(4), - Width = Application.GetRealWidth(30), 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 @@ -210,14 +342,14 @@ }; topView.AddChidren(msgView); - var btngb = new Button() + btnMsgBg = new Button() { - BackgroundColor = CSS_Color.MainColor,//0x3F4484F4,// + BackgroundColor = CSS_Color.MainColor,//0x3F4484F4, Alpha = 0.4f, }; - msgView.AddChidren(btngb); + msgView.AddChidren(btnMsgBg); - Button btnMsgIcon; + btnMsgIcon = new Button() { X = Application.GetRealWidth(12), @@ -229,19 +361,19 @@ }; msgView.AddChidren(btnMsgIcon); - Button btnMsg; + btnMsg = new Button() { X = Application.GetRealWidth(10) + btnMsgIcon.Right, Width = Application.GetRealWidth(240), - Text = "鏃�", + Text = "...", TextColor = CSS_Color.MainBackgroundColor, TextSize = CSS_FontSize.PromptFontSize_FirstLevel, TextAlignment = TextAlignment.CenterLeft, }; msgView.AddChidren(btnMsg); - Button btnMsgTime; + btnMsgTime = new Button() { X = Application.GetRealWidth(299), @@ -251,14 +383,20 @@ TextAlignment = TextAlignment.CenterLeft, }; msgView.AddChidren(btnMsgTime); + + LoadEvent_GotoMessageCenterPage(); + #endregion #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), @@ -268,14 +406,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); @@ -292,7 +431,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, @@ -305,12 +444,161 @@ #region ContextView contentView = new PageLayout() { - Y = changeView.Bottom , - Height = Application.GetRealHeight(310 + 30), //20涓鸿秴鍑洪儴鍒� + //Y = changeView.Bottom, + Height = Application.GetRealHeight(310 + 30 + 10), //20涓鸿秴鍑洪儴鍒� + IsShowPoint = false, }; bodyView.AddChidren(contentView); functionViews = new List<FrameLayout>(); + + LoadContentView(); + + #endregion + } + catch (Exception ex) + { + MainPage.Log($"HomePage LoadPage Error : {ex.Message}"); + } + + +#if DEBUG + //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(); + contentView.PageIndex = 0; + + + LoadEvent_ChangeShowedFunctionType(); + + // 鏌ヨ鏈娑堟伅骞舵樉绀� + GetUnreadPushMessages(); + RegisterGetPushMessageAction(); + + waitPage.Hide(); + }); + } + catch (Exception ex) { + MainPage.Log($"鍒锋柊涓婚〉寮傚父:{ex.Message}"); + } + finally { } + }) + { IsBackground = true }.Start(); + } + else + { deviceFunctionView = new VerticalScrolViewLayout(); contentView.AddChidren(deviceFunctionView); @@ -320,15 +608,15 @@ LoadSceneFunctionControlZone(); contentView.PageIndex = 0; - #endregion - bodyView.AddChidren(new Button() { Y = changeView.Bottom, Height = Application.GetRealHeight(7), BackgroundColor = 0xAAF2F3F7 }); LoadEvent_ChangeShowedFunctionType(); + + // 鏌ヨ鏈娑堟伅骞舵樉绀� + GetUnreadPushMessages(); + RegisterGetPushMessageAction(); + } - catch (Exception ex) - { - MainPage.Log($"HomePage LoadPage Error : {ex.Message}"); - } + } /// <summary> @@ -343,14 +631,46 @@ try { int index = 0; - foreach (var function in DB_ResidenceData.residenceData.functionList.GetAllDeviceFunctionList()) + var list = FunctionList.List.GetDeviceFunctionList(); + foreach (var function in list) { - if (!function.collection) - continue; - if (function.roomIdList.Count == 0)//濡備綍鍦ㄦ埧闂村凡缁忕Щ闄や簡杩欎釜鍔熻兘锛屽垯鏀惰棌鐣岄潰涔熶笉浼氬啀鏄剧ず + //闊充箰妯″潡鏈変富浠庡叧绯伙紝闇�瑕佺壒娈婂鐞� + if (function.Spk_Prefix == FunctionCategory.Music) { - function.collection = false; - continue; + //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; + } + else if (music.ServerClientType == 1) + { + if (!music.MainPlayCollection) + { + continue; + } + } + else + { + if (!music.collect) + { + continue; + } + } + } + else + { + if (!function.collect) + continue; + //if (function.roomIdList.Count == 0)//濡備綍鍦ㄦ埧闂村凡缁忕Щ闄や簡杩欎釜鍔熻兘锛屽垯鏀惰棌鐣岄潰涔熶笉浼氬啀鏄剧ず + //{ + // function.collection = false; + // continue; + //} } if (index % 2 == 0) { @@ -374,6 +694,7 @@ Tag = function.sid }; rowView.AddChidren(functionView); + var btnbg = new Button() { UnSelectedImagePath = "Collection/Functionbg.png", @@ -408,7 +729,7 @@ TextAlignment = TextAlignment.Center, TextColor = CSS_Color.PromptingColor1, TextSize = CSS_FontSize.PromptFontSize_FirstLevel, - TextID = StringId.TipNoCollcetion, + TextID = StringId.TipNoFunctionCollcetion, }; view.AddChidren(btnNoCollectionTip); } @@ -431,15 +752,15 @@ try { int index = 0; - foreach (var function in DB_ResidenceData.residenceData.functionList.scenes) + foreach (var scene in FunctionList.List.scenes) { - if (!function.collection) + if (!scene.collect) continue; - if (function.roomIdList.Count == 0)//濡備綍鍦ㄦ埧闂村凡缁忕Щ闄や簡杩欎釜鍔熻兘锛屽垯鏀惰棌鐣岄潰涔熶笉浼氬啀鏄剧ず - { - function.collection = false; - continue; - } + //if (scene.roomIds.Count == 0)//濡備綍鍦ㄦ埧闂村凡缁忕Щ闄や簡杩欎釜鍔熻兘锛屽垯鏀惰棌鐣岄潰涔熶笉浼氬啀鏄剧ず + //{ + // scene.collect = false; + // continue; + //} if (index % 2 == 0) { sceneFunctionView.AddChidren(new Button() { Height = Application.GetRealHeight(7) }); @@ -457,15 +778,44 @@ X = functionView_X, Width = Application.GetRealWidth(164), Height = Application.GetRealWidth(122), - Tag = function.sid, - BackgroundImagePath = (function as Scene).ImagePath, + Tag = scene.sid, + BackgroundImagePath = scene.ImagePath, }; rowView.AddChidren(functionView); - LoadSceneFunctionDiv( functionView, function); + //2020-12-03 淇敼鍥剧墖鍔犺浇鏂规硶 + ImageUtlis.Current.LoadLocalOrNetworkImages((scene as Scene).ImagePath, functionView); + + LoadSceneFunctionDiv( functionView, scene); index++; } + if (index == 0) + { + var view = new FrameLayout(); + sceneFunctionView.AddChidren(view); + + var btnNoCollectionBg = new Button() + { + Y = Application.GetRealHeight(20), + Gravity = Gravity.CenterHorizontal, + Width = Application.GetRealWidth(180), + Height = Application.GetRealWidth(180), + UnSelectedImagePath = "Collection/NoCollectionBg.png", + }; + view.AddChidren(btnNoCollectionBg); + + var btnNoCollectionTip = new Button() + { + Height = Application.GetRealHeight(42), + Y = btnNoCollectionBg.Bottom, + TextAlignment = TextAlignment.Center, + TextColor = CSS_Color.PromptingColor1, + TextSize = CSS_FontSize.PromptFontSize_FirstLevel, + TextID = StringId.TipNoSceneCollcetion, + }; + view.AddChidren(btnNoCollectionTip); + } } catch (Exception ex) { @@ -491,6 +841,11 @@ Height = Application.GetMinRealAverage(32), }; 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() @@ -536,7 +891,11 @@ Tag = "state", Text = function.lastState }; - view.AddChidren(btnState); + + if (function.spk != SPK.LightSwitch) + { + view.AddChidren(btnState); + } Button btnCollection; btnCollection = new Button() @@ -549,9 +908,16 @@ UnSelectedImagePath = "Collection/CollectionIcon.png", }; view.AddChidren(btnCollection); - LoadEvent_FunctionCollection(btnCollection, function, true); + //2020-12-16 濡傛灉鏄垚鍛橀殣钘忔敹钘忓姛鑳� + //if (!DB_ResidenceData.Instance.CurrentRegion.isOtherShare) + //{ + // view.AddChidren(btnCollection); + //} - if (function.functionCategory == FunctionCategory.Curtain) + LoadEvent_FunctionCollection(btnCollection, function); + 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"; @@ -579,22 +945,104 @@ }; view.AddChidren(btnCurtainOpen); - LoadEvent_ControlCurtain(function as Curtain, btnCurtainClose, btnCurtainOpen); - }else if(function.functionType== FunctionType.TV) + LoadEvent_ControlCurtain(function, btnCurtainClose, btnCurtainOpen); + } + + else if (function.spk == SPK.ElectricTV || function.spk == SPK.TvIr || function.spk == SPK.TvXmIr + || function.spk == SPK.StbIr || function.spk == SPK.PjtIr) { - btnIcon.UnSelectedImagePath = "FunctionIcon/Electrical/TVIcon.png"; + //btnIcon.UnSelectedImagePath = $"FunctionIcon/Icon/HomeIcon/{function.IconName}_blue.png"; + //btnIcon.SelectedImagePath = $"FunctionIcon/Icon/HomeIcon/{function.IconName}_white.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", }; view.AddChidren(btnPower); - LoadEvent_ControlTV(function as TV, btnPower); + LoadEvent_ControlTV(function, btnPower); } + + else if (function.spk == SPK.MusicStandard) + { + btnIcon.UnSelectedImagePath = "FunctionIcon/Music/MusicIcon.png"; + btnIcon.SelectedImagePath = "FunctionIcon/Music/MusicOnIcon.png"; + Button btnPower; + btnPower = new Button() + { + X = Application.GetRealWidth(118), + Y = Application.GetRealWidth(83), + Width = Application.GetRealWidth(44), + Height = Application.GetRealWidth(44), + UnSelectedImagePath = "FunctionIcon/Music/MusicPlayIcon.png", + SelectedImagePath = "FunctionIcon/Music/MusicPlayOnIcon.png", + }; + view.AddChidren(btnPower); + var a31player = (function as UI.Music.A31MusicModel); + btnState.Text = a31player.A31PlayStatus.Title; + + btnState.SelectedTextColor = CSS_Color.MainBackgroundColor; + btnState.TextColor = CSS_Color.MainBackgroundColor;//PromptingColor1 + + //Music.SendMethod.ReadStatus(a31player); + + btnPower.MouseUpEventHandler = (sender, e) => + { + if (btnPower.IsSelected) + { + btnPower.IsSelected = false; + Music.SendMethod.Pause(a31player); + a31player.A31PlayStatus.status = "pause"; + a31player.trait_on_off.curValue = "off"; + } + else + { + btnPower.IsSelected = true; + Music.SendMethod.Play(a31player); + a31player.A31PlayStatus.status = "play"; + a31player.trait_on_off.curValue = "on"; + } + UpdataFunctionStates(a31player); + }; + } + + 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; @@ -609,60 +1057,88 @@ }; 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"; + + //switch (function.Spk_Prefix) + //{ + // //todo 澧炲姞璁惧锛屼富椤垫敹钘忓浘鏍� + // case FunctionCategory.Light: + // #region 鐏厜 Light + // btnIcon.UnSelectedImagePath = "FunctionIcon/Light/LightIcon.png"; + // btnIcon.SelectedImagePath = "FunctionIcon/Light/LightOnIcon.png"; + // UpdataFunctionStates(function); + // #endregion + // break; + // case FunctionCategory.AC: + // #region 绌鸿皟 AC + // btnIcon.UnSelectedImagePath = "FunctionIcon/AC/AcIcon.png"; + // btnIcon.SelectedImagePath = "FunctionIcon/AC/AcOnIcon.png"; + // #endregion + // break; + // case FunctionCategory.FloorHeat: + // #region 鍦扮儹 + // btnIcon.UnSelectedImagePath = "FunctionIcon/FloorHeating/FloorHeatingIcon.png"; + // btnIcon.SelectedImagePath = "FunctionIcon/FloorHeating/FloorHeatingOnIcon.png"; + // #endregion + // break; + // case FunctionCategory.Electric: + // switch (function.spk) + // { + // case SPK.ElectricSocket: + // btnIcon.UnSelectedImagePath = "FunctionIcon/Socket/SocketIcon.png"; + // btnIcon.SelectedImagePath = "FunctionIcon/Socket/SocketOnIcon.png"; + // break; + // case SPK.ElectricFan: + // btnIcon.UnSelectedImagePath = "FunctionIcon/Electrical/FanIcon.png"; + // btnIcon.SelectedImagePath = "FunctionIcon/Electrical/FanOnIcon.png"; + // break; + // case SPK.ElectricTuyaAirCleaner: + // btnIcon.SelectedImagePath = "FunctionIcon/HomePageIcon/AirCleanerIcon.png"; + // btnIcon.UnSelectedImagePath = "FunctionIcon/HomePageIcon/AirCleanerIconOn.png"; + // break; + // case SPK.ElectricTuyaFan: + // btnIcon.SelectedImagePath = "FunctionIcon/HomePageIcon/FanIcon.png"; + // btnIcon.UnSelectedImagePath = "FunctionIcon/HomePageIcon/FanIconOn.png"; + // break; + // case SPK.ElectricTuyaWaterValve: + // btnIcon.SelectedImagePath = "FunctionIcon/HomePageIcon/WaterValveIcon.png"; + // btnIcon.UnSelectedImagePath = "FunctionIcon/HomePageIcon/WaterValveIconOn.png"; + // break; + // case SPK.ElectricTuyaWeepRobot: + // btnIcon.SelectedImagePath = "FunctionIcon/HomePageIcon/WeepRobotIcon.png"; + // btnIcon.UnSelectedImagePath = "FunctionIcon/HomePageIcon/WeepRobotIconOn.png"; + // break; + // } + // break; + //} LoadEvent_SwitchFunction(function, btnSwitch); } - var skipControlPageEvent = new PublicAssmebly().LoadEvent_SkipFunctionControlPage(function, new Button(), new Button(), new Button()); + //鍙栨秷鏀惰棌浜嬩欢 + Action cannelCollect = () => { + function.collect = false; + if (function.Spk_Prefix == FunctionCategory.Music)//澶勭悊闊充箰涓讳粠鍏崇郴 + { + if ((function as Music.A31MusicModel).ServerClientType == 1) + { + (function as Music.A31MusicModel).MainPlayCollection = false; + Music.A31MusicModel.Save(); + } + } + string msg = function.name + Language.StringByID(StringId.CollectionCancelled); + LoadDeviceFunctionControlZone(); + 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(function.spk!= SPK.ElectricTV && function.spk != SPK.StbIr && function.spk != SPK.PjtIr) { UpdataFunctionStates(function); } @@ -673,14 +1149,46 @@ } } - /// <summary> /// 鍔犺浇鍦烘櫙鎺у埗鍗$墖 /// </summary> - void LoadSceneFunctionDiv(FrameLayout view, Function function) + void LoadSceneFunctionDiv(FrameLayout view, Scene scene) { try { + Button btnCoverd = new Button() + { + UnSelectedImagePath = "Collection/SceneCovered.png", + }; + 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() + { + X = Application.GetRealWidth(4), + Y = Application.GetRealWidth(4), + Height = Application.GetRealWidth(32), + Width = Application.GetRealWidth(32), + UnSelectedImagePath = "Public/FuncInfoSetIcon_white.png", + }; + if (!DB_ResidenceData.Instance.CurrentRegion.isOtherShare) + { + view.AddChidren(btnSettingIcon); + } + Button btnName; btnName = new Button() { @@ -688,7 +1196,7 @@ Y = Application.GetRealWidth(68), Width = Application.GetRealWidth(150), Height = Application.GetRealHeight(24), - Text = function.name, + Text = scene.name, TextSize = CSS_FontSize.TextFontSize, TextColor = CSS_Color.MainBackgroundColor, TextAlignment = TextAlignment.CenterLeft, @@ -706,26 +1214,10 @@ TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, TextAlignment = TextAlignment.CenterLeft, SelectedTextColor = CSS_Color.MainBackgroundColor, - Text = function.GetRoomListName(), + Text = scene.GetRoomListName(), }; view.AddChidren(btnZone); - Button btnCoverd = new Button() - { - UnSelectedImagePath = "Collection/SceneCovered.png", - }; - view.AddChidren(btnCoverd); - - Button btnDelayIcon; - btnDelayIcon = new Button() - { - X = Application.GetRealWidth(12), - Y = Application.GetRealWidth(12), - Height = Application.GetRealWidth(24), - Width = Application.GetRealWidth(24), - UnSelectedImagePath = "FunctionIcon/Scene/DelayIcon.png" - }; - view.AddChidren(btnDelayIcon); Button btnCollection; btnCollection = new Button() @@ -738,10 +1230,34 @@ UnSelectedImagePath = "Collection/CollectionIcon.png", }; view.AddChidren(btnCollection); - LoadEvent_FunctionCollection(btnCollection, function, false); - - LoadEvent_ControlScene(btnCoverd, function); + //2020-12-16 濡傛灉鏄垚鍛橀殣钘忔敹钘忓姛鑳� + //if (!DB_ResidenceData.Instance.CurrentRegion.isOtherShare) + //{ + // view.AddChidren(btnCollection); + //} + LoadEvent_SceneCollection(btnCollection, scene); + + LoadEvent_ControlScene(btnCoverd, btnName, btnZone, btnShowDelay, scene); + + btnSettingIcon.MouseUpEventHandler = (sender, e) => { + Action backAction = () => { + //LoadSceneFunctionControlZone(); + }; + Action refreshAction = () => { + btnName.Text = scene.name; + btnZone.Text = scene.GetRoomListName(); + //view.BackgroundImagePath = (scene as Scene).ImagePath; + //2020-12-03 淇敼鍥剧墖鍔犺浇鏂规硶 + ImageUtlis.Current.LoadLocalOrNetworkImages((scene as Scene).ImagePath, view); + }; + var aep = new SceneEditPage(scene, backAction); + MainPage.BasePageView.AddChidren(aep); + aep.LoadPage( refreshAction); + MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; + }; + //鍦烘櫙姝e湪鍊掕鏃舵墽琛屼腑 + scene.SceneCountDown(btnShowDelay); } catch (Exception ex) { -- Gitblit v1.8.0