hxb
2020-12-17 5eeafe3af80bfd88306bd8ad9e76c8f4b51ca35f
HDL_ON/UI/UI2/1-HomePage/HomePage.cs
@@ -1,7 +1,8 @@
using System;
using 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;
@@ -34,15 +35,15 @@
        /// <summary>
        /// 当前温度信息
        /// </summary>
        Button btnTempValues;
        TextButton btnTempValues;
        /// <summary>
        /// 当前湿度信息
        /// </summary>
        Button btnHumidityValues;
        TextButton btnHumidityValues;
        /// <summary>
        /// 当前pm2.5状态
        /// </summary>
        Button btnPm25Values;
        TextButton btnPm25Values;
        /// <summary>
        /// 切换显示功能类型区域
        /// </summary>
@@ -93,6 +94,12 @@
            bodyView.BackgroundColor = CSS_Color.BackgroundColor;
        }
        public override void RemoveFromParent()
        {
            UnregisterGetPushMessageAction();
            base.RemoveFromParent();
        }
        public void LoadPage()
        {
            try
@@ -101,7 +108,7 @@
                topView = new FrameLayout()
                {
                    Height = Application.GetRealHeight(216),
                    BackgroundImagePath = DB_ResidenceData.residenceData.residenceImage,
                    BackgroundImagePath = DB_ResidenceData.Instance.residenceImage,
                };
                bodyView.AddChidren(topView);
@@ -122,6 +129,21 @@
                    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;
                }
                btnResidenceName = new Button()
                {
@@ -132,7 +154,7 @@
                    TextColor = CSS_Color.MainBackgroundColor,
                    TextSize = CSS_FontSize.EmphasisFontSize_FirstLevel,
                    TextAlignment = TextAlignment.CenterLeft,
                    Text = DB_ResidenceData.residenceData.residecenInfo.Name,
                    Text = DB_ResidenceData.Instance.CurrentRegion.Name,
                    IsBold = true
                };
                topView.AddChidren(btnResidenceName);
@@ -143,9 +165,9 @@
                {
                    System.Threading.Tasks.Task.Run(() =>
                        {
                            DriverLayer.Control.Ins.OpenUdp(6000);
                            //DB_ResidenceData.residenceData.GatewayType = 0;
                            //DriverLayer.Control.Ins.SearchLoaclGateway();
                            MainPage.InitializationData();
                            //DriverLayer.Control.Ins.IsRemote = true;
                        });
                };
#endif
@@ -167,7 +189,7 @@
                };
                environmentalView.AddChidren(btnTempIcon);
                btnTempValues = new Button()
                btnTempValues = new TextButton()
                {
                    X = btnTempIcon.Right + Application.GetRealWidth(4),
                    Width = Application.GetRealWidth(30),
@@ -189,7 +211,7 @@
                };
                environmentalView.AddChidren(btnHumidityIcon);
                btnHumidityValues = new Button()
                btnHumidityValues = new TextButton()
                {
                    X = btnHumidityIcon.Right + Application.GetRealWidth(4),
                    Width = Application.GetRealWidth(30),
@@ -211,7 +233,7 @@
                };
                environmentalView.AddChidren(btnPm25Icon);
                btnPm25Values = new Button()
                btnPm25Values = new TextButton()
                {
                    X = btnPm25Icon.Right + Application.GetRealWidth(4),
                    Width = Application.GetRealWidth(130),
@@ -259,7 +281,7 @@
                {
                    X = Application.GetRealWidth(10) + btnMsgIcon.Right,
                    Width = Application.GetRealWidth(240),
                    Text = "无",
                    Text = "...",
                    TextColor = CSS_Color.MainBackgroundColor,
                    TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                    TextAlignment = TextAlignment.CenterLeft,
@@ -351,6 +373,10 @@
                #endregion
                LoadEvent_ChangeShowedFunctionType();
                // 查询未读消息并显示
                GetUnreadPushMessages();
                RegisterGetPushMessageAction();
            }
            catch (Exception ex)
            {
@@ -376,7 +402,7 @@
            try
            {
                int index = 0;
                foreach (var function in DB_ResidenceData.functionList.GetAllDeviceFunctionList())
                foreach (var function in FunctionList.List.GetDeviceFunctionList())
                {
                    //音乐模块有主从关系,需要特殊处理
                    if (function.functionCategory == FunctionCategory.Music)
@@ -395,7 +421,7 @@
                        }
                        else
                        {
                            if (!music.collection)
                            if (!music.collect)
                            {
                                continue;
                            }
@@ -403,7 +429,7 @@
                    }
                    else
                    {
                        if (!function.collection)
                        if (!function.collect)
                            continue;
                        //if (function.roomIdList.Count == 0)//如何在房间已经移除了这个功能,则收藏界面也不会再显示
                        //{
@@ -491,15 +517,15 @@
            try
            {
                int index = 0;
                foreach (var function in DB_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) });
@@ -517,12 +543,15 @@
                        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++;
                }
@@ -635,7 +664,7 @@
                    UnSelectedImagePath = "Collection/CollectionIcon.png",
                };
                view.AddChidren(btnCollection);
                LoadEvent_FunctionCollection(btnCollection, function, true);
                LoadEvent_FunctionCollection(btnCollection, function);
                if (function.functionCategory == FunctionCategory.Curtain)
                {
@@ -807,7 +836,7 @@
        /// <summary>
        /// 加载场景控制卡片
        /// </summary>
        void LoadSceneFunctionDiv(FrameLayout view, Function function)
        void LoadSceneFunctionDiv(FrameLayout view, Scene scene)
        {
            try
            {
@@ -824,7 +853,6 @@
                    Y = Application.GetRealWidth(4),
                    Height = Application.GetRealWidth(32),
                    Width = Application.GetRealWidth(32),
                    //UnSelectedImagePath = "FunctionIcon/Scene/DelayIcon.png",
                    UnSelectedImagePath = "Public/FuncInfoSetIcon_white.png",
                };
                view.AddChidren(btnSettingIcon);
@@ -836,7 +864,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,
@@ -854,7 +882,7 @@
                    TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
                    TextAlignment = TextAlignment.CenterLeft,
                    SelectedTextColor = CSS_Color.MainBackgroundColor,
                    Text = function.GetRoomListName(),
                    Text = scene.GetRoomListName(),
                };
                view.AddChidren(btnZone);
@@ -870,22 +898,24 @@
                    UnSelectedImagePath = "Collection/CollectionIcon.png",
                };
                view.AddChidren(btnCollection);
                LoadEvent_FunctionCollection(btnCollection, function, false);
                LoadEvent_SceneCollection(btnCollection, scene);
              
                LoadEvent_ControlScene(btnCoverd,btnName,btnZone, function);
                LoadEvent_ControlScene(btnCoverd,btnName,btnZone, scene);
                btnSettingIcon.MouseUpEventHandler = (sender, e) => {
                    Action backAction = () => {
                        //LoadSceneFunctionControlZone();
                    };
                    Action refreshAction = () => {
                        btnName.Text = function.name;
                        btnZone.Text = function.GetRoomListName();
                        view.BackgroundImagePath = (function as Scene).ImagePath;
                        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(function as Scene, backAction);
                    var aep = new SceneEditPage(scene, backAction);
                    MainPage.BasePageView.AddChidren(aep);
                    aep.LoadPage(StringId.EditScene, refreshAction);
                    aep.LoadPage( refreshAction);
                    MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
                };
            }