package config import ( "log" "os" ) // Config 保存所有服务配置,全部通过环境变量注入(12-Factor App)。 type Config struct { WSHost string WSPort string RTCBackendURL string } // Load 从环境变量读取配置,必填项缺失时直接 Fatal。 func Load() *Config { backendURL := getEnv("HW_RTC_BACKEND_URL", "") if backendURL == "" { log.Fatal("config: HW_RTC_BACKEND_URL is required") } return &Config{ WSHost: getEnv("HW_WS_HOST", "0.0.0.0"), WSPort: getEnv("HW_WS_PORT", "8888"), RTCBackendURL: backendURL, } } func getEnv(key, fallback string) string { if v := os.Getenv(key); v != "" { return v } return fallback }