From 452e8cef1c740d18ee398be6971d9952e41dbd4a Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期三, 12 四月 2023 16:11:50 +0800
Subject: [PATCH] 1
---
HDL_ON/Entity/FunctionList.cs | 133 +++++++++++++++++++++++++++++++++++---------
1 files changed, 106 insertions(+), 27 deletions(-)
diff --git a/HDL_ON/Entity/FunctionList.cs b/HDL_ON/Entity/FunctionList.cs
index cdd06aa..aecf05a 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>
@@ -109,6 +165,15 @@
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>
/// 鏂伴鍒楄〃
@@ -136,15 +201,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>
@@ -164,7 +221,7 @@
{
return Functions.FindAll((obj) => obj.spk == SPK.IrModule);
}
- #endregion
+#endregion
/// <summary>
/// 闊充箰鍒楄〃
@@ -292,16 +349,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);
}
@@ -343,6 +408,9 @@
catch (Exception ex)
{
MainPage.Log($"IniFunctionList error : {ex.Message}");
+ }
+ finally
+ {
}
}
@@ -402,10 +470,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 +508,6 @@
/// <summary>
/// 鍒犻櫎鍦烘櫙
- /// todo
/// </summary>
public void DeleteScene(Scene scene,bool upSevser)
{
@@ -582,7 +661,7 @@
{ IsBackground = true }.Start();
}
- #region 鍦烘櫙鐩稿叧
+#region 鍦烘櫙鐩稿叧
/// <summary>
/// 娣诲姞鍦烘櫙
/// </summary>
@@ -614,9 +693,9 @@
}
return revPack.Code;
}
- #endregion
+#endregion
- #region 鏀惰棌鍔熻兘
+#region 鏀惰棌鍔熻兘
/// <summary>
/// 鏀惰棌鍦烘櫙
@@ -642,14 +721,14 @@
return result;
}
- #endregion
+#endregion
- #region
+#region
- #endregion
+#endregion
}
}
--
Gitblit v1.8.0