From 75e98b162edcb189c8bffd24aaab71954d526c71 Mon Sep 17 00:00:00 2001
From: JLChen <551775569@qq.com>
Date: 星期四, 02 九月 2021 10:05:36 +0800
Subject: [PATCH] 2021-09-02 1.更新控件库,iOS裁剪支持指定大小或者不压缩。2.更新linphoneiOS和Android库,监视关闭麦克风。3.Android丰林和乐橙截图后增加广播推送系统相册刷新。
---
HDL_ON/Entity/FunctionList.cs | 270 +++++++++++++++++++++++++++++++++--------------------
1 files changed, 166 insertions(+), 104 deletions(-)
diff --git a/HDL_ON/Entity/FunctionList.cs b/HDL_ON/Entity/FunctionList.cs
index b4abf79..d95e1ba 100644
--- a/HDL_ON/Entity/FunctionList.cs
+++ b/HDL_ON/Entity/FunctionList.cs
@@ -5,6 +5,7 @@
using HDL_ON.Common;
using HDL_ON.DAL;
using HDL_ON.DAL.Server;
+using HDL_ON.DriverLayer;
using Shared;
namespace HDL_ON.Entity
@@ -41,19 +42,8 @@
/// <returns></returns>
public List<Function> GetAcList()
{
- return Functions.FindAll((obj) => obj.spk == SPK.AcStandard || obj.spk == SPK.AcIr);
- }
-
- /// <summary>
- ///
- /// </summary>
- /// <returns></returns>
- public List<Function> GetList()
- {
- List<Function> list = new List<Function>();
-
-
- return list;
+ var spkList = SPK.AcSpkList();
+ return Functions.FindAll((obj) => spkList.Contains(obj.spk));
}
/// <summary>
@@ -61,24 +51,16 @@
/// </summary>
public List<Function> GetLightList()
{
- return Functions.FindAll((obj) =>
- obj.spk == SPK.LightSwitch
- || obj.spk == SPK.LightDimming
- || obj.spk == SPK.LightRGB
- || obj.spk == SPK.LightRGBW
- || obj.spk == SPK.LightCCT);
+ var spkList = SPK.LightSpkList();
+ return Functions.FindAll((obj) => spkList.Contains(obj.spk));
}
/// <summary>
/// 绐楀笜鍒楄〃
/// </summary>
public List<Function> GetCurtainList()
{
- return Functions.FindAll((obj) =>
- obj.spk == SPK.CurtainRoller
- || obj.spk == SPK.CurtainShades
- || obj.spk == SPK.CurtainSwitch
- || obj.spk == SPK.CurtainTrietex
- );
+ var spkList = SPK.CurtainSpkList();
+ return Functions.FindAll((obj) => spkList.Contains(obj.spk));
}
/// <summary>
@@ -86,72 +68,41 @@
/// </summary>
public List<Function> GetFloorHeatingList()
{
- return Functions.FindAll((obj) => obj.spk == SPK.FloorHeatStandard);
+ var spkList = SPK.FhSpkList();
+ return Functions.FindAll((obj) => spkList.Contains(obj.spk));
}
+
+ /// <summary>
+ /// 鏂伴鍒楄〃
+ /// </summary>
+ /// <returns></returns>
+ public List<Function> GetAirFreshList()
+ {
+ var spkList = SPK.AirFreshSpkList();
+ return Functions.FindAll((obj) => spkList.Contains(obj.spk));
+ }
+
+ /// <summary>
+ /// 鑳芥簮鍒楄〃
+ /// </summary>
+ /// <returns></returns>
+ public List<Function> GetEnergyList()
+ {
+ var spkList = SPK.EnergySpkList();
+ return Functions.FindAll((obj) => spkList.Contains(obj.spk));
+ }
+
#region 瀹剁數鍒楄〃 electricals
/// <summary>
/// 瀹剁數鍒楄〃
/// </summary>
public List<Function> GetElectricals()
{
-
- return Functions.FindAll((obj) => obj.spk == SPK.ElectricFan || obj.spk == SPK.ElectricTuyaFan
- || obj.spk == SPK.ElectricSocket
- || obj.spk == SPK.ElectricTV
- || obj.spk == SPK.ElectricTuyaAirCleaner
- || obj.spk == SPK.ElectricTuyaWeepRobot
- || obj.spk == SPK.ElectricTuyaWaterValve
- || obj.spk == SPK.ClothesHanger);
+ var spkList = SPK.ElectricalSpkList();
+ return Functions.FindAll((obj) => spkList.Contains(obj.spk));
}
- /// <summary>
- /// 椋庢墖鍒楄〃
- /// </summary>
- public List<Function> GetFanList()
- {
- return Functions.FindAll((obj) => obj.spk == SPK.ElectricFan || obj.spk == SPK.ElectricTuyaFan);
- }
- /// <summary>
- /// 鐢佃鍒楄〃
- /// </summary>
- public List<Function> GetTVList()
- {
- return Functions.FindAll((obj) => obj.spk == SPK.ElectricTV);
- }
- /// <summary>
- /// 瀹剁數鎻掑骇鍒楄〃
- /// </summary>
- public List<Function> GetElectricSocketList()
- {
- return Functions.FindAll((obj) => obj.spk == SPK.ElectricSocket);
- }
- /// <summary>
- /// 绌烘皵鍑�鍖栧櫒鍒楄〃
- /// </summary>
- public List<Function> GetAirCleanerList()
- {
- return Functions.FindAll((obj) => obj.spk == SPK.ElectricTuyaAirCleaner);
- }
- /// <summary>
- /// 鎵湴鏈哄櫒浜哄垪琛�
- /// </summary>
- public List<Function> GetWeepRobotList()
- {
- return Functions.FindAll((obj) => obj.spk == SPK.ElectricTuyaWeepRobot);
- }
- /// <summary>
- /// 姘撮榾鍒楄〃
- /// </summary>
- public List<Function> GetWaterValveList()
- {
- return Functions.FindAll((obj) => obj.spk == SPK.ElectricTuyaWaterValve);
- }
- /// <summary>
- /// 鍑夐湼鍒楄〃
- /// </summary>
- public List<Function> GetClothesHangerList ()
- {
- return Functions.FindAll((obj) => obj.spk == SPK.ClothesHanger);
- }
+
+
/// <summary>
/// 绾㈠瀹濆垪琛�
/// </summary>
@@ -159,39 +110,81 @@
{
return Functions.FindAll((obj) => obj.spk == SPK.IrModule);
}
-
#endregion
+
+ /// <summary>
+ /// 闊充箰鍒楄〃
+ /// </summary>
+ /// <returns></returns>
+ public List<Function> GetMusicList()
+ {
+ var spkList = SPK.MusicSpkList();
+ return Functions.FindAll((obj) => spkList.Contains(obj.spk));
+ }
+
+
/// <summary>
/// 鐜浼犳劅鍣ㄥ垪琛�
/// </summary>
public List<Function> GetEnvirSensorsList()
{
- return Functions.FindAll((obj) => obj.spk == SPK.SensorPm25
- || obj.spk == SPK.SensorCO2
- || obj.spk == SPK.SensorTVOC
- || obj.spk == SPK.SensorTemperature
- || obj.spk == SPK.SensorHumidity
- );
+ var spkList = SPK.EnvironSpkList();
+ return Functions.FindAll((obj) => spkList.Contains(obj.spk));
}
/// <summary>
/// 瀹夐槻璁惧鍒楄〃
/// </summary>
public List<Function> GetArmSensorList()
{
- return Functions.FindAll((obj) => obj.spk == SPK.SensorSmoke
- || obj.spk == SPK.SensorWater
- || obj.spk == SPK.SensorDoorWindow
- || obj.spk == SPK.SensorPir
- );
+ var spkList = SPK.ArmSensorSpkList();
+ return Functions.FindAll((obj) => spkList.Contains(obj.spk));
}
+ /// <summary>
+ /// 鍙瀵硅鍒楄〃,褰撲负null鎴杝ize涓�0鍒欎笉鏄剧ず鍙瀵硅icon
+ /// </summary>
+ // public UI.UI2.FuntionControlView.Video.VideoClouds videoIntercom;
+ public List<UI.UI2.FuntionControlView.Video.Video> videoIntercom = new List<UI.UI2.FuntionControlView.Video.Video>();
+
+ List<Function> _OtherBrandFunction;
+ /// <summary>
+ /// 绗笁鏂瑰搧鐗屽姛鑳�
+ /// </summary>
+ public List<Function> OtherBrandFunction
+ {
+ get
+ {
+ if(_OtherBrandFunction == null)
+ {
+ _OtherBrandFunction = new List<Function>();
+ var spkList = SPK.GetAll3tySPK();
+ _OtherBrandFunction = Functions.FindAll((obj) => spkList.Contains(obj.spk));
+ }
+ return _OtherBrandFunction;
+ }
+ }
+
+
+ /// <summary>
+ /// 鍦烘櫙鍒楄〃
+ /// </summary>
public List<Scene> scenes = new List<Scene>();
+
+ /// <summary>
+ /// 瀹夐槻鍒楄〃
+ /// </summary>
+ public List<SecurityAlarm> securities = new List<SecurityAlarm>();
+
/// <summary>
/// 鍔犺浇鍔熻兘鍒楄〃
/// </summary>
/// <param name="filePath"></param>
- public void IniFunctionList(string filePath)
+ /// <param name="checkRepeat">
+ /// <para>鑰冭檻鍒版�ц兘闂杩藉姞姝ゅ彉閲�,鏄惁妫�娴嬮噸澶�,鍙function鏈夋晥</para>
+ /// <para>true:褰撻噸澶嶅瓨鍦ㄦ椂,鏇挎崲鎺�</para>
+ /// <para>false:鐩存帴鏃犳潯浠舵坊鍔�</para></param>
+ public void IniFunctionList(string filePath, bool checkRepeat = false)
{
// todo 澧炲姞璁惧锛屽鍔犲姛鑳借繘鍔熻兘鍒楄〃
if (filePath.StartsWith("FunctionData_"))
@@ -201,13 +194,30 @@
var tempFunction = Newtonsoft.Json.JsonConvert.DeserializeObject<Function>(functionDataString);
if (tempFunction == null)
{
+ MainPage.Log("null");
FileUtlis.Files.DeleteFile(filePath);
return;
}
-
-
+ //闊充箰閮ㄥ垎瑕佷慨鏀�
+ //if(tempFunction.spk.ToString() == SPK.MusicStandard)
+ //{
+ // UI.Music.A31MusicModel.A31MusicModelList.Add(Newtonsoft.Json.JsonConvert.DeserializeObject<UI.Music.A31MusicModel>(functionDataString));
+ //}
+ if (checkRepeat == true)
+ {
+ //妫�娴嬮噸澶�
+ for (int i = 0; i < Functions.Count; i++)
+ {
+ if (Functions[i].deviceId == tempFunction.deviceId)
+ {
+ //鍏堢Щ闄ゆ帀鍐嶅姞
+ Functions.RemoveAt(i);
+ Functions.Add(tempFunction);
+ return;
+ }
+ }
+ }
Functions.Add(tempFunction);
-
}
if (filePath.StartsWith("SceneData_"))
{
@@ -215,6 +225,33 @@
var sceneDataString = System.Text.Encoding.UTF8.GetString(sceneDataBytes);
var tempScene = Newtonsoft.Json.JsonConvert.DeserializeObject<Scene>(sceneDataString);
List.scenes.Add(tempScene);
+ }
+ else if (filePath.StartsWith("SecurityData_"))
+ {
+ var dataBytes = FileUtlis.Files.ReadFile(filePath);
+ var dataString = System.Text.Encoding.UTF8.GetString(dataBytes);
+ var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<SecurityAlarm>(dataString);
+ if (temp == null)
+ {
+ MainPage.Log("null");
+ FileUtlis.Files.DeleteFile(filePath);
+ return;
+ }
+ if (checkRepeat == true)
+ {
+ //妫�娴嬮噸澶�
+ for (int i = 0; i < securities.Count; i++)
+ {
+ if (securities[i].sid == temp.sid)
+ {
+ //鍏堢Щ闄ゆ帀鍐嶅姞
+ securities.RemoveAt(i);
+ securities.Add(temp);
+ return;
+ }
+ }
+ }
+ securities.Add(temp);
}
}
@@ -256,6 +293,9 @@
return Functions;
}
+
+
+
/// <summary>
/// 娓呯┖璁惧鍔熻兘鍒楄〃
@@ -310,6 +350,7 @@
List.scenes.Remove(scene);
}
}
+
/// <summary>
/// 鍒犻櫎鏈湴鍔熻兘鍙婃枃浠�
/// </summary>
@@ -393,6 +434,17 @@
// break;
//}
}
+ if(DB_ResidenceData.Instance.GatewayType == 1)
+ {
+ Dictionary<string, string> pairs = new Dictionary<string, string>();
+ string sendId = Control.Ins.msg_id.ToString();
+ pairs.Add("id", sendId);
+ pairs.Add("time_stamp", Utlis.GetTimestamp());
+ var readSecurityStatusJson = Newtonsoft.Json.JsonConvert.SerializeObject(pairs);
+ var sendBytes = Control.Ins.ConvertSendBodyData(CommunicationTopic.ct.ReadSecurityStatus, readSecurityStatusJson);
+ MainPage.Log($"鏈湴閫氳 璇诲彇瀹夐槻鐘舵��:{readSecurityStatusJson}");
+ new Control_Udp().SendLocalHdlLinkData(sendBytes, sendId);
+ }
}
else
{
@@ -427,6 +479,7 @@
})
{ IsBackground = true }.Start();
}
+
#region 鍦烘櫙鐩稿叧
/// <summary>
/// 娣诲姞鍦烘櫙
@@ -438,11 +491,20 @@
var revPack = pm.AddScene(scene);
if (revPack.Code == StateCode.SUCCESS)
{
- var sceneList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Scene>>(revPack.Data.ToString());
- tempScene = sceneList.Find((obj) => obj.sid == scene.sid);
- var ssd = System.Text.Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(tempScene));
- FileUtlis.Files.WriteFileByBytes(scene.savePath, ssd);
- result = tempScene;
+ if (MainPage.NoLoginMode)
+ {
+ var ssd = System.Text.Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(scene));
+ FileUtlis.Files.WriteFileByBytes(scene.savePath, ssd);
+ result = scene;
+ }
+ else
+ {
+ var sceneList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Scene>>(revPack.Data.ToString());
+ tempScene = sceneList.Find((obj) => obj.sid == scene.sid);
+ var ssd = System.Text.Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(tempScene));
+ FileUtlis.Files.WriteFileByBytes(scene.savePath, ssd);
+ result = tempScene;
+ }
}
else
{
--
Gitblit v1.8.0