feat: server static with localfile -- docker

This commit is contained in:
engigu
2026-03-11 17:32:12 +08:00
parent 3e902954a7
commit c2e8352e1f
3 changed files with 77 additions and 59 deletions
+28 -2
View File
@@ -5,12 +5,38 @@ package static
import (
"io/fs"
"os"
"path/filepath"
)
// DefaultStaticDir 是 Docker 模式下默认的静态资源目录
const DefaultStaticDir = "/www/baihu"
func GetFS() fs.FS {
return nil
dir := getStaticDir()
if dir == "" {
return nil
}
return os.DirFS(dir)
}
func ReadFile(name string) ([]byte, error) {
return nil, os.ErrNotExist
dir := getStaticDir()
if dir == "" {
return nil, os.ErrNotExist
}
return os.ReadFile(filepath.Join(dir, name))
}
func getStaticDir() string {
// 优先从环境变量读取
if dir := os.Getenv("BH_STATIC_DIR"); dir != "" {
if _, err := os.Stat(dir); err == nil {
return dir
}
}
// 回退到默认目录
if _, err := os.Stat(DefaultStaticDir); err == nil {
return DefaultStaticDir
}
return ""
}