refactor: remove shutdown button for Docker deployment

Docker 容器化部署是长期运行的服务,移除关闭服务按钮:
- 删除前端 header.ts 中的关闭按钮
- 删除 main.go 中的 /api/shutdown 接口
- 删除 router.go 中的 quit 路由和处理函数

Co-Authored-By: AI
This commit is contained in:
2026-04-09 10:46:29 +08:00
parent d97c0f667d
commit 04e1045c4f
3 changed files with 2 additions and 26 deletions
-8
View File
@@ -7,7 +7,6 @@ import (
"io/fs"
"log"
"net/http"
"os"
"bilidown/internal/router"
"bilidown/internal/util"
@@ -59,13 +58,6 @@ func mustRunServer() {
http.HandleFunc("/api/checkFFmpeg", func(w http.ResponseWriter, r *http.Request) {
util.Res{Success: true, Data: map[string]bool{"available": ffmpegAvailable}}.Write(w)
})
// 添加关闭服务接口
http.HandleFunc("/api/shutdown", func(w http.ResponseWriter, r *http.Request) {
util.Res{Success: true, Message: "Shutting down..."}.Write(w)
go func() {
os.Exit(0)
}()
})
http.Handle("/api/", http.StripPrefix("/api", apiRouter))
// 启动 HTTP 服务器
go func() {
-8
View File
@@ -25,7 +25,6 @@ func API() *http.ServeMux {
router.HandleFunc("/getFields", getFields)
router.HandleFunc("/saveFields", saveFields)
router.HandleFunc("/logout", logout)
router.HandleFunc("/quit", quit)
router.HandleFunc("/getPopularVideos", getPopularVideos)
router.HandleFunc("/deleteTask", deleteTask)
router.HandleFunc("/cancelTask", cancelTask)
@@ -55,13 +54,6 @@ func getRedirectedLocation(w http.ResponseWriter, r *http.Request) {
}
}
func quit(w http.ResponseWriter, r *http.Request) {
util.Res{Success: true, Message: "退出成功"}.Write(w)
go func() {
os.Exit(0)
}()
}
func getFields(w http.ResponseWriter, r *http.Request) {
db := util.MustGetDB()
defer db.Close()
+2 -10
View File
@@ -2,7 +2,7 @@ import van from 'vanjs-core'
import { now } from 'vanjs-router'
import { GLOBAL_HAS_LOGIN, getApi } from './mixin'
const { a, div, button, span } = van.tags
const { a, div, span } = van.tags
export const FFmpegAvailable = van.state<boolean | null>(null)
@@ -18,12 +18,6 @@ export const checkFFmpeg = async () => {
export default () => {
const classStr = (name: string) => van.derive(() => `text-nowrap nav-link ${now.val.split('/')[0] == name ? 'active' : ''}`)
const shutdown = async () => {
if (confirm('确定要关闭服务吗?')) {
await getApi('/shutdown')
}
}
return div({ class: 'hstack gap-4' },
div({ class: 'fs-4 fw-bold text-nowrap' }, 'Bilidown'),
div({ class: 'nav nav-underline flex-nowrap overflow-auto' },
@@ -46,9 +40,7 @@ export default () => {
span({ class: () => `badge ${FFmpegAvailable.val === true ? 'bg-success' : FFmpegAvailable.val === false ? 'bg-danger' : 'bg-secondary'}` },
() => FFmpegAvailable.val === true ? 'FFmpeg ✓' : FFmpegAvailable.val === false ? 'FFmpeg ✗' : '检查中...'
)
),
// 关闭按钮
button({ class: 'btn btn-outline-danger btn-sm', onclick: shutdown }, '关闭服务')
)
)
)
}