package handlers import ( "encoding/json" "log" "net/http" "trade/web/internal/store" ) // Deps 是所有 handler 需要的运行时依赖,在 router 装配时一次性注入。 type Deps struct { Auth *store.AuthStore Futures *store.FuturesStore TushareURL string AIConfig *AIConfig } func writeJSON(w http.ResponseWriter, status int, body any) { w.Header().Set("Content-Type", "application/json") w.WriteHeader(status) if err := json.NewEncoder(w).Encode(body); err != nil { log.Printf("[handler] encode response: %v", err) } } func writeErr(w http.ResponseWriter, status int, msg string) { writeJSON(w, status, map[string]string{"error": msg}) }