From efcffde735fa65ae34bae0bcc86313b74ed0e36c Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期一, 20 五月 2024 13:47:38 +0800
Subject: [PATCH] 优化离线数据

---
 HDL_ON/UI/UI2/1-HomePage/HomePage.cs |  226 +++++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 150 insertions(+), 76 deletions(-)

diff --git a/HDL_ON/UI/UI2/1-HomePage/HomePage.cs b/HDL_ON/UI/UI2/1-HomePage/HomePage.cs
index 255f9f7..d3a4868 100644
--- a/HDL_ON/UI/UI2/1-HomePage/HomePage.cs
+++ b/HDL_ON/UI/UI2/1-HomePage/HomePage.cs
@@ -30,7 +30,7 @@
         /// <summary>
         /// 杩炴帴鐘舵�佹彁绀�
         /// </summary>
-        Button btnLinkStateTip;
+        FrameLayout divLinkStateTip;
         /// <summary>
         /// 瀹夐槻鐘舵�佸浘鏍�
         /// </summary>
@@ -213,69 +213,35 @@
                     IsBold = true
                 };
                 topView.AddChidren(btnResidenceName);
-                btnLinkStateTip = new Button()
+
+                divLinkStateTip = new FrameLayout()
                 {
-                    //X = Application.GetRealWidth(16),
-                    Y = btnResidenceName.Bottom,
-                    Height = Application.GetRealWidth(14),
-                    //BackgroundColor = CSS_Color.LinkTipFail,
-                    TextAlignment = TextAlignment.Center,
+                    Y = Application.GetRealHeight(113) - Application.GetRealWidth(24),
+                    Height = Application.GetRealWidth(24),
+                    BackgroundColor = 0xFFFF4747,
+                    Visible = false,
+                };
+                topView.AddChidren(divLinkStateTip);
+                Button btnLinkStateIcon = new Button()
+                {
+                    X = Application.GetRealWidth(16),
+                    Gravity = Gravity.CenterVertical,
+                    Width = Application.GetRealWidth(20),
+                    Height = Application.GetRealWidth(20),
+                    UnSelectedImagePath = "Collection/GatewayOnlineTipIcon.png"
+                };
+                divLinkStateTip.AddChidren(btnLinkStateIcon);
+
+                var btnLinkStateTip = new Button()
+                {
+                    X = btnLinkStateIcon.Right + Application.GetRealWidth(4),
+                    TextAlignment = TextAlignment.CenterLeft,
                     TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                     TextColor = CSS_Color.MainBackgroundColor,
+                    TextID = StringId.NetworkAnomaly,
                 };
-                topView.AddChidren(btnLinkStateTip);
-                //btnLinkStateTip.Width = btnLinkStateTip.GetTextWidth();
+                divLinkStateTip.AddChidren(btnLinkStateTip);
                 //鏇存柊閾炬帴鐘舵�乮con棰滆壊
-
-
-#if DEBUG
-                int ddd = 0;
-                btnResidenceName.MouseUpEventHandler = (sender, e) =>
-                {
-                    //827a98c98da7469b8bc19bb6a3c7651906
-                    //St_00009073b431d8b2490c9df0c5cb0e73
-                    //Com.Hdl.HdlToLc.InitData(Shared.Application.Activity,false, "827a98c98da7469b8bc19bb6a3c7651906");
-                    //Com.Hdl.HdlToLc.OpenActivity();
-                    //new System.Threading.Thread(() =>
-                    //{
-                    //    var http = new HttpServerRequest();
-                    //    var pack = http.GetLcSubAccountToken();
-                    //    if (pack.Code == StateCode.SUCCESS)
-                    //    {
-                    //        if(pack.Data == null || string.IsNullOrEmpty(pack.Data.ToString()))
-                    //        {
-                    //            Application.RunOnMainThread(() =>
-                    //            {
-                    //                new PublicAssmebly().TipMsg(Language.StringByID(StringId.Tip), Language.StringByID(StringId.huoqushujushibao));
-                    //            });
-                    //        }
-                    //        Com.Utils.HdlToLcUtils.Instance.HomeId = DB_ResidenceData.Instance.CurrentRegion.id;
-                    //        Com.Utils.HdlToLcUtils.Instance.Token = UserInfo.Current.AccessToken;
-                    //        Com.Utils.HdlToLcUtils.Instance.SubAccessToken = pack.Data.ToString();
-                    //        Application.RunOnMainThread(() =>
-                    //        {
-                    //            //Com.Utils.HdlToLcUtils.Instance.OpenActivity();
-                    //            //Com.Utils.HdlToLcUtils.Instance.Play()
-                    //            var backTemp = new AddLcCam();
-                    //            backTemp.backAction = () =>
-                    //            {
-                    //                //Load3tyBrandDeviceList();
-                    //            };
-                    //            Com.Utils.HdlToLcUtils.Instance.AddCamera(backTemp);
-                    //        });
-                    //    }
-                    //    else
-                    //    {
-                    //        Application.RunOnMainThread(() =>
-                    //        {
-                    //            new PublicAssmebly().TipMsg(Language.StringByID(StringId.Tip), Language.StringByID(StringId.huoqushujushibao) + $"({pack.Code})");
-                    //        });
-                    //    }
-                    //})
-                    //{ IsBackground = true }.Start();
-                };
-#endif
-
                 environmentalView = new FrameLayout()
                 {
                     Y = Application.GetRealHeight(1) + btnResidenceName.Bottom,
@@ -1090,7 +1056,6 @@
 
             #region ContextView
             gcFunctionView.RemoveAll();
-            functionViews.Clear();
             var rowView = new FrameLayout();
             try
             {
@@ -1314,7 +1279,8 @@
                 };
 
 
-                if (function.spk == SPK.SenesorMegahealth || function.spk == SPK.SensorMmvPose)
+                if (function.spk == SPK.SenesorMegahealth || function.spk == SPK.SensorMmvPose ||
+                    function.spk == SPK.SensorPir || function.spk == SPK.SensorPirHold)
                 {
                     btnIcon.UnSelectedImagePath = "FunctionIcon/Icon/HomeIcon/sensormegahealth.png";
                     btnIcon.SelectedImagePath = "FunctionIcon/Icon/HomeIcon/sensormegahealth.png";
@@ -1328,7 +1294,7 @@
                         switch (tempStatus.state)
                         {//0绌猴紝1璧帮紝2璺戯紝3鍧愶紝4璺屽�掞紝5绔�
                             case "0":
-                                function.lastState = Language.StringByID(StringId.SensorNormalState);
+                                function.lastState = Language.StringByID(StringId.wuren);
                                 break;
                             case "1":
                                 function.lastState = Language.StringByID(StringId.SomeoneIn);
@@ -1369,8 +1335,49 @@
                         }
                         btnState.Text = function.lastState;
                     }
+                    else
+                    {
+                        tempStatus = function.attributes.Find((sta) => sta.key == "people_status");
+                        if (tempStatus != null)
+                        {
+                            switch (tempStatus.state)
+                            {
+                                case "true":
+                                    function.lastState = Language.StringByID(StringId.Someone);
+                                    break;
+                                case "false":
+                                    function.lastState = Language.StringByID(StringId.wuren);
+                                    break;
+                            }
+                            btnState.Text = function.lastState;
+                        }
+                    }
+
                 }
-                
+
+                else if(function.spk == SPK.SensorDryContact || function.spk == SPK.SensorDryContact2)
+                {
+                    btnIcon.UnSelectedImagePath = $"FunctionIcon/Icon/HomeIcon/{function.IconName}_white.png";
+                    btnIcon.SelectedImagePath = $"FunctionIcon/Icon/HomeIcon/{function.IconName}_white.png";
+                    btnName.TextColor = CSS_Color.MainBackgroundColor;
+                    btnZone.TextColor = CSS_Color.MainBackgroundColor;
+                    btnState.TextColor = CSS_Color.MainBackgroundColor;
+                    var tempStatus = function.attributes.Find((sta) => sta.key == FunctionAttributeKey.ContactStatus);
+                    if (tempStatus != null)
+                    {
+                        switch (tempStatus.state)
+                        {
+                            case "open":
+                                function.lastState = Language.StringByID(StringId.DryBreak);
+                                break;
+                            case "close":
+                                function.lastState = Language.StringByID(StringId.Shut);
+                                break;
+                        }
+                        btnState.Text = function.lastState;
+                    }
+                }
+
                 else
                 {
                     btnIcon.UnSelectedImagePath = $"FunctionIcon/Icon/HomeIcon/{function.IconName}_blue.png";
@@ -1404,7 +1411,8 @@
                 if (//SPK.CurtainSpkList().Contains(function.spk))
                     function.spk == SPK.CurtainRoller || function.spk == SPK.CurtainShades ||
                     function.spk == SPK.CurtainDream ||
-                    function.spk == SPK.CurtainSwitch || function.spk == SPK.CurtainTrietex)
+                    function.spk == SPK.CurtainSwitch || function.spk == SPK.CurtainTrietex
+                    )
                 {
                     btnIcon.UnSelectedImagePath = "FunctionIcon/Curtain/CurtainIcon.png";
                     btnIcon.SelectedImagePath = "FunctionIcon/Curtain/CurtainOnIcon.png";
@@ -1419,6 +1427,7 @@
                         SelectedImagePath = "FunctionIcon/Curtain/CurtainCloseWhiteIcon_Shadow.png",
                     };
                     view.AddChidren(btnCurtainClose);
+                   
 
                     Button btnCurtainOpen;
                     btnCurtainOpen = new Button()
@@ -1469,7 +1478,7 @@
                     view.AddChidren(btnPower);
 
                     btnState.Text = function.GetAttrState("song_name");
-
+                    btnState.Width = Application.GetRealWidth(90);
                     btnState.SelectedTextColor = CSS_Color.MainBackgroundColor;
                     btnState.TextColor = CSS_Color.MainBackgroundColor;//PromptingColor1
 
@@ -1529,13 +1538,13 @@
 
                 }
 
-                else if (function.spk == SPK.SenesorMegahealth || function.spk == SPK.SensorMmvPose)
+                //else if (function.spk == SPK.SenesorMegahealth || function.spk == SPK.SensorMmvPose)
+                else if (SPK.ArmSensorSpkList().Contains(function.spk))
                 {
-                    //btnIcon.UnSelectedImagePath = $"FunctionIcon/Icon/HomeIcon/{function.IconName}.png";
-                    //btnIcon.SelectedImagePath = "FunctionIcon/Icon/HomeIcon/sensormegahealth.png";
-                    //btnIcon.IsSelected = true;
+                    btnName.TextColor = CSS_Color.MainBackgroundColor;
+                    btnZone.TextColor = CSS_Color.MainBackgroundColor;
                     btnState.SelectedTextColor = CSS_Color.MainBackgroundColor;
-                    btnState.TextColor = CSS_Color.MainColor;//PromptingColor1
+                    btnState.TextColor = CSS_Color.MainBackgroundColor;
                 }
 
                 //绱ф�ユ眰鍔�
@@ -1556,11 +1565,76 @@
                     btnIcon.UnSelectedImagePath = UI2.FuntionControlView.VideoDoorLock.CommonMethod.Current.GetVideoDoorLockIcon(UI2.FuntionControlView.VideoDoorLock.CommonMethod.Comerom.collect);
                     //btnIcon.SelectedImagePath = $"FunctionIcon/Icon/HomeIcon/{function.IconName}_blue.png";
                 }
-                //else if (function.spk == SPK.GroupControl)
-                //{
-                //    btnIcon.UnSelectedImagePath = $"FunctionIcon/Icon/HomeIcon/lightswitch_blue.png";
-                //    btnIcon.SelectedImagePath = $"FunctionIcon/Icon/HomeIcon/lightswitch_white.png";
-                //}
+                else if (function.spk == SPK.AvZkAiks)
+                {
+                    //涓轰簡鍘绘帀寮�鍏虫寜閽�
+                    btnIcon.UnSelectedImagePath = "AksIcon/yingyinzhongkong1.png";
+                }
+                else if (function.spk == SPK.GroupControl)
+                {
+                    btnIcon.UnSelectedImagePath = $"FunctionIcon/Icon/HomeIcon/{function.IconName}_blue.png";
+                    btnIcon.SelectedImagePath = $"FunctionIcon/Icon/HomeIcon/{function.IconName}_white.png";
+                    if (function.spk == SPK.GroupControl)
+                    {
+                        Button btnClose;
+                        Button btnOpen;
+                        btnOpen = new Button()
+                        {
+                            X = Application.GetRealWidth(84),
+                            Y = Application.GetRealWidth(89),
+                            Width = Application.GetRealWidth(40),
+                            Height = Application.GetRealWidth(40),
+                            UnSelectedImagePath = "FunctionIcon/Light/LightScene/gp_all_on_home.png",
+                            SelectedImagePath = "FunctionIcon/Light/LightScene/gp_all_on_home_click.png",
+                        };
+                        view.AddChidren(btnOpen);
+
+
+                        btnClose = new Button()
+                        {
+                            X = btnOpen.Right,
+                            Y = Application.GetRealWidth(89),
+                            Width = Application.GetRealWidth(40),
+                            Height = Application.GetRealWidth(40),
+                            UnSelectedImagePath = "FunctionIcon/Light/LightScene/gp_all_off_home.png",
+                            SelectedImagePath = "FunctionIcon/Light/LightScene/gp_all_off_home_click.png",
+                        };
+                        view.AddChidren(btnClose);
+
+
+                        btnClose.MouseDownEventHandler = (sender, e) => {
+                            btnClose.IsSelected = true;
+                        };
+
+                        btnClose.MouseUpEventHandler = (sender, e) => {
+                            btnClose.IsSelected = false;
+                            if (function.spk == SPK.GroupControl)
+                            {
+                                var d = new Dictionary<string, string>();
+                                d.Add("on_off", "off");
+                                (function as GroupControl).Control(d);
+                            }
+                        };
+                        btnOpen.MouseDownEventHandler = (sender, e) => {
+                            btnOpen.IsSelected = true;
+                        };
+                        btnOpen.MouseUpEventHandler = (sender, e) => {
+                            btnOpen.IsSelected = false;
+                            if (function.spk == SPK.GroupControl)
+                            {
+                                var d = new Dictionary<string, string>();
+                                d.Add("on_off", "on");
+                                (function as GroupControl).Control(d);
+                            }
+                        };
+
+
+                    }
+                }
+                else if (function.spk == SPK.ElectricEnergy || function.spk == SPK.AirSwitch || function.spk == SPK.AirSwitchP3)
+                {
+
+                }
                 else
                 {
                     Button btnSwitch;
@@ -1618,7 +1692,7 @@
                     TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                     TextAlignment = TextAlignment.CenterLeft,
                     Tag = "OnlineTag",
-                    Visible = !function.online
+                    Visible = !function.isOnline()
                 };
                 view.AddChidren(btnOffline);
 

--
Gitblit v1.8.0