From 592974441a4df95fffd9167c90192da1a390b1c2 Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期二, 06 六月 2023 11:51:12 +0800
Subject: [PATCH] Merge branch 'Dev-Branch'

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

diff --git a/HDL_ON/UI/UI2/1-HomePage/HomePage.cs b/HDL_ON/UI/UI2/1-HomePage/HomePage.cs
index a6a5bd7..0c52ed6 100644
--- a/HDL_ON/UI/UI2/1-HomePage/HomePage.cs
+++ b/HDL_ON/UI/UI2/1-HomePage/HomePage.cs
@@ -2,6 +2,7 @@
 using System.Collections.Generic;
 using System.Text;
 using HDL_ON.DAL;
+using HDL_ON.DAL.Server;
 using HDL_ON.DriverLayer;
 using HDL_ON.Entity;
 using HDL_ON.UI.CSS;
@@ -11,7 +12,11 @@
 
 namespace HDL_ON.UI
 {
-    public partial class HomePage : VerticalRefreshLayout
+#if __IOS__
+    public partial class HomePage :  VerticalRefreshLayout
+#else
+    public partial class HomePage : VerticalScrolViewLayout
+#endif
     {
 
         #region 鎺т欢鍒楄〃
@@ -90,21 +95,21 @@
         /// 鍔熻兘鍖哄煙闆嗗悎
         /// </summary>
         List<FrameLayout> functionViews;
-        #endregion
+#endregion
 
-        #region 鍖哄煙鍙橀噺
+#region 鍖哄煙鍙橀噺
         /// <summary>
         /// 褰撳墠鏄剧ず瀵规帶鍒剁被鍨嬫槸鍚︽槸璁惧鍔熻兘鎺у埗
         /// </summary>
         bool CurShowTypeIsFunction = true;
-        #endregion
+#endregion
 
-        #region 鎶ヨ淇℃伅
+#region 鎶ヨ淇℃伅
         Button btnMsgBg;
         Button btnMsgTime;
         Button btnMsg;
         Button btnMsgIcon;
-        #endregion
+#endregion
 
         public HomePage()
         {
@@ -132,9 +137,34 @@
             MainPage.CurPageIndex = 0;
             try
             {
-                this.BeginHeaderRefreshingAction = () =>
+                bodyView.RemoveAll();
+#if __IOS__
+                bodyView.BeginHeaderRefreshingAction = () =>
                 {
-                    this.EndHeaderRefreshing();
+                    bodyView.EndHeaderRefreshing();
+                    Common.ApiUtlis.Ins.DownloadData();
+                    LoadContentView();
+                    if (!CurShowTypeIsFunction)
+                    {
+                        contentView.PageIndex = 1;
+                    }
+                };
+                topView = new FrameLayout()
+                {
+                    Height = Application.GetRealHeight(216),
+                    BackgroundImagePath = DB_ResidenceData.Instance.residenceImage,
+                };
+                bodyView.AddChidren(topView);
+#else
+                VerticalRefreshLayout refreshLayout = new VerticalRefreshLayout()
+                {
+                    Height = Application.GetRealHeight(216),
+                    BackgroundImagePath = DB_ResidenceData.Instance.residenceImage,
+                };
+                bodyView.AddChidren(refreshLayout);
+                refreshLayout.BeginHeaderRefreshingAction = () =>
+                {
+                    refreshLayout.EndHeaderRefreshing();
                     Common.ApiUtlis.Ins.DownloadData();
                     LoadContentView();
                     if(!CurShowTypeIsFunction)
@@ -142,17 +172,15 @@
                         contentView.PageIndex = 1;
                     }
                 };
-
-                #region topView
-
-                bodyView.RemoveAll();
-
                 topView = new FrameLayout()
                 {
                     Height = Application.GetRealHeight(216),
-                    BackgroundImagePath = DB_ResidenceData.Instance.residenceImage,
                 };
-                bodyView.AddChidren(topView);
+                refreshLayout.AddChidren(topView);
+#endif
+                #region topView
+
+
 
                 Button btnTop;
                 btnTop = new Button()
@@ -179,7 +207,7 @@
                     //X = Application.GetRealWidth(16),
                     Y = btnResidenceName.Bottom,
                     Height = Application.GetRealWidth(14),
-                    BackgroundColor = CSS_Color.LinkTipFail,
+                    //BackgroundColor = CSS_Color.LinkTipFail,
                     TextAlignment = TextAlignment.Center,
                     TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                     TextColor = CSS_Color.MainBackgroundColor,
@@ -189,11 +217,51 @@
                 //鏇存柊閾炬帴鐘舵�乮con棰滆壊
 
 
-                int ddd = 0;
 #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
 
@@ -205,7 +273,7 @@
                 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));
@@ -221,7 +289,7 @@
                             deviceId = enviTemp.deviceId,
                             attributes = new List<FunctionAttributes> { new FunctionAttributes { key = "value", state = humiAttr.state, curValue = humiAttr.curValue } },
                         };
-                        humiSensorList.Add(newTemp);
+                        humiSensorList.Add(newTemp);//020103CF594C3E00051F0001051F//	1650546588519424001
                     }
                     var tempAttr = enviTemp.attributes.Find((obj) => obj.key == "temperature");
                     if (tempAttr != null)
@@ -233,7 +301,7 @@
                             deviceId = enviTemp.deviceId,
                             attributes = new List<FunctionAttributes> { new FunctionAttributes { key = "value", state = tempAttr.state, curValue = tempAttr.curValue } },
                         };
-                        tempSensorList.Add(newTemp);
+                        tempSensorList.Add(newTemp);//020103CF594C3E00051F0001051F
                     }
                 }
 
@@ -291,7 +359,10 @@
                     foreach (var temp in tempSensorList)
                     {
                         double tempValue = 0;
-                        double.TryParse(temp.GetAttrState("temperature"), out tempValue);
+                        if (temp.GetAttribute("temperature") != null)
+                            double.TryParse(temp.GetAttrState("temperature"), out tempValue);
+                        else
+                            double.TryParse(temp.GetAttrState("value"), out tempValue);
                         if (tempValue > 0)
                         {
                             tempTotalValues += tempValue;
@@ -345,7 +416,10 @@
                     foreach (var humi in humiSensorList)
                     {
                         double humiValue = 0;
-                        double.TryParse(humi.GetAttrState("humidity"), out humiValue);
+                        if (humi.GetAttribute("temperature") != null)
+                            double.TryParse(humi.GetAttrState("humidity"), out humiValue);
+                        else
+                            double.TryParse(humi.GetAttrState("value"), out humiValue);
                         if (humiValue > 0)
                         {
                             humiTotalValues += humiValue;
@@ -382,6 +456,7 @@
                 btnPm25Values.Width = btnPm25Values.GetTextWidth();
                 environmentalView.AddChidren(btnPm25Values);
                 #endregion
+
 
                 btnSecurityStatus = new Button()
                 {
@@ -422,7 +497,7 @@
                 }
 
 
-                #region msg
+#region msg
                 FrameLayout msgView;
                 msgView = new FrameLayout()
                 {
@@ -477,11 +552,11 @@
 
                 LoadEvent_GotoMessageCenterPage();
 
-                #endregion
+#endregion
 
-                #endregion
+#endregion
 
-                #region 鍔熻兘鍦烘櫙鍒囨崲
+#region 鍔熻兘鍦烘櫙鍒囨崲
 
                 bodyView.AddChidren(new Button() { Height = Application.GetRealHeight(20), BackgroundColor = 0x00000000 });
 
@@ -559,7 +634,8 @@
         /// </summary>
         void LoadContentView()
         {
-            if (!Common.ApiUtlis.Ins.DownloadDataComplete)
+           
+            if (!Common.ApiUtlis.Ins.DownloadDataComplete && !MainPage.NoLoginMode)
             {
                 var waitPage = new Loading();
                 MainPage.BaseView.AddChidren(waitPage);
@@ -649,14 +725,16 @@
         /// </summary>
         void LoadDeviceFunctionControlZone()
         {
-            #region ContextView
+#region ContextView
             deviceFunctionView.RemoveAll();
             functionViews.Clear();
             var rowView = new FrameLayout();
             try
             {
                 int index = 0;
-                var list = FunctionList.List.GetDeviceFunctionList();
+                var list = new List<Function>();
+                list.AddRange(FunctionList.List.GetDeviceFunctionList());
+                list.AddRange(FunctionList.List.groupControls);//鍔犲叆缇ゆ帶
                 foreach (var function in list)
                 {
                     //闊充箰妯″潡鏈変富浠庡叧绯伙紝闇�瑕佺壒娈婂鐞�
@@ -699,7 +777,6 @@
                     }
                     else //鍏朵粬璁惧
                     {
-
                         var btnbg = new Button()
                         {
                             UnSelectedImagePath = "Collection/Functionbg.png",
@@ -709,8 +786,6 @@
                         functionView.AddChidren(btnbg);
                         LoadDeviceFunctionDiv(functionView, function);
 
-
-
                         if (SPK.ArmSensorSpkList().Contains(function.spk))
                         {
                             btnbg.UnSelectedImagePath = "Collection/FunctionOnbg.png";
@@ -718,7 +793,6 @@
                         }
                     }
                     index++;
-
                 }
 
                 if (index == 0)
@@ -753,7 +827,7 @@
                 MainPage.Log("homepage error : " + ex.Message);
             }
             deviceFunctionView.AddChidren(new Button { Height = Application.GetRealHeight(30) });
-            #endregion
+#endregion
 
         }
         /// <summary>
@@ -903,7 +977,7 @@
                 };
 
 
-                if (function.spk == SPK.SenesorMegahealth)
+                if (function.spk == SPK.SenesorMegahealth || function.spk == SPK.SensorMmvPose)
                 {
                     btnIcon.UnSelectedImagePath = "FunctionIcon/Icon/HomeIcon/sensormegahealth.png";
                     btnIcon.SelectedImagePath = "FunctionIcon/Icon/HomeIcon/sensormegahealth.png";
@@ -959,6 +1033,7 @@
                         btnState.Text = function.lastState;
                     }
                 }
+                
                 else
                 {
                     btnIcon.UnSelectedImagePath = $"FunctionIcon/Icon/HomeIcon/{function.IconName}_blue.png";
@@ -991,7 +1066,7 @@
                 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";
@@ -1076,7 +1151,7 @@
                             btnPower.IsSelected = true;
                             status = "on";
                         }
-                       function.SetAttrState("on_off", status);
+                        function.SetAttrState("on_off", status);
                         Dictionary<string, string> dic = new Dictionary<string, string>();
                         dic.Add("on_off", status);
                         Music.SendMethod.Current.SendControlCommand(function, dic);
@@ -1090,7 +1165,7 @@
                     Button btnUp;
                     btnUp = new Button()
                     {
-                        X = Application.GetRealWidth(84+3),
+                        X = Application.GetRealWidth(84 + 3),
                         Y = Application.GetRealWidth(89),
                         Width = Application.GetRealWidth(38),
                         Height = Application.GetRealWidth(38),
@@ -1115,8 +1190,8 @@
                     LoadEvent_ControlClothesHanger(function, btnUp, btnDown);
 
                 }
-                
-                else if (function.spk == SPK.SenesorMegahealth)
+
+                else if (function.spk == SPK.SenesorMegahealth || function.spk == SPK.SensorMmvPose)
                 {
                     //btnIcon.UnSelectedImagePath = $"FunctionIcon/Icon/HomeIcon/{function.IconName}.png";
                     //btnIcon.SelectedImagePath = "FunctionIcon/Icon/HomeIcon/sensormegahealth.png";
@@ -1133,7 +1208,21 @@
                     btnIcon.UnSelectedImagePath = $"FunctionIcon/Icon/HomeIcon/{function.IconName}_white.png";
                     btnIcon.SelectedImagePath = $"FunctionIcon/Icon/HomeIcon/{function.IconName}_white.png";
                 }
-
+                else if (function.spk == SPK.IpCam_Imou)
+                {
+                    btnIcon.UnSelectedImagePath = $"FunctionIcon/Icon/HomeIcon/{function.IconName}_blue.png";
+                    btnIcon.SelectedImagePath = $"FunctionIcon/Icon/HomeIcon/{function.IconName}_blue.png";
+                }
+                else if (function.spk == SPK.VideoDoorLock)
+                {
+                    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
                 {
                     Button btnSwitch;
@@ -1147,7 +1236,6 @@
                         SelectedImagePath = "Public/SwitchOn.png",
                     };
                     view.AddChidren(btnSwitch);
-
                     btnIcon.UnSelectedImagePath = $"FunctionIcon/Icon/HomeIcon/{function.IconName}_blue.png";
                     btnIcon.SelectedImagePath = $"FunctionIcon/Icon/HomeIcon/{function.IconName}_white.png";
                     LoadEvent_SwitchFunction(function, btnSwitch);
@@ -1169,13 +1257,15 @@
                 };
 
 
-                var skipControlPageEvent = new PublicAssmebly().LoadEvent_SkipFunctionControlPage(function, btnCollection, btnName, btnZone);
+                var skipControlPageEvent = new PublicAssmebly().LoadEvent_SkipFunctionControlPage(function, btnCollection, btnName, btnZone, UI2.FuntionControlView.VideoDoorLock.CommonMethod.Comerom.collect,()=> {
+                    this.LoadDeviceFunctionControlZone();//鍒犻櫎璁惧鍚庨噸鏂板埛鏂癠I
+                });
                 view.MouseUpEventHandler = skipControlPageEvent;
                 btnName.MouseUpEventHandler = skipControlPageEvent;
                 btnIcon.MouseUpEventHandler = skipControlPageEvent;
                 btnState.MouseUpEventHandler = skipControlPageEvent;
                 //涓嶉渶瑕佹洿鏂扮姸鎬佺殑鍔ㄨ兘鍒楄〃
-                if(!SPK.NotStatusSpkList.Contains(function.spk))
+                if(!SPK.NotStatusSpkList.Contains(function.spk) || function.spk != SPK.IpCam_Imou)
                 {
                     UpdataFunctionStates(function);
                 }
@@ -1233,11 +1323,11 @@
 
             var btnLogo = new Button()
             {
-                Y = Application.GetRealWidth(85),
+                Y = Application.GetRealHeight(65),
                 UnSelectedImagePath = "FunctionIcon/Acst/LvJianLogo.png",
                 SelectedImagePath = "FunctionIcon/Acst/LvJianLogo.png",
                 Width = Application.GetRealWidth(80),
-                Height = Application.GetRealWidth(37),
+                Height = Application.GetRealHeight(37),
             };
             view.AddChidren(btnLogo);
 
@@ -1257,31 +1347,31 @@
             };
 
 
-            Button btnAcstPower = new Button()
-            {
-                X = Application.GetRealWidth(115),
-                Y = Application.GetRealHeight(70),
-                Width = Application.GetRealWidth(32),
-                Height = Application.GetRealWidth(32),
-                SelectedImagePath = "Public/PowerOpen.png",
-                UnSelectedImagePath = "Public/PowerClose.png",
-                IsSelected = function.trait_on_off.curValue.ToString() == "on",
-            };
-            view.AddChidren(btnAcstPower);
-            btnAcstPower.MouseUpEventHandler = (sender, e) => {
-                btnAcstPower.IsSelected = !btnAcstPower.IsSelected;
-                new System.Threading.Thread(() =>
-                {
-                    string onoff = btnAcstPower.IsSelected ? "on" : "off";
-                    Dictionary<string, string> d = new Dictionary<string, string>();
-                    d.Add(FunctionAttributeKey.OnOff, onoff);
-                    foreach (var temp in FunctionList.List.GetAcstParentList())
-                    {
-                        Control.Ins.SendWriteCommand(temp, d);
-                    }
-                })
-                { IsBackground = true }.Start();
-            };
+            //Button btnAcstPower = new Button()
+            //{
+            //    X = Application.GetRealWidth(115),
+            //    Y = Application.GetRealHeight(70),
+            //    Width = Application.GetRealWidth(32),
+            //    Height = Application.GetRealWidth(32),
+            //    SelectedImagePath = "Public/PowerOpen.png",
+            //    UnSelectedImagePath = "Public/PowerClose.png",
+            //    IsSelected = function.trait_on_off.curValue.ToString() == "on",
+            //};
+            //view.AddChidren(btnAcstPower);
+            //btnAcstPower.MouseUpEventHandler = (sender, e) => {
+            //    btnAcstPower.IsSelected = !btnAcstPower.IsSelected;
+            //    new System.Threading.Thread(() =>
+            //    {
+            //        string onoff = btnAcstPower.IsSelected ? "on" : "off";
+            //        Dictionary<string, string> d = new Dictionary<string, string>();
+            //        d.Add(FunctionAttributeKey.OnOff, onoff);
+            //        foreach (var temp in FunctionList.List.GetAcstParentList())
+            //        {
+            //            Control.Ins.SendWriteCommand(temp, d);
+            //        }
+            //    })
+            //    { IsBackground = true }.Start();
+            //};
            
 
 
@@ -1383,11 +1473,14 @@
 
                 LoadEvent_ControlScene(btnCoverd, btnName, btnZone, btnShowDelay, scene);
 
-                btnSettingIcon.MouseUpEventHandler = (sender, e) => {
-                    Action backAction = () => {
+                btnSettingIcon.MouseUpEventHandler = (sender, e) =>
+                {
+                    Action backAction = () =>
+                    {
                         //LoadSceneFunctionControlZone();
                     };
-                    Action refreshAction = () => {
+                    Action refreshAction = () =>
+                    {
                         btnName.Text = scene.name;
                         btnZone.Text = scene.GetRoomListName();
                         //view.BackgroundImagePath = (scene as Scene).ImagePath;
@@ -1396,7 +1489,7 @@
                     };
                     var aep = new SceneEditPage(scene, backAction);
                     MainPage.BasePageView.AddChidren(aep);
-                    aep.LoadPage( refreshAction);
+                    aep.LoadPage(refreshAction);
                     MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
                 };
                 //鍦烘櫙姝e湪鍊掕鏃舵墽琛屼腑

--
Gitblit v1.8.0