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