From e63d7efbe2a41783989bdaea94d37bb6f16deb22 Mon Sep 17 00:00:00 2001
From: wei <kaede@kaededeMacBook-Air.local>
Date: 星期日, 06 六月 2021 16:41:19 +0800
Subject: [PATCH] 兆观传感器
---
HDL_ON/Common/ApiUtlis.cs | 209 +++++++++++++++++++++++++++++++---------------------
1 files changed, 124 insertions(+), 85 deletions(-)
diff --git a/HDL_ON/Common/ApiUtlis.cs b/HDL_ON/Common/ApiUtlis.cs
index c29314c..f01a100 100644
--- a/HDL_ON/Common/ApiUtlis.cs
+++ b/HDL_ON/Common/ApiUtlis.cs
@@ -46,7 +46,7 @@
public bool GatewayOnlineVerification()
{
bool result = DB_ResidenceData.Instance.HomeGateway.gatewayStatus;
-
+ DriverLayer.Control.Ins.GatewayOnline_Cloud = result;
if (!result)
{
@@ -106,26 +106,6 @@
}
endTime = DateTime.Now.AddSeconds(5);
MainPage.Log($"鍒锋柊涓汉淇℃伅鎴愬姛");
-
- //int count = 0;
- //while (count < 10)
- //{
- // if (DB_ResidenceData.Instance.CheckWhetherGatewayIdIsNull())
- // {
- // System.Threading.Thread.Sleep(200);
- // }
- // else
- // {
- // break;
- // }
- // count++;
- //}
- //if (DB_ResidenceData.Instance.CheckWhetherGatewayIdIsNull())
- //{
- // return;
- //}
-
-
try
{
//===================鎴块棿=======================
@@ -159,44 +139,35 @@
{
deviceList = new DevcieApiPack();
}
- if (FunctionList.List.GetDeviceFunctionList().Count > 0)
- {
+ string delFile = "";
+ if (FunctionList.List.GetDeviceFunctionList().Count > 0)
+ {
+
for (int i = 0; i < FunctionList.List.GetDeviceFunctionList().Count;)
{
var localFunction = FunctionList.List.GetDeviceFunctionList()[i];
- if (localFunction.functionCategory == FunctionCategory.Music)
+ if (localFunction.Spk_Prefix == FunctionCategory.Music || string.IsNullOrEmpty(localFunction.Spk_Prefix))
{
i++;
continue;
}
var newFunction = deviceList.list.Find((obj) => obj.deviceId == localFunction.deviceId);
- if (newFunction == null)//濡傛灉浜戠鏈�鏂版暟鎹病鏈夎鏉℃暟鎹紝鍒欐湰鍦伴渶瑕佸垹鎺夎鏁版嵁璁板綍
+
+ if (delFile == localFunction.savePath)
{
- FunctionList.List.DeleteFunction(localFunction);
- }
- else
- {
- MainPage.Log($"deviceType:{localFunction.spk} local:{localFunction.modifyTime} server:{newFunction.modifyTime}");
i++;
- if (localFunction.modifyTime != newFunction.modifyTime)
- {
- //鍙紭鍖�
- localFunction.name = newFunction.name;
- localFunction.collect = newFunction.collect;
- localFunction.modifyTime = newFunction.modifyTime;
- localFunction.roomIds = newFunction.roomIds;
- localFunction.bus = newFunction.bus;
- localFunction.SaveFunctionFile();
- }
- deviceList.list.Remove(newFunction);//鎿嶄綔瀹岀殑鏁版嵁娓呯悊鎺夛紝鍓╀笅鐨勫氨鏄柊澧炵殑鍔熻兘
+ continue;
}
+ delFile = localFunction.savePath;
+ FunctionList.List.DeleteFunction(localFunction);
}
- //澶勭悊鍓╀笅鐨勬柊澧炲姛鑳�
- foreach (var newFunction in deviceList.list)
- {
- newFunction.SaveFunctionFile();
- FunctionList.List.IniFunctionList(newFunction.savePath);
- }
+ }
+ //澶勭悊鍓╀笅鐨勬柊澧炲姛鑳�
+ foreach (var newFunction in deviceList.list)
+ {
+ MainPage.Log(newFunction.savePath);
+ newFunction.SaveFunctionFile();
+ FunctionList.List.IniFunctionList(newFunction.savePath);
}
endTime = DateTime.Now.AddSeconds(5);
}
@@ -216,38 +187,42 @@
{
sceneList = new List<Scene>();
}
- for (int i = 0; i < FunctionList.List.scenes.Count;)
- {
- var localScene = FunctionList.List.scenes[i];
- if (localScene == null)
- {
- FunctionList.List.scenes.Remove(localScene);
- continue;
- }
- var newScene = sceneList.Find((obj) => obj.userSceneId == localScene.userSceneId);
- if (newScene == null)//濡傛灉浜戠鏈�鏂版暟鎹病鏈夎鏉℃暟鎹紝鍒欐湰鍦伴渶瑕佸垹鎺夎鏁版嵁璁板綍
- {
- FunctionList.List.DeleteScene(localScene, false);
- }
- else
- {
- i++;
- if (localScene.modifyTime != newScene.modifyTime)
- {
- localScene.name = newScene.name;
- localScene.collect = newScene.collect;
- localScene.modifyTime = newScene.modifyTime;
- localScene.roomIds = newScene.roomIds;
- localScene.SaveSceneFile();
- }
- sceneList.Remove(newScene);//鎿嶄綔瀹岀殑鏁版嵁娓呯悊鎺夛紝鍓╀笅鐨勫氨鏄柊澧炵殑鍔熻兘
- }
- //澶勭悊鍓╀笅鐨勬柊澧炲姛鑳�
- foreach (var tempScene in sceneList)
- {
- tempScene.SaveSceneFile();
- FunctionList.List.scenes.Add(tempScene);
- }
+ //for (int i = 0; i < FunctionList.List.scenes.Count;)
+ //{
+ // var localScene = FunctionList.List.scenes[i];
+ // if (localScene == null)
+ // {
+ // FunctionList.List.scenes.Remove(localScene);
+ // continue;
+ // }
+ // var newScene = sceneList.Find((obj) => obj.userSceneId == localScene.userSceneId);
+ // if (newScene == null)//濡傛灉浜戠鏈�鏂版暟鎹病鏈夎鏉℃暟鎹紝鍒欐湰鍦伴渶瑕佸垹鎺夎鏁版嵁璁板綍
+ // {
+ // FunctionList.List.DeleteScene(localScene, false);
+ // }
+ // else
+ // {
+ // i++;
+ // if (localScene.modifyTime != newScene.modifyTime)
+ // {
+ // localScene.name = newScene.name;
+ // localScene.collect = newScene.collect;
+ // localScene.modifyTime = newScene.modifyTime;
+ // localScene.roomIds = newScene.roomIds;
+ // localScene.image = newScene.image;
+ // localScene.SaveSceneFile();
+ // }
+ // sceneList.Remove(newScene);//鎿嶄綔瀹岀殑鏁版嵁娓呯悊鎺夛紝鍓╀笅鐨勫氨鏄柊澧炵殑鍔熻兘
+ // }
+ //}
+
+ FunctionList.List.scenes.Clear();
+
+ //澶勭悊鍓╀笅鐨勬柊澧炲姛鑳�
+ foreach (var tempScene in sceneList)
+ {
+ tempScene.SaveSceneFile();
+ FunctionList.List.scenes.Add(tempScene);
}
//濡傛灉鏄竴绔彛闇�瑕佹彁鍓嶄笅杞藉満鏅暟鎹紝鍚﹀垯鎺у埗涓嶄簡涓�绔彛鍦烘櫙
if (DB_ResidenceData.Instance.GatewayType == 0)
@@ -283,8 +258,17 @@
MainPage.Log($"璇诲彇浜戠鍦烘櫙鏁版嵁澶辫触:Code:{pack.Code}; Msg:{pack.message}");
}
+ //===================璇诲彇瀹夐槻鍒楄〃==========================
+ GetSecurityList();
//===================璇诲彇閫昏緫鍒楄〃==========================
UI.UI2.Intelligence.Automation.MainView.GetLogicList();
+ //===================璇诲彇鍙瀵硅鏁版嵁==========================
+ var flVideoInfo = HttpRequest.CheckFlVideo();
+ if(flVideoInfo.Code == StateCode.SUCCESS)
+ {
+ FunctionList.List.videoIntercom = Newtonsoft.Json.JsonConvert.DeserializeObject<UI.UI2.FuntionControlView.Video.VideoClouds>(flVideoInfo.Data.ToString());
+ }
+
}
catch (Exception ex)
{
@@ -300,6 +284,10 @@
waitPage.Hide();
waitPage.RemoveFromParent();
});
+ //涓嶈�冭檻缃戝叧鎯呭喌锛岀洿鎺ヨ闃�
+ DAL.Mqtt.MqttClient.InitState();
+
+ FunctionList.List.Read3tyFunctionStatus();
}
});
downloadDataThread.IsBackground = true;
@@ -336,15 +324,66 @@
catch { }
finally
{
- #region 璇诲彇鏈湴鏁版嵁
- //璇诲彇闊充箰淇℃伅
- UI.Music.A31MusicModel.ReadMusicStates();
- //鎼滅储缃戝叧
- DriverLayer.Control.Ins.SearchLoaclGateway();
- #endregion
+ if (DB_ResidenceData.Instance.CurrentRegion != null)
+ {
+ #region 璇诲彇鏈湴鏁版嵁
+ //璇诲彇闊充箰淇℃伅
+ UI.Music.A31MusicModel.ReadMusicStates();
+ //鎼滅储缃戝叧
+ DriverLayer.Control.Ins.SearchLoaclGateway();
+ #endregion
+ }
}
})
{ IsBackground = true }.Start();
}
+
+ /// <summary>
+ /// 鑾峰彇鍔熻兘淇℃伅
+ /// </summary>
+ public void GetFunctionInfo(string functionId)
+ {
+ var deviceResult = Ins.HttpRequest.GetDeviceInfo(functionId);
+ if (deviceResult.Code == StateCode.SUCCESS)
+ {
+ MainPage.Log($"璇诲彇璁惧淇℃伅鎴愬姛");
+ var packList = Newtonsoft.Json.JsonConvert.DeserializeObject<DevcieApiPack>(deviceResult.Data.ToString());
+
+ foreach(var function in packList.list)
+ {
+ function.SaveFunctionFile();
+ FunctionList.List.IniFunctionList(function.savePath,true);
+ }
+ }
+ }
+
+ /// <summary>
+ /// 鑾峰彇瀹夐槻鍒楄〃
+ /// </summary>
+ public void GetSecurityList()
+ {
+ var pack = Ins.HttpRequest.GetSecurityList();
+ if (pack.Code == StateCode.SUCCESS)
+ {
+ var packList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<SecurityAlarm>>(pack.Data.ToString());
+ var sidList = new List<string>();
+ foreach (var function in packList)
+ {
+ sidList.Add(function.sid);
+ }
+ var infoListPack = Ins.httpRequest.GetSecurityInfo(sidList, new List<string>());
+ var infoList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<SecurityAlarm>>(infoListPack.Data.ToString());
+ foreach (var function in infoList)
+ {
+ function.SaveFile();
+ FunctionList.List.IniFunctionList(function.savePath, true);
+ }
+ }
+ else
+ {
+ MainPage.Log($"璇诲彇瀹夐槻鍒楄〃澶辫触:Code:{pack.Code}; Msg:{pack.message}");
+ }
+
+ }
}
}
\ No newline at end of file
--
Gitblit v1.8.0