wenxiangchao
2026-11-02 9d1660270272180cd71147d6ddd53d1382643d2e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
using System;
using CommunityToolkit.Mvvm.ComponentModel;
 
namespace Plugin.DeviceDebug.Entity
{
    public enum DeviceConnectionState
    {
        Connected,
        Disconnected,
        Connecting,
        Error
    }
 
    public enum DeviceHealth
    {
        Healthy,
        Degraded,
        Fault
    }
 
    public enum ReservationStatus
    {
        Available,
        ProductionReserved,
        MaintenanceReserved,
        RecoveryRequired
    }
 
    /// <summary>
    /// 设备运行状态(内存对象,不持久化)
    /// </summary>
    public partial class DeviceRuntimeStatus : ObservableObject
    {
        [ObservableProperty] private string _deviceId = string.Empty;
        [ObservableProperty] private DeviceConnectionState _connectionState = DeviceConnectionState.Disconnected;
        [ObservableProperty] private DeviceHealth _health = DeviceHealth.Healthy;
        [ObservableProperty] private string _lastError = string.Empty;
        [ObservableProperty] private DateTime? _lastErrorTime;
        [ObservableProperty] private ReservationStatus _reservationStatus = ReservationStatus.Available;
        [ObservableProperty] private string _effectiveVersion = string.Empty;
        [ObservableProperty] private int _reconnectCount;
        [ObservableProperty] private double _communicationLatencyMs;
    }
}