package middleware import "github.com/astaxie/beego/context" func CorsMiddleware(ctx *context.Context) { // 设置允许跨域的域名 ctx.ResponseWriter.Header().Set("Access-Control-Allow-Origin", "*") // 允许的方法 ctx.ResponseWriter.Header().Set("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, OPTIONS") // 允许的请求标头 ctx.ResponseWriter.Header().Set("Access-Control-Allow-Headers", "Origin, Authorization, Content-Type") // 允许跨域 cookie 传递 ctx.ResponseWriter.Header().Set("Access-Control-Allow-Credentials", "true") // 预检请求的处理 if ctx.Input.Method() == "OPTIONS" { ctx.ResponseWriter.Header().Set("Access-Control-Max-Age", "86400") // 预检请求结果的缓存时间,单位秒 ctx.ResponseWriter.WriteHeader(200) } }