初始化

初始化项目
This commit is contained in:
truewhile
2026-08-23 22:12:32 +08:00
parent 0bcb1fec87
commit 71bf60c69c
631 changed files with 2121 additions and 76050 deletions
+10 -30
View File
@@ -58,13 +58,12 @@ func schemaHandler(_ *service.Container) gin.HandlerFunc {
return func(c *gin.Context) {
c.JSON(http.StatusOK, gin.H{
"groups": []gin.H{
{
"key": "general",
"label": "常规",
"items": []gin.H{
{"key": "tmdb.language", "type": "select", "label": "TMDb 元数据语言"},
{"key": "app.server_url", "type": "text", "label": "公开访问域名 / STRM 域名"},
{"key": "transcode.enabled", "type": "toggle", "label": "启用转码"},
{
"key": "general",
"label": "常规",
"items": []gin.H{
{"key": "tmdb.language", "type": "select", "label": "TMDb 元数据语言"},
{"key": "transcode.enabled", "type": "toggle", "label": "启用转码"},
{"key": "transcode.hw_accel", "type": "select", "label": "硬件编码器"},
{"key": "transcode.hw_enabled", "type": "toggle", "label": "启用硬件加速"},
{"key": "transcode.max_jobs", "type": "number", "label": "最大并发"},
@@ -121,19 +120,10 @@ func schemaHandler(_ *service.Container) gin.HandlerFunc {
{"key": "qbittorrent.password", "type": "text"},
{"key": "qbittorrent.savepath", "type": "text"},
},
},
{
"key": "license",
"label": "授权服务",
"items": []gin.H{
{"key": "license.server_url", "type": "text", "label": "License Server 地址"},
{"key": "license.public_key", "type": "text", "label": "Ed25519 验签公钥"},
{"key": "license.hmac_secret", "type": "text", "label": "HMAC 签名密钥(旧版兼容)"},
},
},
{
"key": "system-update",
"label": "系统更新",
},
{
"key": "system-update",
"label": "系统更新",
"items": []gin.H{
{"key": "system.update.image", "type": "text", "label": "应用镜像"},
{"key": "system.update.compose_dir", "type": "text", "label": "Docker Compose 安装目录"},
@@ -145,16 +135,6 @@ func schemaHandler(_ *service.Container) gin.HandlerFunc {
}
}
// schedulerTriggerHandler is the alternate path for /admin/scheduler/:name/run.
func schedulerTriggerHandler(svc *service.Container) gin.HandlerFunc {
return func(c *gin.Context) {
if !triggerSchedulerJob(c, svc, c.Param("name")) {
return
}
c.JSON(http.StatusAccepted, gin.H{"ok": true, "message": "任务已在后台触发"})
}
}
// ─── SSE ticket store ───────────────────────────────────────────────────────
//
// The Vue UI's SSE event stream wants a one-time signed ticket so the