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防止空引用异常
72 lines
1.9 KiB
C#
72 lines
1.9 KiB
C#
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();
|
||
} |