24 lines
614 B
Go
24 lines
614 B
Go
package model
|
||
|
||
import "fmt"
|
||
|
||
// ============================
|
||
// 公共类型 — 全包共用,唯一来源
|
||
// ============================
|
||
|
||
// Device 设备
|
||
// 发现阶段以 IP 标识(仅做 ping 可达性探测),MAC 在 SSH 登录后回填,
|
||
// 空 = 尚未获取。键(map key)始终为 IP。
|
||
type Device struct {
|
||
IP string // 当前 IP(DHCP 可能变化)
|
||
MAC string // 物理地址,SSH 阶段回填,空 = 尚未获取
|
||
}
|
||
|
||
// Label 设备显示名(用于日志/报告)
|
||
func (d Device) Label() string {
|
||
if d.MAC != "" {
|
||
return fmt.Sprintf("%s (%s)", d.IP, d.MAC)
|
||
}
|
||
return d.IP
|
||
}
|