From e3f9975657fd5636b4f726000667c2521578776a Mon Sep 17 00:00:00 2001 From: yzp Date: Sat, 22 Feb 2025 08:40:10 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E8=A1=A5=E7=BC=BA=E5=A4=B1=E6=96=87?= =?UTF-8?q?=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Service/Mqtt/Dto/SysMqttDto.cs | 19 +++++++++++ .../Service/Mqtt/MqttService.cs | 34 ------------------- .../Service/Mqtt/SysMqttService.cs | 21 +++++++++++- 3 files changed, 39 insertions(+), 35 deletions(-) create mode 100644 Admin.NET/Admin.NET.Core/Service/Mqtt/Dto/SysMqttDto.cs delete mode 100644 Admin.NET/Admin.NET.Core/Service/Mqtt/MqttService.cs diff --git a/Admin.NET/Admin.NET.Core/Service/Mqtt/Dto/SysMqttDto.cs b/Admin.NET/Admin.NET.Core/Service/Mqtt/Dto/SysMqttDto.cs new file mode 100644 index 00000000..6df5ed55 --- /dev/null +++ b/Admin.NET/Admin.NET.Core/Service/Mqtt/Dto/SysMqttDto.cs @@ -0,0 +1,19 @@ +// Admin.NET 项目的版权、商标、专利和其他相关权利均受相应法律法规的保护。使用本项目应遵守相关法律法规和许可证的要求。 +// +// 本项目主要遵循 MIT 许可证和 Apache 许可证(版本 2.0)进行分发和使用。许可证位于源代码树根目录中的 LICENSE-MIT 和 LICENSE-APACHE 文件。 +// +// 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任! + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Admin.NET.Core; +public class PublicMessageInput +{ + public string Topic { get; set; } + + public string Message { get; set; } +} diff --git a/Admin.NET/Admin.NET.Core/Service/Mqtt/MqttService.cs b/Admin.NET/Admin.NET.Core/Service/Mqtt/MqttService.cs deleted file mode 100644 index d9582097..00000000 --- a/Admin.NET/Admin.NET.Core/Service/Mqtt/MqttService.cs +++ /dev/null @@ -1,34 +0,0 @@ -// Admin.NET 项目的版权、商标、专利和其他相关权利均受相应法律法规的保护。使用本项目应遵守相关法律法规和许可证的要求。 -// -// 本项目主要遵循 MIT 许可证和 Apache 许可证(版本 2.0)进行分发和使用。许可证位于源代码树根目录中的 LICENSE-MIT 和 LICENSE-APACHE 文件。 -// -// 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任! - -using Admin.NET.Core.Service.Mqtt.Dto; - -namespace Admin.NET.Core.Service; - -/// -/// 系统职位服务 🧩 -/// -[ApiDescriptionSettings(Order = 460, Description = "MQTT 服务")] -public class MqttService : IDynamicApiController, ITransient -{ - MqttHostedService _mqttHostedService; - public MqttService(MqttHostedService mqttProvider) - { - _mqttHostedService = mqttProvider; - } - - /// - /// 发布消息 🔖 - /// - /// - /// - [AllowAnonymous] - [DisplayName("发布消息")] - public async Task PublicMessage(PublicMessageInput input) - { - _mqttHostedService.PublicMessage(input.Topic, input.Message); - } -} \ No newline at end of file diff --git a/Admin.NET/Admin.NET.Core/Service/Mqtt/SysMqttService.cs b/Admin.NET/Admin.NET.Core/Service/Mqtt/SysMqttService.cs index 231a8b29..1f1d174b 100644 --- a/Admin.NET/Admin.NET.Core/Service/Mqtt/SysMqttService.cs +++ b/Admin.NET/Admin.NET.Core/Service/Mqtt/SysMqttService.cs @@ -13,7 +13,14 @@ namespace Admin.NET.Core.Service; /// [ApiDescriptionSettings(Order = 90, Description = "MQTT 服务")] public class SysMqttService() : IDynamicApiController, ITransient -{ +{ + + MqttHostedService _mqttHostedService; + public SysMqttService(MqttHostedService mqttProvider) + { + _mqttHostedService = mqttProvider; + } + /// /// 获取客户端列表 🔖 /// @@ -25,5 +32,17 @@ public class SysMqttService() : IDynamicApiController, ITransient throw Oops.Oh("【MQTT】服务未启动"); return await MqttHostedService.MqttServer.GetClientsAsync(); + } + + /// + /// 发布消息 🔖 + /// + /// + /// + [AllowAnonymous] + [DisplayName("发布消息")] + public async Task PublicMessage(PublicMessageInput input) + { + _mqttHostedService.PublicMessage(input.Topic, input.Message); } } \ No newline at end of file From 102b336a85bf1afc7cae4719890546d4581c8e60 Mon Sep 17 00:00:00 2001 From: yzp Date: Sat, 22 Feb 2025 08:46:28 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E8=A1=A5=E7=BC=BA=E5=A4=B1=E4=BE=9D?= =?UTF-8?q?=E6=87=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Service/Mqtt/SysMqttService.cs | 18 ++++++------------ .../Admin.NET.Web.Core.csproj | 1 + 2 files changed, 7 insertions(+), 12 deletions(-) diff --git a/Admin.NET/Admin.NET.Core/Service/Mqtt/SysMqttService.cs b/Admin.NET/Admin.NET.Core/Service/Mqtt/SysMqttService.cs index 1f1d174b..85dbdfb0 100644 --- a/Admin.NET/Admin.NET.Core/Service/Mqtt/SysMqttService.cs +++ b/Admin.NET/Admin.NET.Core/Service/Mqtt/SysMqttService.cs @@ -13,14 +13,7 @@ namespace Admin.NET.Core.Service; /// [ApiDescriptionSettings(Order = 90, Description = "MQTT 服务")] public class SysMqttService() : IDynamicApiController, ITransient -{ - - MqttHostedService _mqttHostedService; - public SysMqttService(MqttHostedService mqttProvider) - { - _mqttHostedService = mqttProvider; - } - +{ /// /// 获取客户端列表 🔖 /// @@ -35,14 +28,15 @@ public class SysMqttService() : IDynamicApiController, ITransient } /// - /// 发布消息 🔖 + /// 发布主题 🔖 /// /// /// [AllowAnonymous] - [DisplayName("发布消息")] + [DisplayName("发布主题")] public async Task PublicMessage(PublicMessageInput input) - { - _mqttHostedService.PublicMessage(input.Topic, input.Message); + { + MqttHostedService mqttHostedService = App.GetRequiredService(); + mqttHostedService.PublicMessage(input.Topic, input.Message); } } \ No newline at end of file diff --git a/Admin.NET/Admin.NET.Web.Core/Admin.NET.Web.Core.csproj b/Admin.NET/Admin.NET.Web.Core/Admin.NET.Web.Core.csproj index 9a5475c5..4bb365c3 100644 --- a/Admin.NET/Admin.NET.Web.Core/Admin.NET.Web.Core.csproj +++ b/Admin.NET/Admin.NET.Web.Core/Admin.NET.Web.Core.csproj @@ -11,6 +11,7 @@ +