mac
2024-07-25 3f6685c77beeb12baf840733fb890860f4c26e7c
HDL_ON/Entity/FunctionList.cs
@@ -14,20 +14,20 @@
    {
        static FunctionList _FunctionList;
        public static void ClearData()
        {
            try
            {
                _FunctionList._IpCamImou = null;
                _FunctionList.ClearDatas();
                _FunctionList = null;
            }
            catch (Exception ex)
            {
                MainPage.Log($"清理FunctionList异常:{ex.Message}");
                _FunctionList = null;
            }
        }
        //public static void ClearData()
        //{
        //    try
        //    {
        //        _FunctionList._IpCamImou = null;
        //        _FunctionList.ClearDatas();
        //        _FunctionList = null;
        //    }
        //    catch (Exception ex)
        //    {
        //        MainPage.Log($"清理FunctionList异常:{ex.Message}");
        //        _FunctionList = null;
        //    }
        //}
        public static FunctionList List
        {
@@ -55,6 +55,12 @@
        /// 功能列表
        /// </summary>
        public List<Function> Functions = new List<Function>();
        /// <summary>
        /// 群控列表
        /// </summary>
        public List<GroupControl> groupControls = new List<GroupControl>();
        /// <summary>
        /// 机械臂列表
        /// </summary>
@@ -137,6 +143,15 @@
            return Functions.FindAll((obj) => spkList.Contains(obj.spk));
        }
        /// <summary>
        /// 序列列表
        /// </summary>
        /// <returns></returns>
        public List<Function> GetSeries()
        {
            return Functions.FindAll((obj) => obj.spk == SPK.CommonSeries);
        }
        /// <summary>
        /// 窗帘列表
        /// </summary>
        public List<Function> GetCurtainList()
@@ -157,6 +172,25 @@
        public List<Function> GetDoorLockList()
        {
            var spkList = SPK.GetDoorLockSPKList();
            return Functions.FindAll((obj) => spkList.Contains(obj.spk));
        }
        /// <summary>
        /// 获取萤石视频门锁
        /// </summary>
        /// <returns></returns>
        public List<Function> GetVideoDoorLockList()
        {
            var spkList = SPK.GetVideoDoorLockSPKList();
            return Functions.FindAll((obj) => spkList.Contains(obj.spk));
        }
        /// <summary>
        /// 获取影音中控列表
        /// </summary>
        /// <returns></returns>
        public List<Function> GetVideoControlsList()
        {
            var spkList = SPK.GetVideoControlsSPKList();
            return Functions.FindAll((obj) => spkList.Contains(obj.spk));
        }
@@ -194,7 +228,7 @@
        /// </summary>
        public List<Function> GetElectricals()
        {
            var spkList = SPK.ElectricalSpkList();
        var spkList = SPK.ElectricalSpkList();
            return Functions.FindAll((obj) => spkList.Contains(obj.spk));
        }
    
@@ -243,10 +277,13 @@
            var spkList = new List<string>()
            {
                SPK.SensorPir,
                SPK.SensorPirHold,
                SPK.SensorDoorWindow,
                SPK.SensorSmoke,
                SPK.SensorWater,
                SPK.SensorGas,
                SPK.SensorDryContact,
                SPK.SensorDryContact2,
            };
            return Functions.FindAll((obj) => spkList.Contains(obj.spk));
@@ -369,7 +406,7 @@
                    var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<SecurityAlarm>(dataString);
                    if (temp == null)
                    {
                        MainPage.Log("null");
                        MainPage.Log("SecurityData_null");
                        FileUtlis.Files.DeleteFile(filePath);
                        return;
                    }
@@ -561,14 +598,14 @@
        {
            if (lockReadFunctionStatus)
            {
                MainPage.Log($"多次进入--返回");
                MainPage.Log($"多次进入--返回1");
                return;
            }
            new Thread(() =>
            {
                if (lockReadFunctionStatus)
                {
                    MainPage.Log($"多次进入--返回");
                    MainPage.Log($"多次进入--返回2");
                    return;
                }
                MainPage.Log($"进入--读取");