From d72ca686a3e262693f8a6e45e747e8e8da43335b Mon Sep 17 00:00:00 2001 From: JLChen <551775569@qq.com> Date: 星期二, 06 七月 2021 09:39:03 +0800 Subject: [PATCH] 2021-07-06 1.更新 --- HDL_ON/UI/UI2/1-HomePage/HomePage.cs | 385 ++++++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 280 insertions(+), 105 deletions(-) diff --git a/HDL_ON/UI/UI2/1-HomePage/HomePage.cs b/HDL_ON/UI/UI2/1-HomePage/HomePage.cs index 804209e..ea5aac2 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> @@ -92,13 +94,39 @@ { 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), @@ -123,27 +151,15 @@ 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 + //LoadEvent_CheckLinkStatus(); btnResidenceName = new Button() { X = Application.GetRealWidth(26), Y = Application.GetRealHeight(32), - Width = Application.GetRealWidth(400), + Width = Application.GetRealWidth(300), Height = Application.GetRealHeight(33), TextColor = CSS_Color.MainBackgroundColor, TextSize = CSS_FontSize.EmphasisFontSize_FirstLevel, @@ -157,12 +173,7 @@ //鎼滅储缃戝叧 btnResidenceName.MouseUpEventHandler = (sender, e) => { - System.Threading.Tasks.Task.Run(() => - { - //DriverLayer.Control.Ins.SearchLoaclGateway(); - MainPage.InitializationData(); - //DriverLayer.Control.Ins.IsRemote = true; - }); + }; #endif @@ -258,7 +269,7 @@ }; msgView.AddChidren(btnMsgBg); - + btnMsgIcon = new Button() { X = Application.GetRealWidth(12), @@ -270,7 +281,7 @@ }; msgView.AddChidren(btnMsgIcon); - + btnMsg = new Button() { X = Application.GetRealWidth(10) + btnMsgIcon.Right, @@ -282,7 +293,7 @@ }; msgView.AddChidren(btnMsg); - + btnMsgTime = new Button() { X = Application.GetRealWidth(299), @@ -300,9 +311,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), @@ -312,14 +326,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); @@ -336,7 +351,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, @@ -349,12 +364,77 @@ #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>(); + + LoadContentView(); + + #endregion + } + catch (Exception ex) + { + MainPage.Log($"HomePage LoadPage Error : {ex.Message}"); + } + + } + /// <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); @@ -364,23 +444,15 @@ LoadSceneFunctionControlZone(); contentView.PageIndex = 0; - #endregion LoadEvent_ChangeShowedFunctionType(); // 鏌ヨ鏈娑堟伅骞舵樉绀� GetUnreadPushMessages(); - } - catch (Exception ex) - { - MainPage.Log($"HomePage LoadPage Error : {ex.Message}"); + RegisterGetPushMessageAction(); + } - - System.Threading.Tasks.Task.Run(() => - { - //DriverLayer.Control.Ins.SearchLoaclGateway(); - }); } /// <summary> @@ -395,12 +467,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 (function.Spk_Prefix == FunctionCategory.Music) { - 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; @@ -644,7 +722,11 @@ Tag = "state", Text = function.lastState }; - view.AddChidren(btnState); + + if (function.spk != SPK.LightSwitch) + { + view.AddChidren(btnState); + } Button btnCollection; btnCollection = new Button() @@ -656,10 +738,17 @@ SelectedImagePath = "Collection/CollectionWhiteIcon.png", UnSelectedImagePath = "Collection/CollectionIcon.png", }; - view.AddChidren(btnCollection); - LoadEvent_FunctionCollection(btnCollection, function); + //view.AddChidren(btnCollection); + //2020-12-16 濡傛灉鏄垚鍛橀殣钘忔敹钘忓姛鑳� + if (!DB_ResidenceData.Instance.CurrentRegion.IsOthreShare) + { + 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"; @@ -687,26 +776,26 @@ }; view.AddChidren(btnCurtainOpen); - LoadEvent_ControlCurtain(function as Curtain, btnCurtainClose, btnCurtainOpen); + LoadEvent_ControlCurtain(function, btnCurtainClose, btnCurtainOpen); } - else if (function.functionType == FunctionType.TV) + else if (function.spk == SPK.ElectricTV || function.spk == SPK.TvIr) { btnIcon.UnSelectedImagePath = "FunctionIcon/Electrical/TVIcon.png"; Button btnPower; btnPower = new Button() { X = Application.GetRealWidth(131), - Y = Application.GetRealHeight(86), + Y = Application.GetRealHeight(70), 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.functionCategory == FunctionCategory.Music) + else if (function.spk == SPK.MusicStandard) { btnIcon.UnSelectedImagePath = "FunctionIcon/Music/MusicIcon.png"; btnIcon.SelectedImagePath = "FunctionIcon/Music/MusicOnIcon.png"; @@ -729,7 +818,8 @@ //Music.SendMethod.ReadStatus(a31player); - btnPower.MouseUpEventHandler = (sender, e) => { + btnPower.MouseUpEventHandler = (sender, e) => + { if (btnPower.IsSelected) { btnPower.IsSelected = false; @@ -748,6 +838,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; @@ -762,60 +885,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) { UpdataFunctionStates(function); } @@ -839,6 +990,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() { @@ -848,7 +1012,10 @@ Width = Application.GetRealWidth(32), UnSelectedImagePath = "Public/FuncInfoSetIcon_white.png", }; - view.AddChidren(btnSettingIcon); + if (!DB_ResidenceData.Instance.CurrentRegion.IsOthreShare) + { + view.AddChidren(btnSettingIcon); + } Button btnName; btnName = new Button() @@ -890,10 +1057,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); + } + LoadEvent_SceneCollection(btnCollection, scene); - - LoadEvent_ControlScene(btnCoverd,btnName,btnZone, scene); + + LoadEvent_ControlScene(btnCoverd, btnName, btnZone, btnShowDelay, scene); btnSettingIcon.MouseUpEventHandler = (sender, e) => { Action backAction = () => { @@ -911,6 +1084,8 @@ aep.LoadPage( refreshAction); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; }; + //鍦烘櫙姝e湪鍊掕鏃舵墽琛屼腑 + scene.SceneCountDown(btnShowDelay); } catch (Exception ex) { -- Gitblit v1.8.0