package system

// ServerInfo 服务器信息
type ServerInfo struct {
	CPU  CPUInfo  `json:"cpu"`
	RAM  RAMInfo  `json:"ram"`
	Disk DiskInfo `json:"disk"`
	OS   OSInfo   `json:"os"`
}

// CPUInfo CPU信息
type CPUInfo struct {
	Cpus  []float64 `json:"cpus"`
	Cores int       `json:"cores"`
}

// RAMInfo 内存信息
type RAMInfo struct {
	UsedMB      int `json:"usedMb"`
	TotalMB     int `json:"totalMb"`
	UsedPercent int `json:"usedPercent"`
}

// DiskInfo 磁盘信息
type DiskInfo struct {
	UsedMB      int `json:"usedMb"`
	UsedGB      int `json:"usedGb"`
	TotalMB     int `json:"totalMb"`
	TotalGB     int `json:"totalGb"`
	UsedPercent int `json:"usedPercent"`
}

// OSInfo 操作系统信息
type OSInfo struct {
	GOOS         string `json:"goos"`
	NumCPU       int    `json:"numCpu"`
	Compiler     string `json:"compiler"`
	GoVersion    string `json:"goVersion"`
	NumGoroutine int    `json:"numGoroutine"`
}

// GetServerInfoReply 获取服务器信息响应
type GetServerInfoReply struct {
	Server ServerInfo `json:"server"`
}

// CaptchaResponse 验证码响应
type CaptchaResponse struct {
	CaptchaId     string `json:"captchaId"`
	PicPath       string `json:"picPath"`
	CaptchaLength int    `json:"captchaLength"`
	OpenCaptcha   bool   `json:"openCaptcha"`
}
