feat: add FFmpeg status check and shutdown button
- FFmpeg check no longer blocks server startup - Add /api/checkFFmpeg endpoint to query FFmpeg availability - Add /api/shutdown endpoint to gracefully stop the server - Add FFmpeg status indicator in web header - Add shutdown button in web interface - Move static files output to cmd/bilidown/static for embedding - Update .gitignore to exclude cmd/bilidown/static Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
+3
-22
@@ -5,7 +5,6 @@ import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"log"
|
||||
"os"
|
||||
"strings"
|
||||
"sync"
|
||||
)
|
||||
@@ -97,37 +96,19 @@ func GetCurrentFolder(db *sql.DB) (string, error) {
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
err = os.MkdirAll(folder, os.ModePerm)
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
err = SaveDownloadFolder(db, folder)
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
return folder, nil
|
||||
}
|
||||
err = os.MkdirAll(folder, os.ModePerm)
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
return folder, nil
|
||||
return folder, err
|
||||
}
|
||||
|
||||
// SaveDownloadFolder 保存下载路径,不存在则自动创建
|
||||
// SaveDownloadFolder 保存下载路径(不自动创建目录)
|
||||
func SaveDownloadFolder(db *sql.DB, downloadFolder string) error {
|
||||
_, err := os.Stat(downloadFolder)
|
||||
if err != nil {
|
||||
if os.IsNotExist(err) {
|
||||
err = os.MkdirAll(downloadFolder, os.ModePerm)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
return err
|
||||
}
|
||||
SqliteLock.Lock()
|
||||
_, err = db.Exec(`INSERT OR REPLACE INTO "field" ("name", "value") VALUES ('download_folder', ?)`, downloadFolder)
|
||||
_, err := db.Exec(`INSERT OR REPLACE INTO "field" ("name", "value") VALUES ('download_folder', ?)`, downloadFolder)
|
||||
SqliteLock.Unlock()
|
||||
return err
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user