feat(hardware): 自 go-hua 迁入硬件信息采集与变更检测
- WMI 采集主板/BIOS/显卡/内存/CPU/硬盘等 11 类设备 + 变更比对 - 新增依赖 gopsutil/yusufpapurcu/wmi, 附测试、例程与 README
This commit is contained in:
@@ -0,0 +1,94 @@
|
||||
// Package hardware 提供硬件信息采集(WMI)与硬件变更检测(Windows)。
|
||||
package hardware
|
||||
|
||||
// BaseBoard 主板信息(WMI Win32_BaseBoard)
|
||||
type BaseBoard struct {
|
||||
Manufacturer string `json:"manufacturer"` //制造商
|
||||
Product string `json:"product"` //产品
|
||||
}
|
||||
|
||||
// Bios BIOS 信息(WMI Win32_BIOS)
|
||||
type Bios struct {
|
||||
SMBIOSBIOSVersion string `json:"SMBIOSBIOSVersion"`
|
||||
Name string `json:"name"`
|
||||
}
|
||||
|
||||
// VideoController 显卡信息(WMI Win32_VideoController)
|
||||
type VideoController struct {
|
||||
Name string `json:"name"`
|
||||
AdapterRAM uint32 `json:"adapterRAM"`
|
||||
PNPDeviceID string `json:"PNPDeviceID"`
|
||||
CurrentHorizontalResolution uint32 `json:"currentHorizontalResolution"`
|
||||
CurrentVerticalResolution uint32 `json:"currentVerticalResolution"`
|
||||
CurrentRefreshRate uint32 `json:"currentRefreshRate"`
|
||||
}
|
||||
|
||||
// PhysicalMemory 内存条信息(WMI Win32_PhysicalMemory)
|
||||
type PhysicalMemory struct {
|
||||
Manufacturer string `json:"manufacturer"` //制造商
|
||||
Capacity uint64 `json:"capacity"` //容量
|
||||
Speed uint32 `json:"speed"` //速率
|
||||
SerialNumber string `json:"serialNumber"` //序列号
|
||||
}
|
||||
|
||||
// Processor CPU 信息(WMI Win32_Processor)
|
||||
type Processor struct {
|
||||
Name string `json:"name"`
|
||||
NumberOfCores uint32 `json:"numberOfCores"`
|
||||
NumberOfLogicalProcessors uint32 `json:"numberOfLogicalProcessors"`
|
||||
}
|
||||
|
||||
// DiskDrive 硬盘信息(WMI Win32_DiskDrive)
|
||||
type DiskDrive struct {
|
||||
Caption string `json:"caption"`
|
||||
Size uint64 `json:"size"`
|
||||
InterfaceType string `json:"interfaceType"`
|
||||
}
|
||||
|
||||
// SoundDevice 声卡信息(WMI Win32_SoundDevice)
|
||||
type SoundDevice struct {
|
||||
Name string `json:"name"`
|
||||
}
|
||||
|
||||
// NetworkAdapter 网卡信息(WMI Win32_NetworkAdapter)
|
||||
type NetworkAdapter struct {
|
||||
Name string `json:"name"`
|
||||
Speed uint64 `json:"speed"`
|
||||
MACAddress string `json:"MACAddress"`
|
||||
}
|
||||
|
||||
// DesktopMonitor 显示器信息(WMI Win32_DesktopMonitor)
|
||||
type DesktopMonitor struct {
|
||||
Name string `json:"name"`
|
||||
ScreenWidth uint32 `json:"screenWidth"`
|
||||
ScreenHeight uint32 `json:"screenHeight"`
|
||||
PNPDeviceID string `json:"PNPDeviceID"`
|
||||
ConfigManagerErrorCode uint32 `json:"configManagerErrorCode"`
|
||||
}
|
||||
|
||||
// PointingDevice 指点设备信息(WMI Win32_PointingDevice)
|
||||
type PointingDevice struct {
|
||||
Description string `json:"description"`
|
||||
PNPDeviceID string `json:"PNPDeviceID"`
|
||||
}
|
||||
|
||||
// Keyboard 键盘信息(WMI Win32_Keyboard)
|
||||
type Keyboard struct {
|
||||
Description string `json:"description"`
|
||||
PNPDeviceID string `json:"PNPDeviceID"`
|
||||
}
|
||||
|
||||
// Hardware 硬件信息汇总
|
||||
type Hardware struct {
|
||||
BaseBoard []BaseBoard `json:"baseBoard"`
|
||||
Bios []Bios `json:"bios"`
|
||||
Processor []Processor `json:"processor"`
|
||||
PhysicalMemory []PhysicalMemory `json:"physicalMemory"`
|
||||
VideoController []VideoController `json:"videoController"`
|
||||
SoundDevice []SoundDevice `json:"soundDevice"`
|
||||
NetworkAdapter []NetworkAdapter `json:"networkAdapter"`
|
||||
DiskDrive []DiskDrive `json:"diskDrive"`
|
||||
DesktopMonitor []DesktopMonitor `json:"desktopMonitor"`
|
||||
Keyboard []Keyboard `json:"keyboard"`
|
||||
PointingDevice []PointingDevice `json:"pointingDevice"`
|
||||
}
|
||||
Reference in New Issue
Block a user