Files
trade/web/backend/internal/config/config.go

38 lines
816 B
Go

package config
import (
"fmt"
"os"
)
type Config struct {
ListenAddr string
DatabaseURL string
TushareAPIURL string
LLMBaseURL string
LLMAPIKey string
LLMModel string
}
func Load() (*Config, error) {
cfg := &Config{
ListenAddr: getenv("LISTEN_ADDR", ":8080"),
DatabaseURL: os.Getenv("DATABASE_URL"),
TushareAPIURL: getenv("TUSHARE_API_URL", "http://tushare:8000"),
LLMBaseURL: getenv("LLM_BASE_URL", "https://api.deepseek.com/v1"),
LLMAPIKey: os.Getenv("LLM_API_KEY"),
LLMModel: getenv("LLM_MODEL", "deepseek-chat"),
}
if cfg.DatabaseURL == "" {
return nil, fmt.Errorf("DATABASE_URL 环境变量未设置")
}
return cfg, nil
}
func getenv(key, fallback string) string {
if v, ok := os.LookupEnv(key); ok && v != "" {
return v
}
return fallback
}