From 691dbe24f5724f153e07947c7b75bdfea5f0b6d5 Mon Sep 17 00:00:00 2001
From: wxr <wxr@hdlchina.com.cn>
Date: 星期二, 24 九月 2024 16:15:15 +0800
Subject: [PATCH] 离线控制模式

---
 HDL_ON/UI/UI2/1-HomePage/HomePage.cs |  436 +++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 297 insertions(+), 139 deletions(-)

diff --git a/HDL_ON/UI/UI2/1-HomePage/HomePage.cs b/HDL_ON/UI/UI2/1-HomePage/HomePage.cs
index 255f9f7..48d096f 100644
--- a/HDL_ON/UI/UI2/1-HomePage/HomePage.cs
+++ b/HDL_ON/UI/UI2/1-HomePage/HomePage.cs
@@ -1,19 +1,14 @@
 锘縰sing System;
 using System.Collections.Generic;
-using System.Text;
-using HDL_ON.DAL;
-using HDL_ON.DAL.Server;
-using HDL_ON.DriverLayer;
+using HDL_ON.Common;
 using HDL_ON.Entity;
 using HDL_ON.UI.CSS;
-using Newtonsoft.Json;
-using Newtonsoft.Json.Linq;
 using Shared;
 
 namespace HDL_ON.UI
 {
 #if __IOS__
-    public partial class HomePage :  VerticalRefreshLayout
+    public partial class HomePage : VerticalRefreshLayout
 #else
     public partial class HomePage : VerticalScrolViewLayout
 #endif
@@ -30,7 +25,11 @@
         /// <summary>
         /// 杩炴帴鐘舵�佹彁绀�
         /// </summary>
-        Button btnLinkStateTip;
+        FrameLayout linkStateMsgView;
+        /// <summary>
+        /// 鐧诲綍鐘舵�佹彁绀哄尯鍩�
+        /// </summary>
+        FrameLayout tokenInvalidMsgView;
         /// <summary>
         /// 瀹夐槻鐘舵�佸浘鏍�
         /// </summary>
@@ -104,9 +103,9 @@
         /// 鍔熻兘鍖哄煙闆嗗悎
         /// </summary>
         List<FrameLayout> functionViews;
-#endregion
+        #endregion
 
-#region 鍖哄煙鍙橀噺
+        #region 鍖哄煙鍙橀噺
         /// <summary>
         /// 褰撳墠鏄剧ず瀵规帶鍒剁被鍨嬫槸鍚︽槸璁惧鍔熻兘鎺у埗
         /// 0 鍔熻兘
@@ -114,9 +113,9 @@
         /// 2 缇ゆ帶
         /// </summary>
         int CurShowTypeContent = 0;
-#endregion
+        #endregion
 
-#region 鎶ヨ淇℃伅
+        #region 鎶ヨ淇℃伅
         //Button btnMsgBg;
         //Button btnMsgTime;
         //Button btnMsg;
@@ -165,14 +164,14 @@
                 };
                 topView = new FrameLayout()
                 {
-                    Height = Application.GetRealHeight(113),//216),
+                    Height = Application.GetRealHeight(113) + Application.GetRealWidth(24),//216),
                     BackgroundImagePath = DB_ResidenceData.Instance.residenceImage,
                 };
                 bodyView.AddChidren(topView);
 #else
                 VerticalRefreshLayout refreshLayout = new VerticalRefreshLayout()
                 {
-                    Height = Application.GetRealHeight(113),//216),
+                    Height = Application.GetRealHeight(113) + Application.GetRealWidth(24),//216),
                     BackgroundImagePath = DB_ResidenceData.Instance.residenceImage,
                 };
                 bodyView.AddChidren(refreshLayout);
@@ -185,20 +184,21 @@
                 };
                 topView = new FrameLayout()
                 {
-                    Height = Application.GetRealHeight(113),//216),
+                    Height = Application.GetRealHeight(113) + Application.GetRealWidth(24),//216),
                 };
                 refreshLayout.AddChidren(topView);
 #endif
-                #region topView
-
-
-
-                Button btnTop;
-                btnTop = new Button()
+                topView.AddChidren(new Button()
                 {
                     BackgroundColor = CSS_Color.DialogTransparentColor2,
-                };
-                topView.AddChidren(btnTop);
+                });
+
+                topView.AddChidren(
+                    new Button() {Y = Application.GetRealHeight(113),
+                    BackgroundColor = CSS_Color.BackgroundColor,
+                    Height = Application.GetRealWidth(24) });
+
+                #region topView
 
                 btnResidenceName = new Button()
                 {
@@ -213,68 +213,42 @@
                     IsBold = true
                 };
                 topView.AddChidren(btnResidenceName);
-                btnLinkStateTip = new Button()
+                //鐧诲綍鍑瘉鏄惁鏈夋晥
+                CheckTokenValid();
+
+                #region 缃戝叧杩炴帴鐘舵��
+                linkStateMsgView = new FrameLayout()
                 {
-                    //X = Application.GetRealWidth(16),
-                    Y = btnResidenceName.Bottom,
-                    Height = Application.GetRealWidth(14),
-                    //BackgroundColor = CSS_Color.LinkTipFail,
-                    TextAlignment = TextAlignment.Center,
+                    Y = ApiUtlis.Ins.IsValidToken ? Application.GetRealHeight(113) : Application.GetRealHeight(113) - Application.GetRealWidth(24),
+                    Height = Application.GetRealWidth(24),
+                    BackgroundColor = 0xFFFF4747,
+                    Visible = false,
+                };
+                topView.AddChidren(linkStateMsgView);
+
+                Button btnLinkStateIcon = new Button()
+                {
+                    X = Application.GetRealWidth(16),
+                    Gravity = Gravity.CenterVertical,
+                    Width = Application.GetRealWidth(20),
+                    Height = Application.GetRealWidth(20),
+                    UnSelectedImagePath = "Collection/GatewayOnlineTipIcon.png"
+                };
+                linkStateMsgView.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();
+                linkStateMsgView.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
+                CheckLinkStatus();//2020-12-22
+                #endregion
 
                 environmentalView = new FrameLayout()
                 {
@@ -282,9 +256,8 @@
                     Height = Application.GetRealHeight(32),
                 };
                 topView.AddChidren(environmentalView);
-                CheckLinkStatus();//2020-12-22
 
-#region 鐜鏁版嵁
+                #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));
@@ -316,7 +289,8 @@
                     }
                 }
 
-                var btnEnvirValuesTitle = new Button() {
+                var btnEnvirValuesTitle = new Button()
+                {
                     X = Application.GetRealWidth(12),
                     Gravity = Gravity.CenterVertical,
                     TextColor = CSS_Color.MainBackgroundColor,
@@ -382,7 +356,7 @@
                     }
                     if (tempTotalValues > 0)
                     {
-                        btnIndoorTempValues.Text = "/" + (tempTotalValues/ tempTotalCount).ToString("0.0") + "掳";
+                        btnIndoorTempValues.Text = "/" + (tempTotalValues / tempTotalCount).ToString("0.0") + "掳";
                     }
                 }
                 btnIndoorTempValues.Width = btnIndoorTempValues.GetTextWidth();
@@ -478,9 +452,9 @@
                     SelectedImagePath = "Collection/DefenseStatusIcon.png",
                     UnSelectedImagePath = "Collection/DisarmStatusIcon.png"
                 };
-                if (DB_ResidenceData.Instance.GatewayType == 1)
+                if (DB_ResidenceData.Instance.GatewayType == 1 && !DB_ResidenceData.Instance.CurrentRegion.isOtherShare)
                 {
-                        
+
                     topView.AddChidren(btnSecurityStatus);
                     foreach (var temp in FunctionList.List.securities)
                     {
@@ -499,7 +473,8 @@
                         }
                     }
 
-                    btnSecurityStatus.MouseUpEventHandler = (sender, e) => {
+                    btnSecurityStatus.MouseUpEventHandler = (sender, e) =>
+                    {
                         var page = new ArmCenterPage();
                         MainPage.BasePageView.AddChidren(page);
                         page.LoadPage();
@@ -508,7 +483,7 @@
                 }
 
 
-#region msg
+                #region msg
                 //FrameLayout msgView;
                 //msgView = new FrameLayout()
                 //{
@@ -536,6 +511,10 @@
                     UnSelectedImagePath = "Collection/MsgIcon.png",
                     SelectedImagePath = "Collection/MsgIconTip.png",
                 };
+                if (btnSecurityStatus.Parent == null)
+                {
+                    btnMsgIcon.X = Application.GetRealWidth(329);
+                }
                 topView.AddChidren(btnMsgIcon);
 
 
@@ -563,13 +542,13 @@
 
                 LoadEvent_GotoMessageCenterPage();
 
-#endregion
+                #endregion
 
-#endregion
+                #endregion
 
-#region 鍔熻兘鍦烘櫙鍒囨崲
+                #region 鍔熻兘鍦烘櫙鍒囨崲
 
-                bodyView.AddChidren(new Button() { Height = Application.GetRealHeight(20), BackgroundColor = 0x00000000 });
+                //bodyView.AddChidren(new Button() { Height = Application.GetRealHeight(20), BackgroundColor = 0xFFFF0000 });
 
                 loadNavView();
 
@@ -583,6 +562,35 @@
                 LoadContentView();
 
                 #endregion
+
+#if DEBUG
+                btnResidenceName.MouseUpEventHandler = (envent, ee) =>
+                {
+#if __ANDROID__
+                    Com.Hdl.Hdllinphonesdk.HDLLinphoneKit.Instance.PlayRingtone();
+#elif __IOS__
+
+                    //if (isPlay)
+                    //{
+                    //    isPlay = false;
+                    //    soundPlayer.StopSound();
+                    //}
+                    //else
+                    //{
+                    //    isPlay = true;
+                    //    soundPlayer.PlaySound();
+                    //}
+
+#endif
+                    //PlaySystemRingtone playSystemRingtone = new PlaySystemRingtone();
+                    //playSystemRingtone.Play();
+                    //new System.Threading.Thread(async() =>
+                    //{
+                    //    await Common.AliyunLog.AliyunLogClient.PostLogs("鍛婅娴嬭瘯", "娴嬭瘯淇℃伅娴嬭瘯淇℃伅娴嬭瘯淇℃伅娴嬭瘯淇℃伅娴嬭瘯淇℃伅娴嬭瘯淇℃伅娴嬭瘯淇℃伅娴嬭瘯淇℃伅娴嬭瘯淇℃伅娴嬭瘯淇℃伅娴嬭瘯淇℃伅娴嬭瘯淇℃伅娴嬭瘯淇℃伅");
+                    //})
+                    //{ IsBackground = true }.Start();
+                };
+#endif
             }
             catch (Exception ex)
             {
@@ -594,7 +602,7 @@
 
         void loadNavView()
         {
-            if(changeBaseView == null)
+            if (changeBaseView == null)
             {
                 changeBaseView = new FrameLayout()
                 {
@@ -690,7 +698,8 @@
 
 
 
-                btnChangeGroupControl.MouseUpEventHandler = (sender, e) => {
+                btnChangeGroupControl.MouseUpEventHandler = (sender, e) =>
+                {
                     btnChangeFunction.IsSelected = false;
                     btnChangeFunction.TextSize = CSS.CSS_FontSize.TextFontSize;
                     btnChangeFunction.IsBold = false;
@@ -704,7 +713,8 @@
                     contentView.PageIndex = 2;
                 };
 
-                btnChangeFunction.MouseUpEventHandler = (sender, e) => {
+                btnChangeFunction.MouseUpEventHandler = (sender, e) =>
+                {
                     btnChangeFunction.IsSelected = true;
                     btnChangeFunction.TextSize = CSS.CSS_FontSize.HeadlineFontSize;
                     btnChangeFunction.IsBold = true;
@@ -718,7 +728,8 @@
                     btnChangeGroupControl.TextSize = CSS.CSS_FontSize.TextFontSize;
                     btnChangeGroupControl.IsBold = false;
                 };
-                btnChangeScene.MouseUpEventHandler = (sender, e) => {
+                btnChangeScene.MouseUpEventHandler = (sender, e) =>
+                {
                     btnChangeScene.IsSelected = true;
                     btnChangeScene.TextSize = CSS.CSS_FontSize.HeadlineFontSize;
                     btnChangeScene.IsBold = true;
@@ -885,7 +896,7 @@
         /// </summary>
         void LoadContentView()
         {
-           
+
             if (!Common.ApiUtlis.Ins.DownloadDataComplete && !MainPage.NoLoginMode)
             {
                 var waitPage = new Loading();
@@ -936,7 +947,8 @@
                             }
                         });
                     }
-                    catch (Exception ex) {
+                    catch (Exception ex)
+                    {
                         MainPage.Log($"鍒锋柊涓婚〉寮傚父:{ex.Message}");
                     }
                     finally { }
@@ -995,7 +1007,7 @@
                     //}
                     //else
                     {
-                        if (!function.collect)
+                        if (!function.collect&& function.spk != SPK.InverterJinmao)
                             continue;
                     }
                     if (index % 2 == 0)
@@ -1021,8 +1033,8 @@
                     };
                     rowView.AddChidren(functionView);
                     functionViews.Add(functionView);
-                    //缁垮缓浜哄眳鐜锛岀鎶�绯荤粺
-                    if (function.spk == SPK.AcstParent)
+                    //缁垮缓浜哄眳鐜锛岀鎶�绯荤粺,閲戣寕鍏変紡鍌ㄨ兘
+                    if (function.spk == SPK.AcstParent || function.spk == SPK.InverterJinmao)
                     {
                         LoadAcstDiv(functionView, function);
                     }
@@ -1090,7 +1102,6 @@
 
             #region ContextView
             gcFunctionView.RemoveAll();
-            functionViews.Clear();
             var rowView = new FrameLayout();
             try
             {
@@ -1120,14 +1131,14 @@
                     };
                     rowView.AddChidren(functionView);
                     functionViews.Add(functionView);
-                        var btnbg = new Button()
-                        {
-                            UnSelectedImagePath = "Collection/Functionbg.png",
-                            SelectedImagePath = "Collection/FunctionOnbg.png",
-                            Tag = function.sid
-                        };
-                        functionView.AddChidren(btnbg);
-                        LoadDeviceFunctionDiv(functionView, function);
+                    var btnbg = new Button()
+                    {
+                        UnSelectedImagePath = "Collection/Functionbg.png",
+                        SelectedImagePath = "Collection/FunctionOnbg.png",
+                        Tag = function.sid
+                    };
+                    functionView.AddChidren(btnbg);
+                    LoadDeviceFunctionDiv(functionView, function);
 
                     index++;
                 }
@@ -1211,7 +1222,7 @@
                     //2020-12-03 淇敼鍥剧墖鍔犺浇鏂规硶
                     ImageUtlis.Current.LoadLocalOrNetworkImages((scene as Scene).ImagePath, functionView);
 
-                    LoadSceneFunctionDiv( functionView, scene);
+                    LoadSceneFunctionDiv(functionView, scene);
                     index++;
                 }
 
@@ -1314,7 +1325,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 +1340,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 +1381,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 +1457,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 +1473,7 @@
                         SelectedImagePath = "FunctionIcon/Curtain/CurtainCloseWhiteIcon_Shadow.png",
                     };
                     view.AddChidren(btnCurtainClose);
+
 
                     Button btnCurtainOpen;
                     btnCurtainOpen = new Button()
@@ -1469,7 +1524,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 +1584,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 +1611,80 @@
                     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;
@@ -1579,7 +1703,8 @@
                     LoadEvent_SwitchFunction(function, btnSwitch);
                 }
                 //鍙栨秷鏀惰棌浜嬩欢
-                Action cannelCollect = () => {
+                Action cannelCollect = () =>
+                {
                     function.collect = false;
                     //if (SPK.MusicSpkList().Contains(function.spk))//澶勭悊闊充箰涓讳粠鍏崇郴
                     //{
@@ -1595,7 +1720,8 @@
                 };
 
 
-                var skipControlPageEvent = new PublicAssmebly().LoadEvent_SkipFunctionControlPage(function, btnCollection, btnName, btnZone, UI2.FuntionControlView.VideoDoorLock.CommonMethod.Comerom.collect,()=> {
+                var skipControlPageEvent = new PublicAssmebly().LoadEvent_SkipFunctionControlPage(function, btnCollection, btnName, btnZone, UI2.FuntionControlView.VideoDoorLock.CommonMethod.Comerom.collect, () =>
+                {
                     this.LoadDeviceFunctionControlZone();//鍒犻櫎璁惧鍚庨噸鏂板埛鏂癠I
                 });
                 view.MouseUpEventHandler = skipControlPageEvent;
@@ -1603,7 +1729,7 @@
                 btnIcon.MouseUpEventHandler = skipControlPageEvent;
                 btnState.MouseUpEventHandler = skipControlPageEvent;
                 //涓嶉渶瑕佹洿鏂扮姸鎬佺殑鍔熻兘鍒楄〃
-                if(!SPK.NotStatusSpkList.Contains(function.spk) || function.spk != SPK.IpCam_Imou)
+                if (!SPK.NotStatusSpkList.Contains(function.spk) || function.spk != SPK.IpCam_Imou)
                 {
                     UpdataFunctionStates(function);
                 }
@@ -1618,7 +1744,7 @@
                     TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                     TextAlignment = TextAlignment.CenterLeft,
                     Tag = "OnlineTag",
-                    Visible = !function.online
+                    Visible = !function.isOnline()
                 };
                 view.AddChidren(btnOffline);
 
@@ -1649,7 +1775,8 @@
             {
                 X = Application.GetRealWidth(11),
                 Y = Application.GetRealWidth(10),
-                TextID = StringId.Acst,
+                Text = function.name,
+                //TextID = StringId.Acst,
                 IsBold = true,
                 TextColor = CSS_Color.FirstLevelTitleColor,
                 TextSize = CSS_FontSize.TextFontSize,
@@ -1669,20 +1796,51 @@
             };
             view.AddChidren(btnLogo);
 
+            try
+            {
+                if (function.extend.Contains("jinmao") && function.extend.Contains("true"))
+                {
+                    btnLogo.Visible = true;
+                }
+                else
+                {
+                    btnLogo.Visible = false;
+                }
+            }
+            catch (Exception ex)
+            {
+                MainPage.Log("Error", $"閲戣寕logo鏄剧ず澶勭悊寮傚父锛歿ex.Message}");
+            }
+
             Button btnFunctionViewBg;
             btnFunctionViewBg = new Button()
             {
                 Height = Application.GetRealWidth(100),
                 Width = Application.GetRealWidth(102),
-                UnSelectedImagePath = "FunctionIcon/FunctionBg/AcstFunctionBg.png",
+                UnSelectedImagePath = function.spk == SPK.AcstParent ? "FunctionIcon/FunctionBg/AcstFunctionBg.png" : "FunctionIcon/FunctionBg/InverterJinmaoFunctionBg.png",
             };
             view.AddChidren(btnFunctionViewBg);
-            btnFunctionViewBg.MouseUpEventHandler = (sender, e) => {
-                var page = new AcstParentPage();
-                MainPage.BasePageView.AddChidren(page);
-                page.LoadPage();
-                MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
-            };
+            if (function.spk == SPK.AcstParent)
+            {
+                btnFunctionViewBg.MouseUpEventHandler = (sender, e) =>
+                {
+                    var page = new AcstParentPage();
+                    MainPage.BasePageView.AddChidren(page);
+                    page.LoadPage();
+                    MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+                };
+            }
+            else if (function.spk == SPK.InverterJinmao)
+            {
+                //btnName.TextID = StringId.NewEnergy;
+                btnFunctionViewBg.MouseUpEventHandler = (sender, e) =>
+                {
+                    var page = new InverterJinmaoPage();
+                    MainPage.BasePageView.AddChidren(page);
+                    page.LoadPage();
+                    MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+                };
+            }
 
 
             //Button btnAcstPower = new Button()
@@ -1710,7 +1868,7 @@
             //    })
             //    { IsBackground = true }.Start();
             //};
-           
+
 
 
 

--
Gitblit v1.8.0