重构 auto-check:拆分包架构,精简 workflow 为纯调度循环
各包职责: - config: 分类 YAML 配置 - model: Device/IP/MAC 公共类型 - discovery: 扫描 + ARP MAC 解析 + Devices 变量 - sshclient: SSH 连接 - stress: stress-ng/stressapptest 压测 + Results 变量 - report: 80mm 热敏模板/sparkline/打印 + Printed 变量 - workflow: 永久循环调度 + Start/Stop workflow 已精简为 100 行纯编排,所有业务逻辑下沉各包
This commit is contained in:
19
auto-check/pkg/model/model.go
Normal file
19
auto-check/pkg/model/model.go
Normal file
@@ -0,0 +1,19 @@
|
||||
package model
|
||||
|
||||
import "fmt"
|
||||
|
||||
// ============================
|
||||
// 公共类型 — 全包共用,唯一来源
|
||||
// ============================
|
||||
|
||||
// Device 设备(MAC 为唯一标识)
|
||||
// 当前仅 IP/MAC 两个字段,后续按需扩展
|
||||
type Device struct {
|
||||
IP string // 当前 IP(DHCP 可能变化)
|
||||
MAC string // 物理地址,唯一标识,空 = 无法获取
|
||||
}
|
||||
|
||||
// Label 设备显示名(用于日志/报告)
|
||||
func (d Device) Label() string {
|
||||
return fmt.Sprintf("%s (%s)", d.MAC, d.IP)
|
||||
}
|
||||
Reference in New Issue
Block a user