From bbcd6c2017762f9a0e6cf0ac6466bbf78f593b14 Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期一, 19 四月 2021 09:36:40 +0800
Subject: [PATCH] Merge branch 'wxr4' into temp-wxr

---
 HDL_ON/Entity/Function/Security.cs |  234 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 234 insertions(+), 0 deletions(-)

diff --git a/HDL_ON/Entity/Function/Security.cs b/HDL_ON/Entity/Function/Security.cs
new file mode 100644
index 0000000..332764e
--- /dev/null
+++ b/HDL_ON/Entity/Function/Security.cs
@@ -0,0 +1,234 @@
+锘縰sing System;
+using System.Collections.Generic;
+using HDL_ON.Common;
+
+namespace HDL_ON.Entity
+{
+    public class Security
+    {
+        /// <summary>
+        /// 瀹夐槻sid
+        /// </summary>
+        public string sid;
+        /// <summary>
+        /// 瀹夐槻鍚嶇О
+        /// </summary>
+        public string name;
+        /// <summary>
+        /// 瀹夐槻寤舵椂
+        /// </summary>
+        public string delay;
+        /// <summary>
+        /// 鐘舵�� enable甯冮槻銆乨isable鎾掗槻
+        /// </summary>
+        public string status;
+        /// <summary>
+        /// 绫诲瀷
+        /// "all"--鍏ㄥ畢甯冮槻锛�
+        /// "normal"--鏅�氭ā寮�,
+        /// "all_day":24灏忔椂,
+        /// "mute"锛氶潤闊�
+        /// </summary>
+        public string type;
+        /// <summary>
+        /// 鏇存柊鏃堕棿
+        /// </summary>
+        public string modifyTime;
+        /// <summary>
+        /// 瀹夐槻杈撳叆鏉′欢
+        /// </summary>
+        public List<SecurityInput> input = new  List<SecurityInput>();
+        /// <summary>
+        /// 瀹夐槻杈撳嚭
+        /// </summary>
+        public List<SecurityOutput> output = new List<SecurityOutput>();
+        /// <summary>
+        /// 瀹夐槻閫氱煡閰嶇疆
+        /// </summary>
+        public SecurityNoticeConfig noticeConfig = new SecurityNoticeConfig();
+        /// <summary>
+        /// 瀹夐槻鎺ㄩ�侀厤缃�
+        /// </summary>
+        public List<SecurityPushConfig> pushConfigs = new List<SecurityPushConfig>();
+
+        /// <summary>
+        /// 鏁版嵁瀛樺偍鏂囦欢鍚�
+        /// </summary>
+        [Newtonsoft.Json.JsonIgnore]
+        public string savePath
+        {
+            get
+            {
+                return "SecurityData_" + sid;
+            }
+        }
+        /// <summary>
+        /// 淇濆瓨鏂囦欢
+        /// </summary>
+        public void SaveFile()
+        {
+            var ssd = System.Text.Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(this));
+            FileUtlis.Files.WriteFileByBytes(savePath, ssd);
+        }
+    }
+
+    /// <summary>
+    /// 瀹夐槻鐘舵�侀厤缃�
+    /// </summary>
+    public class SecurityState
+    {
+        /// <summary>
+        /// 瀹夐槻浜戠id
+        /// </summary>
+        public string userSecurityId;
+        /// <summary>
+        /// 缃戝叧id 缃戝叧id 濡傛灉浼犵殑鏄痵id璇ュ瓧娈甸渶瑕佷紶
+        /// </summary>
+        public string gatewayId;
+        /// <summary>
+        /// 瀹夐槻sid
+        /// </summary>
+        public string sid;
+        /// <summary>
+        /// 鐘舵�� enable甯冮槻銆乨isable鎾掗槻
+        /// </summary>
+        public string status;
+    }
+
+    /// <summary>
+    /// 瀹夐槻bypass璁剧疆瀵硅薄
+    /// </summary>
+    public class SecurityBypass
+    {
+        /// <summary>
+        /// 瀹夐槻浜戠id
+        /// </summary>
+        public string userSecurityId;
+        /// <summary>
+        /// 杈撳叆璁惧bypass鐘舵�佸垪琛�
+        /// </summary>
+        public List<SecurityBypassInput> input = new List<SecurityBypassInput>();
+        
+    }
+    /// <summary>
+    /// 杈撳叆璁惧bypass鐘舵��
+    /// </summary>
+    public class SecurityBypassInput
+    {
+        /// <summary>
+        /// 璁惧sid
+        /// </summary>
+        public string sid;
+        /// <summary>
+        /// true:鍚敤
+        /// false:鍋滅敤锛堜复鏃禸ypass锛�
+        /// </summary>
+        public string bypass;
+    }
+
+
+    /// <summary>
+    /// 瀹夐槻杈撳叆
+    /// </summary>
+public class SecurityInput
+    {
+        /// <summary>
+        /// 杈撳叆鏉′欢锛堝姛鑳斤級鐨剆id
+        /// 杈撳叆璁惧sid
+        /// </summary>
+        public string sid;
+        /// <summary>
+        /// Bypass璁剧疆 true:鍚敤涓�乫alse:涓存椂bypass涓�
+        /// </summary>
+        public string bypass;
+        /// <summary>
+        /// 瀹夐槻杈撳叆鏉′欢
+        /// </summary>
+        public List<SecurityInputCondition> condition = new List<SecurityInputCondition>();
+        
+    }
+    /// <summary>
+    /// 瀹夐槻杈撳叆鏉′欢
+    /// </summary>
+    public class SecurityInputCondition
+    {
+        /// <summary>
+        /// 灞炴��(鏉′欢)鍚嶇О
+        /// </summary>
+        public string key;
+        /// <summary>
+        /// 鎿嶄綔锛堟墽琛岋級鏉′欢
+        /// < 灏忎簬 > 澶т簬  ==绛変簬
+        /// </summary>
+        public string comparator;
+        /// <summary>
+        /// 鏉′欢鍊肩被鍨�
+        /// int \float\ string
+        /// </summary>
+        public string data_type = "string";
+        /// <summary>
+        /// 鍊�	
+        /// </summary>
+        public string value;
+    }
+
+    /// <summary>
+    /// 瀹夐槻杈撳嚭
+    /// </summary>
+    public class SecurityOutput
+    {
+        /// <summary>
+        /// 鎺у埗鐩爣绫诲瀷
+        /// 璁惧锛�0锛屽満鏅�1锛岃嚜鍔ㄥ寲2
+        /// </summary>
+        public string target_type;
+        /// <summary>
+        /// 杈撳嚭鐩爣鐨剆id
+        /// </summary>
+        public string sid;
+        /// <summary>
+        /// 瀹夐槻杈撳嚭鐘舵��
+        /// </summary>
+        public List<SecurityOutputStatus> status = new List<SecurityOutputStatus>();
+    }
+    /// <summary>
+    /// 瀹夐槻杈撳嚭鐘舵��
+    /// </summary>
+    public class SecurityOutputStatus
+    {
+        public string key;
+        public string value;
+    }
+
+    /// <summary>
+    /// 瀹夐槻閫氱煡閰嶇疆
+    /// </summary>
+    public class SecurityNoticeConfig
+    {
+        /// <summary>
+        /// 鏄惁寮�鍚�氱煡
+        /// </summary>
+        public bool enable;
+        /// <summary>
+        /// 閫氱煡鍐呭
+        /// </summary>
+        public string noticeContent;
+        
+    }
+    /// <summary>
+    /// 瀹夐槻鎺ㄩ�侀厤缃�
+    /// </summary>
+    public class SecurityPushConfig
+    {
+        /// <summary>
+        /// 鎺ㄩ�佹柟寮�
+        /// APP:app push
+        /// SMS:鐭俊
+        /// </summary>
+        public string pushMethod;
+        /// <summary>
+        /// 鎺ㄩ�佺洰鏍�
+        /// </summary>
+        public List<string> pushTarget = new List<string>();
+    }
+}

--
Gitblit v1.8.0