|
@@ -11,6 +11,7 @@ import (
|
|
|
|
|
|
|
|
"github.com/beego/beego/v2/client/orm"
|
|
"github.com/beego/beego/v2/client/orm"
|
|
|
beego "github.com/beego/beego/v2/server/web"
|
|
beego "github.com/beego/beego/v2/server/web"
|
|
|
|
|
+ bcontext "github.com/beego/beego/v2/server/web/context"
|
|
|
_ "github.com/go-sql-driver/mysql"
|
|
_ "github.com/go-sql-driver/mysql"
|
|
|
)
|
|
)
|
|
|
|
|
|
|
@@ -101,6 +102,28 @@ func init() {
|
|
|
if err := utils.InitWxPay(); err != nil {
|
|
if err := utils.InitWxPay(); err != nil {
|
|
|
log.Fatalf("init wxpay failed: %v", err)
|
|
log.Fatalf("init wxpay failed: %v", err)
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ // 注册全局CORS过滤器
|
|
|
|
|
+ beego.InsertFilter("*", beego.BeforeRouter, CORSFilter)
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+// CORSFilter 用于处理跨域请求
|
|
|
|
|
+func CORSFilter(ctx *bcontext.Context) {
|
|
|
|
|
+ // 设置CORS响应头
|
|
|
|
|
+ ctx.Output.Header("Access-Control-Allow-Origin", "*")
|
|
|
|
|
+ ctx.Output.Header("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, OPTIONS, PATCH, HEAD")
|
|
|
|
|
+ ctx.Output.Header("Access-Control-Allow-Headers", "*")
|
|
|
|
|
+ ctx.Output.Header("Access-Control-Max-Age", "86400")
|
|
|
|
|
+ ctx.Output.Header("Access-Control-Allow-Credentials", "true")
|
|
|
|
|
+ ctx.Output.Header("Access-Control-Expose-Headers", "*")
|
|
|
|
|
+
|
|
|
|
|
+ // 移除引荐来源网址政策限制
|
|
|
|
|
+ ctx.Output.Header("Referrer-Policy", "no-referrer")
|
|
|
|
|
+
|
|
|
|
|
+ // 处理预检请求
|
|
|
|
|
+ if ctx.Input.Method() == "OPTIONS" {
|
|
|
|
|
+ ctx.Output.SetStatus(200)
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
func main() {
|
|
func main() {
|