From e1a8f2f7e4d850beedeb1469610b878c1427e976 Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期三, 15 十二月 2021 09:01:53 +0800
Subject: [PATCH] 更新

---
 HDL_ON/UI/UI2/1-HomePage/HomePageBLL.cs |  100 ++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 72 insertions(+), 28 deletions(-)

diff --git a/HDL_ON/UI/UI2/1-HomePage/HomePageBLL.cs b/HDL_ON/UI/UI2/1-HomePage/HomePageBLL.cs
index 4a678e3..21ac7a8 100644
--- a/HDL_ON/UI/UI2/1-HomePage/HomePageBLL.cs
+++ b/HDL_ON/UI/UI2/1-HomePage/HomePageBLL.cs
@@ -19,8 +19,17 @@
                 if (bodyView != null)
                 {
                     bodyView.btnTempValues.Text = MainPage.cityInfo.temperature == null ? "--" : MainPage.cityInfo.temperature + "掳";
+                    bodyView.btnTempValues.Width = bodyView.btnTempValues.GetTextWidth();
                     bodyView.btnHumidityValues.Text = MainPage.cityInfo.humidity == null ? "--" : MainPage.cityInfo.humidity + "%";
+                    bodyView.btnHumidityValues.Width = bodyView.btnHumidityValues.GetTextWidth();
                     bodyView.btnPm25Values.Text = MainPage.cityInfo.pm25 == null ? "--" : MainPage.cityInfo.pm25;
+                    bodyView.btnPm25Values.Width = bodyView.btnPm25Values.GetTextWidth();
+                    bodyView.btnIndoorTempValues.X = bodyView.btnTempValues.Right;
+                    bodyView.btnHumidityIcon.X = bodyView.btnIndoorTempValues.Right + Application.GetRealWidth(8);
+                    bodyView.btnHumidityValues.X = bodyView.btnHumidityIcon.Right + Application.GetRealWidth(4);
+                    bodyView.btnIndoorHumiValues.X = bodyView.btnHumidityValues.Right;
+                    bodyView.btnPm25Icon.X = bodyView.btnIndoorHumiValues.Right + Application.GetRealWidth(4);
+                    bodyView.btnPm25Values.X = bodyView.btnPm25Icon.Right + Application.GetRealWidth(4);
                 }
             });
         }
@@ -30,21 +39,39 @@
         /// </summary>
         public static void LoadEvent_RefreshSecurityStatus()
         {
-            Application.RunOnMainThread(() =>
+            try
             {
-                if (bodyView != null)
+                Application.RunOnMainThread(() =>
                 {
-                    //foreach(var temp in FunctionList.List.securities)
-                    //{
-                    //    if(temp.status == "enable")
-                    //    {
-                    //        bodyView.btnSecurityStatus.IsSelected = true;
-                    //        return;
-                    //    }
-                    //}
-                    bodyView.btnSecurityStatus.IsSelected = SecurityCenter.Ins.InDefense;
-                }
-            });
+                    if (bodyView != null)
+                    {
+                        lock (FunctionList.List.securities)
+                        {
+                            bodyView.btnSecurityStatus.IsSelected = false;
+                            foreach (var temp in FunctionList.List.securities)
+                            {
+                                if (temp.status == "enable")
+                                {
+                                    if (temp.alarm)
+                                    {
+                                        bodyView.btnSecurityStatus.SelectedImagePath = "Collection/DefenseAlarmIcon.png";
+                                    }
+                                    else
+                                    {
+                                        bodyView.btnSecurityStatus.SelectedImagePath = "Collection/DefenseStatusIcon.png";
+                                    }
+                                    bodyView.btnSecurityStatus.IsSelected = true;
+                                    return;
+                                }
+                            }
+                        }
+                    }
+                });
+            }
+            catch (Exception ex)
+            {
+                MainPage.Log($"瀹夐槻涓婚〉鏇存柊寮傚父锛歿ex.Message}");
+            }
         }
 
         /// <summary>
@@ -68,7 +95,7 @@
                                 name = enviTemp.name,
                                 sid = enviTemp.sid,
                                 deviceId = enviTemp.deviceId,
-                                attributes = new List<FunctionAttributes> { new FunctionAttributes { key = "value", state = tempAttr.state, curValue = tempAttr.curValue } },
+                                attributes = new List<FunctionAttributes> { new FunctionAttributes { key = "humidity", state = tempAttr.state, curValue = tempAttr.curValue } },
                             };
                             humiSensorList.Add(newTemp);
                         }
@@ -78,7 +105,7 @@
                     foreach (var temp in humiSensorList)
                     {
                         double humiValue = 0;
-                        double.TryParse(temp.GetAttrState(FunctionAttributeKey.Value), out humiValue);
+                        double.TryParse(temp.GetAttrState("humidity"), out humiValue);
                         if(humiValue > 0)
                         {
                             humiTotalValues += humiValue;
@@ -90,6 +117,12 @@
                         bodyView.btnIndoorHumiValues.Text = "/" + (humiTotalValues /humiTotalCount).ToString("0")+ "%";
                     }
                     bodyView.btnIndoorHumiValues.Width = bodyView.btnIndoorHumiValues.GetTextWidth();
+
+                    bodyView.btnHumidityIcon.X = bodyView.btnIndoorTempValues.Right + Application.GetRealWidth(8);
+                    bodyView.btnHumidityValues.X = bodyView.btnHumidityIcon.Right + Application.GetRealWidth(4);
+                    bodyView.btnIndoorHumiValues.X = bodyView.btnHumidityValues.Right;
+                    bodyView.btnPm25Icon.X = bodyView.btnIndoorHumiValues.Right + Application.GetRealWidth(4);
+                    bodyView.btnPm25Values.X = bodyView.btnPm25Icon.Right + Application.GetRealWidth(4);
                 }
             });
         }
@@ -115,7 +148,7 @@
                                 name = enviTemp.name,
                                 sid = enviTemp.sid,
                                 deviceId = enviTemp.deviceId,
-                                attributes = new List<FunctionAttributes> { new FunctionAttributes { key = "value", state = tempAttr.state, curValue = tempAttr.curValue } },
+                                attributes = new List<FunctionAttributes> { new FunctionAttributes { key = "temperature", state = tempAttr.state, curValue = tempAttr.curValue } },
                             };
                             tempSensorList.Add(newTemp);
                         }
@@ -125,7 +158,7 @@
                     foreach (var temp in tempSensorList)
                     {
                         double tempValue = 0;
-                        double.TryParse(temp.GetAttrState(FunctionAttributeKey.Value), out tempValue);
+                        double.TryParse(temp.GetAttrState("temperature"), out tempValue);
                         if (tempValue > 0)
                         {
                             tempTotalValues += tempValue;
@@ -137,6 +170,12 @@
                         bodyView.btnIndoorTempValues.Text = "/" + (tempTotalValues /tempTotalCount).ToString("0.0")+ "掳";
                     }
                     bodyView.btnIndoorTempValues.Width = bodyView.btnIndoorTempValues.GetTextWidth();
+
+                    bodyView.btnHumidityIcon.X = bodyView.btnIndoorTempValues.Right + Application.GetRealWidth(8);
+                    bodyView.btnHumidityValues.X = bodyView.btnHumidityIcon.Right + Application.GetRealWidth(4);
+                    bodyView.btnIndoorHumiValues.X = bodyView.btnHumidityValues.Right;
+                    bodyView.btnPm25Icon.X = bodyView.btnIndoorHumiValues.Right + Application.GetRealWidth(4);
+                    bodyView.btnPm25Values.X = bodyView.btnPm25Icon.Right + Application.GetRealWidth(4);
                 }
             });
         }
@@ -203,7 +242,7 @@
             btn.MouseUpEventHandler += (sender, e) =>
             {
                 function.collect = false;
-                if (function.Spk_Prefix == FunctionCategory.Music)//澶勭悊闊充箰涓讳粠鍏崇郴
+                if (SPK.MusicSpkList().Contains(function.spk))//澶勭悊闊充箰涓讳粠鍏崇郴
                 {
                     if ((function as Music.A31MusicModel).ServerClientType == 1)
                     {
@@ -248,7 +287,6 @@
                 btnChangeScene.IsBold = false;
                 CurShowTypeIsFunction = true;
                 contentView.PageIndex = 0;
-
             };
 
             //var client = new BlufiClient();
@@ -280,7 +318,6 @@
                     btnChangeScene.TextSize = CSS.CSS_FontSize.TextFontSize;
                     btnChangeScene.IsSelected = false;
                     btnChangeScene.IsBold = false;
-                    CurShowTypeIsFunction = true;
                 }
                 else
                 {
@@ -290,7 +327,6 @@
                     btnChangeFunction.TextSize = CSS.CSS_FontSize.TextFontSize;
                     btnChangeFunction.IsSelected = false;
                     btnChangeFunction.IsBold = false;
-                    CurShowTypeIsFunction = false;
                 }
             };
         }
@@ -314,7 +350,15 @@
                                 if (function.spk == SPK.CurtainRoller || function.spk == SPK.CurtainShades || function.spk == SPK.CurtainTrietex ||
                                 function.spk == SPK.CurtainSwitch)//绐楀笜璁惧鏍规嵁鐧惧垎姣斿垽鏂紑鍏崇姸鎬�
                                 {
-                                    state = function.GetAttrState(FunctionAttributeKey.Percent) != "0";
+                                    if (function.GetAttribute(FunctionAttributeKey.Percent) != null)
+                                    {
+                                        state = function.GetAttrState(FunctionAttributeKey.Percent) != "0";
+                                    }else
+                                    {
+                                        if (function.GetAttrState(FunctionAttributeKey.OnOff) == "stop")
+                                            return;
+                                        state = function.trait_on_off.curValue.ToString() == "on";
+                                    }
                                 }
                                 else
                                 {
@@ -328,7 +372,7 @@
                                         btn.IsSelected = state;
                                         if (btn.Tag != null && btn.Tag.ToString() == "state")
                                         {
-                                            if (function.Spk_Prefix == FunctionCategory.Music)
+                                            if (SPK.MusicSpkList().Contains(function.spk))
                                             {
                                                 btn.Text = (function as Music.A31MusicModel).A31PlayStatus.Title;
                                             }
@@ -618,12 +662,12 @@
                     {
                         //鏈鐨勬秷鎭垪琛�
                         var unreadList = new List<PushMessageInfo>();
+                       
+                        var pushMessageInfoList = Newtonsoft.Json.JsonConvert.DeserializeObject<PushMessageInfoList>(result.Data.ToString());
 
-                        var pushMessageInfoList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<PushMessageInfo>>(result.Data.ToString());
-
-                        if (pushMessageInfoList != null && pushMessageInfoList.Count > 0)
+                        if (pushMessageInfoList != null && pushMessageInfoList.list != null && pushMessageInfoList.list.Count > 0)
                         {
-                            foreach (var info in pushMessageInfoList)
+                            foreach (var info in pushMessageInfoList.list)
                             {
                                 if (!info.isRead)
                                 {
@@ -643,7 +687,7 @@
                             {
                                 Application.RunOnMainThread(() =>
                                 {
-                                    ShowMesBtnState(pushMessageInfoList[0], true);
+                                    ShowMesBtnState(pushMessageInfoList.list[0], true);
                                 });
                             }
                         }

--
Gitblit v1.8.0