717d2c70be
- 新增 db.go:MySQL 连接管理、自动建表、兼容旧表 ALTER - handler.go:处理 UserPromptSubmit,从 cwd 提取项目名称 - main.go:可选初始化 MySQL,优雅关闭释放连接 - config.go:新增 MYSQL_DSN 配置项 - 表结构:session_id + project_name + prompt + created_at
36 lines
644 B
Go
36 lines
644 B
Go
package main
|
|
|
|
import (
|
|
"os"
|
|
|
|
"github.com/joho/godotenv"
|
|
)
|
|
|
|
func init() {
|
|
// 加载 .env 文件(如果存在),环境变量优先
|
|
_ = godotenv.Load()
|
|
}
|
|
|
|
type Config struct {
|
|
GotifyURL string
|
|
GotifyToken string
|
|
Port string
|
|
MySQLDSN string // MySQL 连接串,留空则不启用数据库记录
|
|
}
|
|
|
|
func LoadConfig() Config {
|
|
return Config{
|
|
GotifyURL: getEnv("GOTIFY_URL", ""),
|
|
GotifyToken: getEnv("GOTIFY_TOKEN", ""),
|
|
Port: getEnv("PORT", ":8082"),
|
|
MySQLDSN: getEnv("MYSQL_DSN", ""),
|
|
}
|
|
}
|
|
|
|
func getEnv(key, fallback string) string {
|
|
if v := os.Getenv(key); v != "" {
|
|
return v
|
|
}
|
|
return fallback
|
|
}
|