diff --git a/Data/Entities/DbMqtt.cs b/Data/Entities/DbMqtt.cs
index 313cdaf..d8ac213 100644
--- a/Data/Entities/DbMqtt.cs
+++ b/Data/Entities/DbMqtt.cs
@@ -49,6 +49,7 @@ public class DbMqtt
///
/// MQTT客户端登录密码。
///
+ [SugarColumn(IsIgnore = true)]
public string PassWord { get; set; } = String.Empty;
///
@@ -65,21 +66,25 @@ public class DbMqtt
///
/// MQTT发布主题。
///
+ [SugarColumn(IsIgnore = true)]
public string PublishTopic { get; set; } = String.Empty;
///
/// MQTT备注。
///
+ [SugarColumn(IsIgnore = true)]
public string Remark { get; set; } = String.Empty;
///
/// MQTT订阅主题。
///
+ [SugarColumn(IsIgnore = true)]
public string SubTopics { get; set; } = String.Empty;
///
/// MQTT客户端登录用户名。
///
+ [SugarColumn(IsIgnore = true)]
public string UserName { get; set; } = String.Empty;
///
diff --git a/Services/MqttBackgroundService.cs b/Services/MqttBackgroundService.cs
index 3040018..7d28aed 100644
--- a/Services/MqttBackgroundService.cs
+++ b/Services/MqttBackgroundService.cs
@@ -153,12 +153,26 @@ namespace PMSWPF.Services
.WithCredentials(mqtt.UserName, mqtt.PassWord)
.WithCleanSession() // 清理会话,每次连接都是新会话
.Build();
-
+
// 设置连接成功事件处理程序。
- client.UseConnectedHandler(e =>
+ client.UseConnectedHandler(async e =>
{
NotificationHelper.ShowSuccess($"已连接到MQTT服务器: {mqtt.Name}");
mqtt.IsConnected = true;
+
+ // 订阅主题
+ await client.SubscribeAsync(new MqttTopicFilterBuilder().WithTopic("test").Build());
+ NlogHelper.Info($"MQTT客户端 {mqtt.Name} 已订阅主题: {mqtt.SubTopics}");
+ });
+
+ // 设置接收消息处理程序
+ client.UseApplicationMessageReceivedHandler(e =>
+ {
+ var topic = e.ApplicationMessage.Topic;
+ var payload = System.Text.Encoding.UTF8.GetString(e.ApplicationMessage.Payload);
+ NlogHelper.Info($"MQTT客户端 {mqtt.Name} 收到消息: 主题={topic}, 消息={payload}");
+
+ // 在这里添加处理消息的逻辑
});
// 设置断开连接事件处理程序。