package middleware import "net/http" // CORS 处理跨域资源共享 func CORS(next http.Handler) http.Handler { return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { // 设置CORS响应头 w.Header().Set("Access-Control-Allow-Origin", "*") w.Header().Set("Access-Control-Allow-Methods", "GET, POST, OPTIONS") w.Header().Set("Access-Control-Allow-Headers", "Content-Type, Authorization") // 如果是预检请求,直接返回200 if r.Method == http.MethodOptions { w.WriteHeader(http.StatusOK) return } // 继续下一个处理器 next.ServeHTTP(w, r) }) }