From f75a1ba69f5922cab8d2ab43f4447b74bd9b9ea9 Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期四, 26 五月 2022 09:52:34 +0800
Subject: [PATCH] 备份

---
 HDL_ON/Entity/Function/Function.cs |  140 ++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 122 insertions(+), 18 deletions(-)

diff --git a/HDL_ON/Entity/Function/Function.cs b/HDL_ON/Entity/Function/Function.cs
index 6e3b439..a142825 100644
--- a/HDL_ON/Entity/Function/Function.cs
+++ b/HDL_ON/Entity/Function/Function.cs
@@ -88,7 +88,7 @@
         {
             var attrs = new List<string>();
 
-            foreach(var attr in  attributes)
+            foreach (var attr in attributes)
             {
                 attrs.Add(attr.key);
             }
@@ -111,12 +111,34 @@
         /// <returns></returns>
         public string GetAttrState(string key)
         {
+            //涓�绾ф煡璇eyValue鍊�
             var attrState = attributes.Find((s) => s.key == key.ToString());
-            if (attrState == null || string.IsNullOrEmpty(attrState.state))
+            if (attrState == null)
             {
                 return "0";
             }
+            if (string.IsNullOrEmpty(attrState.state))
+            {
+                //浜岀骇鏌ヨkeyValue鍊�
+                return GetOriginalState(key);
+            }
             return attrState.state;
+        }
+
+        /// <summary>
+        /// 鑾峰彇鍒濆鐘舵��
+        /// 榛樿鍊硷細0
+        /// </summary>
+        /// <param name="key">璇泙瀹氫箟鐨勫睘鎬у��</param>
+        /// <returns></returns>
+        public string GetOriginalState(string key)
+        {
+            var originalState = status.Find((s) => s.key == key.ToString());
+            if (originalState == null || string.IsNullOrEmpty(originalState.value))
+            {
+                return "0";
+            }
+            return originalState.value;
         }
         /// <summary>
         /// 璁剧疆灞炴�х姸鎬�
@@ -327,6 +349,26 @@
         public List<string> roomIds = new List<string>();
 
         /// <summary>
+        /// 瀛樺偍灞炴�ч厤缃�
+        /// 鐜浼犳劅鍣ㄧ殑绛夌骇
+        /// </summary>
+        public List<AttrKeyConfig> attrKeyConfigs = new List<AttrKeyConfig>();
+
+        public List<AttrKeyConfig> GetAttrKeyConfigs(string key)
+        {
+            if (attrKeyConfigs.Count == 0)
+            {
+                switch (key)
+                {
+                    case "pm2.5":
+
+                        break;
+                }
+            }
+            return attrKeyConfigs;
+        }
+
+        /// <summary>
         /// bus鍗忚鏁版嵁鏍煎紡
         /// 浣跨敤A鍗忚鎺у埗鏃讹紝鏀瑰睘鎬т负绌�
         /// </summary>
@@ -339,6 +381,11 @@
         /// 鏄惁鍦ㄧ嚎
         /// </summary>
         public bool online = true;
+
+        /// <summary>
+        /// 鐜闈㈡澘 缁戝畾鐨� 璁惧鐩爣sid鍒楄〃
+        /// </summary>
+        public List<string> targetSids = new List<string>();
         /// <summary>
         /// 浜戠鏁版嵁鍒涘缓鐨勬椂闂�
         /// </summary>
@@ -381,7 +428,7 @@
                         _trait_on_off.curValue = "off";
                     }
                 }
-                if(_trait_on_off.curValue.ToString() != "on"&& _trait_on_off.curValue.ToString() != "off" && _trait_on_off.curValue.ToString() != "stop")
+                if (_trait_on_off.curValue.ToString() != "on" && _trait_on_off.curValue.ToString() != "off" && _trait_on_off.curValue.ToString() != "stop")
                 {
                     _trait_on_off.curValue = "off";
                 }
@@ -448,7 +495,7 @@
                         collect = !collect;
                         IMessageCommon.Current.ShowErrorInfoAlter(result);
                     });
-                }else
+                } else
                 {
                     Application.RunOnMainThread(() =>
                     {
@@ -473,7 +520,7 @@
                 }
                 else
                 {
-                    result = ApiUtlis.Ins.HttpRequest.UnbindDeviceToRoom(deviceId,roomId);
+                    result = ApiUtlis.Ins.HttpRequest.UnbindDeviceToRoom(deviceId, roomId);
                 }
                 //鎻愮ず閿欒
                 if (result != StateCode.SUCCESS)
@@ -516,9 +563,9 @@
                 {
                     roomNameList += ",";
                 }
-                roomNameList += findRoom.floorName +"-"+ findRoom.roomName;
+                roomNameList += findRoom.floorName + "-" + findRoom.roomName;
             }
-            if (roomNameList == "" )
+            if (roomNameList == "")
             {
                 roomNameList = Language.StringByID(StringId.WholeZone);
             }
@@ -631,14 +678,14 @@
                     case FunctionAttributeKey.Percent:
                     case FunctionAttributeKey.CCT:
                     case FunctionAttributeKey.RGB:
-                    //case FunctionAttributeKey.FadeTime:
+                        //case FunctionAttributeKey.FadeTime:
                         if (attr.curValue.ToString() == "{}")
                         {
                             if (attr.key == FunctionAttributeKey.OnOff)
                             {
                                 attr.curValue = "off";
                             }
-                            else if (attr.key == FunctionAttributeKey.Mode )
+                            else if (attr.key == FunctionAttributeKey.Mode)
                             {
                                 if (DB_ResidenceData.Instance.GatewayType == 0)
                                 {
@@ -656,7 +703,7 @@
                                     }
                                 }
                             }
-                            else 
+                            else
                             {
                                 attr.curValue = "0";
                             }
@@ -709,7 +756,7 @@
             return sendDataObj;
         }
 
-        public AlinkDoorlockObj GetGatewayAlinkDoorlockData(string userId,string extStr)
+        public AlinkDoorlockObj GetGatewayAlinkDoorlockData(string userId, string extStr)
         {
             var sendDataObj = new AlinkDoorlockObj();
             sendDataObj.id = Control.Ins.msg_id.ToString();
@@ -1140,7 +1187,7 @@
                 try
                 {
                     return Convert.ToByte(loopId, 16);
-                }catch
+                } catch
                 {
                     return 0;
                 }
@@ -1244,7 +1291,7 @@
         /// <summary>
         /// 锛堢孩澶栫┖璋冿級
         /// </summary>
-        public const string AcIr= "ir.ac";
+        public const string AcIr = "ir.ac";
         /// <summary>
         /// 绌鸿皟
         /// </summary>
@@ -1420,6 +1467,10 @@
         public const string SenesorMegahealth = "sensor.megahealth";
         public const string SenesorMegahealth2 = "sensor.megahealth.zg";
         /// <summary>
+        /// 绱ф�ュ懠鍙�
+        /// </summary>
+        public const string SensorHelp = "sensor.help";
+        /// <summary>
         /// 瀹夐槻浼犳劅鍣╯pk鍒楄〃
         /// </summary>
         /// <returns></returns>
@@ -1442,6 +1493,19 @@
             return spkList;
         }
         #endregion
+
+        public const string PanelEnvironment = "screen.panel";
+        /// <summary>
+        /// 闈㈡澘spk鍒楄〃
+        /// </summary>
+        /// <returns></returns>
+        public static List<string> PanelSpkList()
+        {
+            var spkList = new List<string>();
+            spkList.Add(SensorHelp);
+            spkList.Add(PanelEnvironment);
+            return spkList;
+        }
 
         #region 鐜浼犳劅鍣�
         /// <summary>
@@ -1802,9 +1866,49 @@
     //}
 
 
-public class VersionInfo
-{
-    public string module = "";
-    public string version = "";
-}
+    public class VersionInfo
+    {
+        public string module = "";
+        public string version = "";
+    }
+
+    /// <summary>
+    /// 鍔熻兘灞炴�х浉鍏抽厤缃俊鎭�
+    /// 鐜浼犳劅鍣ㄧ瓑绾т娇鐢�
+    /// </summary>
+    public class AttrKeyConfig
+    {
+        public string key = string.Empty;
+        /// <summary>
+        /// 閰嶇疆绫诲瀷
+        /// interval 鍖洪棿
+        /// 鐩墠鍙敮鎸侊細interval
+        /// </summary>
+        public string type = string.Empty;
+
+        public string unit = string.Empty;
+
+        public List<AttrKeyInfo> configs = new List<AttrKeyInfo>();
+
+    }
+
+    public class AttrKeyInfo
+    {
+        /// <summary>
+        /// 
+        /// </summary>
+        public string start = string.Empty;
+        /// <summary>
+        /// 
+        /// </summary>
+        public string end = string.Empty;
+        /// <summary>
+        /// 
+        /// </summary>
+        public string color = string.Empty;
+        /// <summary>
+        /// 鎻忚堪
+        /// </summary>
+        public string desc = string.Empty;
+    }
 }

--
Gitblit v1.8.0