37 lines
921 B
Go
37 lines
921 B
Go
// Package webui 渲染采购服务当前可用的服务端页面。
|
|
package webui
|
|
|
|
import (
|
|
"embed"
|
|
"html/template"
|
|
"io"
|
|
)
|
|
|
|
//go:embed templates/*.html
|
|
var templateFiles embed.FS
|
|
|
|
var templates = template.Must(template.New("webui").ParseFS(templateFiles, "templates/*.html"))
|
|
|
|
// LoginData 是登录页面所需的非敏感展示数据。
|
|
type LoginData struct {
|
|
CSRFToken string
|
|
ReturnTo string
|
|
Username string
|
|
Error string
|
|
}
|
|
|
|
// TasksData 是当前受保护任务空壳所需的数据。任务字段将在后续任务实现。
|
|
type TasksData struct {
|
|
CSRFToken string
|
|
}
|
|
|
|
// RenderLogin 写入登录页。
|
|
func RenderLogin(writer io.Writer, data LoginData) error {
|
|
return templates.ExecuteTemplate(writer, "login.html", data)
|
|
}
|
|
|
|
// RenderTasks 写入登录后的受保护空壳。
|
|
func RenderTasks(writer io.Writer, data TasksData) error {
|
|
return templates.ExecuteTemplate(writer, "tasks.html", data)
|
|
}
|