- 添加OsDevice模型和OsDevicesController - 实现WindowsScannerService用于网络扫描和WMI查询 - 添加AMT设备UUID查询功能(从CIM_ComputerSystemPackage获取PlatformGUID) - 实现PlatformGUID到标准UUID格式的转换(字节序转换) - 修复HardwareInfoRepository保存UUID的问题 - 前端添加OS设备管理页面和UUID获取/刷新按钮 - 添加数据库迁移脚本
86 lines
2.4 KiB
C#
86 lines
2.4 KiB
C#
using System.ComponentModel.DataAnnotations;
|
||
using System.ComponentModel.DataAnnotations.Schema;
|
||
|
||
namespace AmtScanner.Api.Models;
|
||
|
||
public class HardwareInfo
|
||
{
|
||
[Key]
|
||
public long Id { get; set; }
|
||
|
||
[Required]
|
||
public long DeviceId { get; set; }
|
||
|
||
[Required]
|
||
public DateTime LastUpdated { get; set; }
|
||
|
||
// System Information
|
||
public string? SystemManufacturer { get; set; }
|
||
public string? SystemModel { get; set; }
|
||
public string? SystemSerialNumber { get; set; }
|
||
|
||
/// <summary>
|
||
/// 系统 UUID(SMBIOS UUID,用于与操作系统绑定)
|
||
/// </summary>
|
||
public string? SystemUuid { get; set; }
|
||
|
||
// Processor Information
|
||
public string? ProcessorModel { get; set; }
|
||
public int? ProcessorCores { get; set; }
|
||
public int? ProcessorThreads { get; set; }
|
||
public int? ProcessorMaxClockSpeed { get; set; } // MHz
|
||
public int? ProcessorCurrentClockSpeed { get; set; } // MHz
|
||
|
||
// Memory Information
|
||
public long? TotalMemoryBytes { get; set; }
|
||
|
||
public DateTime CreatedAt { get; set; }
|
||
public DateTime UpdatedAt { get; set; }
|
||
|
||
// Navigation properties
|
||
[ForeignKey("DeviceId")]
|
||
public AmtDevice Device { get; set; } = null!;
|
||
|
||
public ICollection<MemoryModule> MemoryModules { get; set; } = new List<MemoryModule>();
|
||
public ICollection<StorageDevice> StorageDevices { get; set; } = new List<StorageDevice>();
|
||
}
|
||
|
||
public class MemoryModule
|
||
{
|
||
[Key]
|
||
public long Id { get; set; }
|
||
|
||
[Required]
|
||
public long HardwareInfoId { get; set; }
|
||
|
||
public string? SlotLocation { get; set; }
|
||
public long? CapacityBytes { get; set; }
|
||
public int? SpeedMHz { get; set; }
|
||
public string? MemoryType { get; set; }
|
||
public string? Manufacturer { get; set; }
|
||
public string? PartNumber { get; set; }
|
||
public string? SerialNumber { get; set; }
|
||
|
||
// Navigation property
|
||
[ForeignKey("HardwareInfoId")]
|
||
public HardwareInfo HardwareInfo { get; set; } = null!;
|
||
}
|
||
|
||
public class StorageDevice
|
||
{
|
||
[Key]
|
||
public long Id { get; set; }
|
||
|
||
[Required]
|
||
public long HardwareInfoId { get; set; }
|
||
|
||
public string? DeviceId { get; set; }
|
||
public string? Model { get; set; }
|
||
public long? CapacityBytes { get; set; }
|
||
public string? InterfaceType { get; set; }
|
||
|
||
// Navigation property
|
||
[ForeignKey("HardwareInfoId")]
|
||
public HardwareInfo HardwareInfo { get; set; } = null!;
|
||
}
|