重构 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:
35
auto-check/pkg/report/template_embed.go
Normal file
35
auto-check/pkg/report/template_embed.go
Normal file
@@ -0,0 +1,35 @@
|
||||
package report
|
||||
|
||||
import "embed"
|
||||
|
||||
//go:embed templates/*.tmpl
|
||||
var templateFS embed.FS
|
||||
|
||||
// embeddedTemplates 内嵌模板列表
|
||||
var embeddedTemplates = []string{
|
||||
"templates/report_80mm.tmpl", // 80mm 热敏纸文本报告
|
||||
}
|
||||
|
||||
// Render80mm 渲染 80mm 热敏纸文本报告
|
||||
func (r *Report) Render80mm() (string, error) {
|
||||
return r.renderTemplate("templates/report_80mm.tmpl", DefaultTemplateConfig())
|
||||
}
|
||||
|
||||
// Render80mmWithConfig 使用自定义宽度渲染
|
||||
func (r *Report) Render80mmWithConfig(cfg TemplateConfig) (string, error) {
|
||||
return r.renderTemplate("templates/report_80mm.tmpl", cfg)
|
||||
}
|
||||
|
||||
// renderTemplate 从内嵌模板渲染
|
||||
func (r *Report) renderTemplate(name string, cfg TemplateConfig) (string, error) {
|
||||
data, err := templateFS.ReadFile(name)
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
return RenderTemplate(string(data), r, cfg)
|
||||
}
|
||||
|
||||
// TemplateNames 返回可用模板列表
|
||||
func TemplateNames() []string {
|
||||
return embeddedTemplates
|
||||
}
|
||||
Reference in New Issue
Block a user