Files
DMS/DMS.Core/Models/MqttServer.cs
David P.G a6fc543e4f 1 feat(mqtt): 实现MQTT服务器状态管理与事件系统
2
    3 1. 在MqttServer和MqttServerDto模型中添加IsConnect属性,用于跟踪连接状态
    4 2. 重构MqttManagementService服务,使用事件驱动方式管理服务器状态变化
    5 3. 实现MqttServerChangedEventArgs事件参数类,支持区分不同变更类型
    6 4. 在IEventService中添加OnMqttServerChanged事件,实现事件通知机制
    7 5. 优化数据存储结构,将MqttServers从ObservableCollection改为ObservableDictionary
    8 6. 更新MqttServiceManager以正确处理连接状态和事件触发
    9 7. 在WPF层更新UI以响应服务器状态变化
   10 8. 删除不再需要的Helper类(DataServicesHelper, MessageHelper, SiemensHelper)
   11 9. 在NLog配置中添加调试器输出目标以便调试
   12 10. 完善VariableHistoryViewModel防止空引用异常
2025-10-05 00:28:25 +08:00

72 lines
1.9 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

namespace DMS.Core.Models;
/// <summary>
/// 代表一个MQTT Broker的配置。
/// </summary>
public class MqttServer
{
public int Id { get; set; }
public string ServerName { get; set; }
public string ServerUrl { get; set; } // Broker地址
public int Port { get; set; } // 端口
public string Username { get; set; } // 用户名
public string Password { get; set; } // 密码
public bool IsActive { get; set; } // 是否启用
public bool IsConnect { get; set; } // 是否启用
/// <summary>
/// MQTT订阅主题。
/// </summary>
public string SubscribeTopic { get; set; }
/// <summary>
/// MQTT发布主题。
/// </summary>
public string PublishTopic { get; set; }
/// <summary>
/// MQTT客户端ID。
/// </summary>
public string ClientId { get; set; }
/// <summary>
/// MQTT服务器配置的创建时间。
/// </summary>
public DateTime CreatedAt { get; set; }
/// <summary>
/// MQTT客户端连接到Broker的时间。
/// </summary>
public DateTime? ConnectedAt { get; set; }
/// <summary>
/// MQTT客户端连接时长
/// </summary>
public long ConnectionDuration { get; set; }
/// <summary>
/// 报文格式例如JSON, PlainText等。
/// </summary>
public string MessageFormat { get; set; }
/// <summary>
/// 消息头格式。
/// </summary>
public string MessageHeader { get; set; }
/// <summary>
/// 消息内容格式。
/// </summary>
public string MessageContent { get; set; }
/// <summary>
/// 消息尾格式。
/// </summary>
public string MessageFooter { get; set; }
/// <summary>
/// 与此服务器关联的所有变量别名。通过此集合可以反向查找关联的变量。
/// </summary>
public List<VariableMqttAlias> VariableAliases { get; set; } = new();
}