2026-06-21 21:49:51 +08:00
|
|
|
package main
|
|
|
|
|
|
2026-06-21 22:01:38 +08:00
|
|
|
import (
|
|
|
|
|
"os"
|
|
|
|
|
|
|
|
|
|
"github.com/joho/godotenv"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
func init() {
|
|
|
|
|
// 加载 .env 文件(如果存在),环境变量优先
|
|
|
|
|
_ = godotenv.Load()
|
|
|
|
|
}
|
2026-06-21 21:49:51 +08:00
|
|
|
|
|
|
|
|
type Config struct {
|
|
|
|
|
GotifyURL string
|
|
|
|
|
GotifyToken string
|
|
|
|
|
Port string
|
2026-06-25 23:52:42 +08:00
|
|
|
MySQLDSN string // MySQL 连接串,留空则不启用数据库记录
|
2026-06-21 21:49:51 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func LoadConfig() Config {
|
|
|
|
|
return Config{
|
2026-06-21 22:01:38 +08:00
|
|
|
GotifyURL: getEnv("GOTIFY_URL", ""),
|
|
|
|
|
GotifyToken: getEnv("GOTIFY_TOKEN", ""),
|
2026-06-21 21:49:51 +08:00
|
|
|
Port: getEnv("PORT", ":8082"),
|
2026-06-25 23:52:42 +08:00
|
|
|
MySQLDSN: getEnv("MYSQL_DSN", ""),
|
2026-06-21 21:49:51 +08:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func getEnv(key, fallback string) string {
|
|
|
|
|
if v := os.Getenv(key); v != "" {
|
|
|
|
|
return v
|
|
|
|
|
}
|
|
|
|
|
return fallback
|
|
|
|
|
}
|