From 3f6685c77beeb12baf840733fb890860f4c26e7c Mon Sep 17 00:00:00 2001 From: mac <user@users-MacBook-Pro.local> Date: 星期四, 25 七月 2024 17:25:59 +0800 Subject: [PATCH] 2024年07月25日17:24:45 --- HDL_ON/Entity/FunctionList.cs | 163 ++++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 132 insertions(+), 31 deletions(-) diff --git a/HDL_ON/Entity/FunctionList.cs b/HDL_ON/Entity/FunctionList.cs index cdd06aa..f91b737 100644 --- a/HDL_ON/Entity/FunctionList.cs +++ b/HDL_ON/Entity/FunctionList.cs @@ -13,6 +13,22 @@ public class FunctionList { 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 FunctionList List { get @@ -40,12 +56,52 @@ /// </summary> public List<Function> Functions = new List<Function>(); /// <summary> + /// 缇ゆ帶鍒楄〃 + /// </summary> + public List<GroupControl> groupControls = new List<GroupControl>(); + + + /// <summary> /// 鏈烘鑷傚垪琛� /// </summary> /// <returns></returns> public List<Function> GetMechanicalArmList() { return Functions.FindAll((obj) => obj.spk == SPK.MechanicalArm); + } + + List<Function> _IpCamImou; + /// <summary> + /// 鑾峰彇鎽勫儚澶村垪琛� + /// </summary> + /// <returns></returns> + public List<Function> GetIpCamImouList() + { + if (_IpCamImou == null) + { + _IpCamImou = Functions.FindAll((obj) => obj.spk == SPK.IpCam_Imou); + if (_IpCamImou.Count > 0) + { +#if __IOS__ + //鍒濆鍖栧ぇ鍗庢憚鍍忓ごsdk + Shared.IOS.HDLCNVRSDK.HDLLCNVRSDK.SharedInstance().InitSDKWithAppKey("HDL-HOME-APP-TEST", "WeJ8TY88vbakCcnvH8G1tDUqzLWY8yss", OnAppConfig.Instance.RequestHttpsHost); + Shared.IOS.HDLCNVRSDK.HDLLCNVRSDK.SharedInstance().AccessToken = UserInfo.Current.LoginTokenString; + Shared.IOS.HDLCNVRSDK.HDLLCNVRSDK.SharedInstance().RefreshToken = UserInfo.Current.RefreshToken; + Shared.IOS.HDLCNVRSDK.HDLLCNVRSDK.SharedInstance().HomeId = DB_ResidenceData.Instance.CurrentRegion.id; + Console.WriteLine("token锛�" + UserInfo.Current.LoginTokenString); + Console.WriteLine("token锛�" + UserInfo.Current.RefreshToken); + Shared.IOS.HDLCNVRSDK.HDLLCNVRSDK.SharedInstance().RefreshDeviceList(); + + + +#else + Com.Utils.HdlToLcUtils.Instance.InitData(Shared.Application.Activity, "HDL-HOME-APP-TEST", "WeJ8TY88vbakCcnvH8G1tDUqzLWY8yss", OnAppConfig.Instance.RequestHttpsHost); + Com.Utils.HdlToLcUtils.Instance.HomeId = DB_ResidenceData.Instance.CurrentRegion.id; + Com.Utils.HdlToLcUtils.Instance.Token = UserInfo.Current.AccessToken; +#endif + } + } + return _IpCamImou; } /// <summary> @@ -55,7 +111,7 @@ /// <returns></returns> public List<Function> GetAcstParentList() { - return Functions.FindAll((obj) => obj.spk == SPK.AcstParent); + return Functions.FindAll((obj) => obj.spk == SPK.AcstParent);//.OrderByDescending(o=>o.controlCounter).ToList() } /// <summary> @@ -87,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() @@ -107,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)); } @@ -136,15 +220,7 @@ /// </summary> public List<Function> InverterList() { - //get - //{ - // return _inverterList; - //} - //set - //{ - // _inverterList = value; - //} - return Functions.FindAll((obj) => obj.spk == SPK.Inverter); + return Functions.FindAll((obj) => obj.spk == SPK.Inverter || obj.spk == SPK.InverterRst); } #region 瀹剁數鍒楄〃 electricals /// <summary> @@ -152,7 +228,7 @@ /// </summary> public List<Function> GetElectricals() { - var spkList = SPK.ElectricalSpkList(); + var spkList = SPK.ElectricalSpkList(); return Functions.FindAll((obj) => spkList.Contains(obj.spk)); } @@ -164,7 +240,7 @@ { return Functions.FindAll((obj) => obj.spk == SPK.IrModule); } - #endregion +#endregion /// <summary> /// 闊充箰鍒楄〃 @@ -201,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)); @@ -292,16 +371,24 @@ if (checkRepeat == true) { //妫�娴嬮噸澶� - for (int i = 0; i < Functions.Count; i++) + var same = Functions.FindAll((obj) => obj.deviceId == tempFunction.deviceId); + if(same!= null) { - if (Functions[i].deviceId == tempFunction.deviceId) + foreach(var sameTemp in same) { - //鍏堢Щ闄ゆ帀鍐嶅姞 - Functions.RemoveAt(i); - Functions.Add(tempFunction); - return; + Functions.Remove(sameTemp); } } + //for (int i = 0; i < Functions.Count; i++) + //{ + // if (Functions[i].deviceId == tempFunction.deviceId) + // { + // //鍏堢Щ闄ゆ帀鍐嶅姞 + // Functions.RemoveAt(i); + // Functions.Add(tempFunction); + // return; + // } + //} } Functions.Add(tempFunction); } @@ -319,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; } @@ -343,6 +430,9 @@ catch (Exception ex) { MainPage.Log($"IniFunctionList error : {ex.Message}"); + } + finally + { } } @@ -402,10 +492,22 @@ /// <summary> /// 娓呯┖璁惧鍔熻兘鍒楄〃 /// </summary> - public void Clear() + public void ClearDatas() { - Functions = new List<Function>(); - _FunctionList = null; + try + { + if (_IpCamImou != null) + { + _IpCamImou.Clear(); + _IpCamImou = null; + } + _FunctionList = new FunctionList(); + } + catch (Exception ex) + { + MainPage.Log($"娓呯悊FunctionList寮傚父:{ex.Message}"); + _FunctionList = null; + } } /// <summary> @@ -428,7 +530,6 @@ /// <summary> /// 鍒犻櫎鍦烘櫙 - /// todo /// </summary> public void DeleteScene(Scene scene,bool upSevser) { @@ -497,14 +598,14 @@ { if (lockReadFunctionStatus) { - MainPage.Log($"澶氭杩涘叆--杩斿洖"); + MainPage.Log($"澶氭杩涘叆--杩斿洖1"); return; } new Thread(() => { if (lockReadFunctionStatus) { - MainPage.Log($"澶氭杩涘叆--杩斿洖"); + MainPage.Log($"澶氭杩涘叆--杩斿洖2"); return; } MainPage.Log($"杩涘叆--璇诲彇"); @@ -582,7 +683,7 @@ { IsBackground = true }.Start(); } - #region 鍦烘櫙鐩稿叧 +#region 鍦烘櫙鐩稿叧 /// <summary> /// 娣诲姞鍦烘櫙 /// </summary> @@ -614,9 +715,9 @@ } return revPack.Code; } - #endregion +#endregion - #region 鏀惰棌鍔熻兘 +#region 鏀惰棌鍔熻兘 /// <summary> /// 鏀惰棌鍦烘櫙 @@ -642,14 +743,14 @@ return result; } - #endregion +#endregion - #region +#region - #endregion +#endregion } } -- Gitblit v1.8.0