From 34993e4c29eacc659cb10558fa4bb7eefceada1c Mon Sep 17 00:00:00 2001
From: wei <kaede@kaededeMacBook-Air.local>
Date: 星期二, 16 三月 2021 13:58:07 +0800
Subject: [PATCH] 2.数据更新推送app下拉数据
---
HDL_ON/UI/UI2/4-PersonalCenter/AddFunction/BrandListPage.cs | 2
HDL_ON/Entity/Function/Function.cs | 6 -
HDL_ON/UI/UI0-Public/PublicAssmeblyBLL.cs | 2
HDL_ON/DAL/Mqtt/MqttClient.cs | 110 +++++++++++++++++++++++++++++++++---
HDL_ON/Entity/FunctionList.cs | 4
5 files changed, 106 insertions(+), 18 deletions(-)
diff --git a/HDL_ON/DAL/Mqtt/MqttClient.cs b/HDL_ON/DAL/Mqtt/MqttClient.cs
index e97ced8..aa1397b 100644
--- a/HDL_ON/DAL/Mqtt/MqttClient.cs
+++ b/HDL_ON/DAL/Mqtt/MqttClient.cs
@@ -11,6 +11,7 @@
using HDL_ON.DriverLayer;
using HDL_ON.Entity;
using HDL_ON.UI;
+using HDL_ON.DAL.Server;
namespace HDL_ON.DAL.Mqtt
{
@@ -198,16 +199,37 @@
QualityOfServiceLevel = MQTTnet.Protocol.MqttQualityOfServiceLevel.AtMostOnce
};
//App璁㈤槄閬ユ帶鍣ㄨ嚜瀛︽寜閿涔犳垚鍔熼�氱煡
- var study = new MqttTopicFilter()
+ var pirStudy = new MqttTopicFilter()
{
Topic = $"/user/{DB_ResidenceData.Instance.CurrentRegion.RegionID}/app/thing/event/irCodeStudyDone/up",
QualityOfServiceLevel = MQTTnet.Protocol.MqttQualityOfServiceLevel.AtMostOnce
};
+ #region 鏁版嵁鏇存柊鎺ㄩ�佷富棰�
+ //appHomeRefresh锛氫綇瀹呮暟鎹埛鏂伴�氱煡
+ var appHomeRefresh = new MqttTopicFilter()
+ {
+ Topic = $"/user/{DB_ResidenceData.Instance.CurrentRegion.RegionID}/app/thing/event/appHomeRefresh/up",
+ QualityOfServiceLevel = MQTTnet.Protocol.MqttQualityOfServiceLevel.AtMostOnce
+ };
+ //appRoomRefresh锛氭埧闂存暟鎹埛鏂伴�氱煡
+ var appRoomRefresh = new MqttTopicFilter()
+ {
+ Topic = $"/user/{DB_ResidenceData.Instance.CurrentRegion.RegionID}/app/thing/event/appRoomRefresh/up",
+ QualityOfServiceLevel = MQTTnet.Protocol.MqttQualityOfServiceLevel.AtMostOnce
+ };
+ //appDeviceRefresh锛氳澶囨暟鎹埛鏂伴�氱煡
+ var appDeviceRefresh = new MqttTopicFilter()
+ {
+ Topic = $"/user/{DB_ResidenceData.Instance.CurrentRegion.RegionID}/app/thing/event/appDeviceRefresh/up",
+ QualityOfServiceLevel = MQTTnet.Protocol.MqttQualityOfServiceLevel.AtMostOnce
+ };
+ #endregion
+
Utlis.WriteLine("寮�濮嬭闃咃紒");
var result = await RemoteMqttClient.SubscribeAsync(new MqttTopicFilter[] {
- pirStatus,
- study,
+ pirStatus,pirStudy,
+ appDeviceRefresh,appHomeRefresh,appRoomRefresh,
topicFilterPush2, topicAlinkStatus });
if (result.Items[0].ResultCode == MQTTnet.Client.Subscribing.MqttClientSubscribeResultCode.GrantedQoS0)
{
@@ -308,19 +330,89 @@
{
var bytes = Securitys.EncryptionService.AesDecryptPayload(e.ApplicationMessage.Payload, tuyaEncryptKey);
var revString = Encoding.UTF8.GetString(bytes);
- HDL_ON.UI.UI2.PersonalCenter.PirDevice.Method.mqttdata = revString;
- //ReceiveCheckGateway(ss);
- //return;
+ UI.UI2.PersonalCenter.PirDevice.Method.mqttdata = revString;
}
//App璁㈤槄閬ユ帶鍣ㄨ嚜瀛︽寜閿涔犳垚鍔熼�氱煡
else if (topic == $"/user/{DB_ResidenceData.Instance.CurrentRegion.RegionID}/app/thing/event/irCodeStudyDone/up")
{
var bytes = Securitys.EncryptionService.AesDecryptPayload(e.ApplicationMessage.Payload, tuyaEncryptKey);
var revString = Encoding.UTF8.GetString(bytes);
- HDL_ON.UI.UI2.PersonalCenter.PirDevice.Method.mqttdata = revString;
- //ReceiveCheckGateway(ss);
- //return;
+ UI.UI2.PersonalCenter.PirDevice.Method.mqttdata = revString;
}
+ #region 鏁版嵁鏇存柊鎺ㄩ�佷富棰�
+ //appHomeRefresh锛氫綇瀹呮暟鎹埛鏂伴�氱煡
+ else if (topic == $"/user/{DB_ResidenceData.Instance.CurrentRegion.RegionID}/app/thing/event/appHomeRefresh/up") {
+ MainPage.Log("浣忓畢鏁版嵁鍒锋柊閫氱煡");
+ new HttpServerRequest().GetHomePager();
+ }
+ //appRoomRefresh锛氭埧闂存暟鎹埛鏂伴�氱煡
+ else if (topic == $"/user/{DB_ResidenceData.Instance.CurrentRegion.RegionID}/app/thing/event/appRoomRefresh/up"){
+ MainPage.Log("鎴块棿鏁版嵁鍒锋柊閫氱煡");
+ var roomResult = new HttpServerRequest().GetRoomList();
+ if (roomResult.Code == StateCode.SUCCESS)
+ {
+ MainPage.Log($"璇诲彇鎴块棿淇℃伅鎴愬姛");
+ var revData = Newtonsoft.Json.JsonConvert.DeserializeObject<SpatialApiPack>(roomResult.Data.ToString());
+ if (revData == null)
+ {
+ revData = new SpatialApiPack();
+ }
+ {
+ SpatialInfo.CurrentSpatial.UpdateSpatialList(revData.list);
+ }
+ }
+ else
+ {
+ MainPage.Log($"璇诲彇鎴块棿鏁版嵁澶辫触:Code:{roomResult.Code}; msg:{roomResult.message}");
+ }
+ }
+ //appDeviceRefresh锛氳澶囨暟鎹埛鏂伴�氱煡
+ else if (topic == $"/user/{DB_ResidenceData.Instance.CurrentRegion.RegionID}/app/thing/event/appDeviceRefresh/up") {
+ MainPage.Log("璁惧鏁版嵁鍒锋柊閫氱煡");
+ var deviceResult = new HttpServerRequest().GetDeviceList();
+ if (deviceResult.Code == StateCode.SUCCESS)
+ {
+ MainPage.Log($"璇诲彇璁惧淇℃伅鎴愬姛");
+ var deviceList = Newtonsoft.Json.JsonConvert.DeserializeObject<DevcieApiPack>(deviceResult.Data.ToString());
+ if (deviceList == null)
+ {
+ deviceList = new DevcieApiPack();
+ }
+ 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.Spk_Prefix == FunctionCategory.Music || string.IsNullOrEmpty(localFunction.Spk_Prefix))
+ {
+ i++;
+ continue;
+ }
+ var newFunction = deviceList.list.Find((obj) => obj.deviceId == localFunction.deviceId);
+
+ if (delFile == localFunction.savePath)
+ {
+ i++;
+ continue;
+ }
+ delFile = localFunction.savePath;
+ FunctionList.List.DeleteFunction(localFunction);
+ }
+ }
+ //澶勭悊鍓╀笅鐨勬柊澧炲姛鑳�
+ foreach (var newFunction in deviceList.list)
+ {
+ newFunction.SaveFunctionFile();
+ FunctionList.List.IniFunctionList(newFunction.savePath);
+ }
+ }
+ else
+ {
+ MainPage.Log($"璇诲彇浜戠璁惧鏁版嵁澶辫触:Code:{deviceResult.Code}; Msg:{deviceResult.message}");
+ }
+ }
+ #endregion
//A缃戝叧璁惧鐘舵��-鍖呭惈娑傞甫璁惧
else if (topic == $"/user/{DB_ResidenceData.Instance.CurrentRegion.RegionID}/app/thing/property/send")
{
diff --git a/HDL_ON/Entity/Function/Function.cs b/HDL_ON/Entity/Function/Function.cs
index bf83228..0997ffa 100644
--- a/HDL_ON/Entity/Function/Function.cs
+++ b/HDL_ON/Entity/Function/Function.cs
@@ -1027,7 +1027,7 @@
/// <summary>
/// 绾㈠銆佺數瑙�
/// </summary>
- public const string IrTV = "ir.tv";
+ public const string TvIr = "ir.tv";
/// <summary>
/// 瀹剁數銆侀鎵�
/// </summary>
@@ -1056,10 +1056,6 @@
/// 绾㈠瀹�
/// </summary>
public const string IrModule = "ir.module";
- /// <summary>
- /// 绾㈠鐢佃
- /// </summary>
- public const string IrAC = "ir.ac";
/// <summary>
/// 绾㈠閬ユ帶鍣�
/// </summary>
diff --git a/HDL_ON/Entity/FunctionList.cs b/HDL_ON/Entity/FunctionList.cs
index af63fec..7239051 100644
--- a/HDL_ON/Entity/FunctionList.cs
+++ b/HDL_ON/Entity/FunctionList.cs
@@ -98,7 +98,7 @@
return Functions.FindAll((obj) => obj.spk == SPK.ElectricFan || obj.spk == SPK.ElectricTuyaFan
|| obj.spk == SPK.ElectricSocket
|| obj.spk == SPK.IrLearn
- || obj.spk == SPK.IrTV
+ || obj.spk == SPK.TvIr
|| obj.spk == SPK.ElectricTV
|| obj.spk == SPK.ElectricTuyaAirCleaner
|| obj.spk == SPK.ElectricTuyaWeepRobot
@@ -125,7 +125,7 @@
/// </summary>
public List<Function> GetTVList()
{
- return Functions.FindAll((obj) => obj.spk == SPK.ElectricTV || obj.spk == SPK.IrTV);
+ return Functions.FindAll((obj) => obj.spk == SPK.ElectricTV || obj.spk == SPK.TvIr);
}
/// <summary>
/// 瀹剁數鎻掑骇鍒楄〃
diff --git a/HDL_ON/UI/UI0-Public/PublicAssmeblyBLL.cs b/HDL_ON/UI/UI0-Public/PublicAssmeblyBLL.cs
index 1255e80..f8dae98 100644
--- a/HDL_ON/UI/UI0-Public/PublicAssmeblyBLL.cs
+++ b/HDL_ON/UI/UI0-Public/PublicAssmeblyBLL.cs
@@ -75,7 +75,7 @@
MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
break;
case SPK.ElectricTV:
- case SPK.IrTV:
+ case SPK.TvIr:
var tvView = new TVPage(function);
MainPage.BasePageView.AddChidren(tvView);
tvView.LoadPage(btnCollectionIcon, btnName, btnFromFloor);
diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/AddFunction/BrandListPage.cs b/HDL_ON/UI/UI2/4-PersonalCenter/AddFunction/BrandListPage.cs
index 9a7e9d6..8adce32 100644
--- a/HDL_ON/UI/UI2/4-PersonalCenter/AddFunction/BrandListPage.cs
+++ b/HDL_ON/UI/UI2/4-PersonalCenter/AddFunction/BrandListPage.cs
@@ -153,7 +153,7 @@
void NotListTipView()
{
-
+ contentView.RemoveAll();
var btnTip = new Button()
{
Gravity = Gravity.CenterHorizontal,
--
Gitblit v1.8.0