commits
This commit is contained in:
+69
-69
@@ -1,69 +1,69 @@
|
||||
package routers
|
||||
|
||||
import (
|
||||
"os"
|
||||
|
||||
"server/middleware"
|
||||
"server/routers/api"
|
||||
"server/routers/backend"
|
||||
"server/routers/index"
|
||||
"server/routers/platform"
|
||||
|
||||
beego "github.com/beego/beego/v2/server/web"
|
||||
"github.com/beego/beego/v2/server/web/context"
|
||||
)
|
||||
|
||||
// 初始化路由(精简版)
|
||||
func init() {
|
||||
// 全局 CORS 处理 + 预检请求
|
||||
// 注意:Allow-Origin 为 * 时不能同时设置 Allow-Credentials: true,否则浏览器会拒绝带 Authorization 的预检(上传/接口跨域常见现象)。
|
||||
// 当前 JWT 走 Header、前端 axios withCredentials=false,无需携带 Cookie,故不返回 Allow-Credentials。
|
||||
beego.InsertFilter("*", beego.BeforeRouter, func(ctx *context.Context) {
|
||||
ctx.Output.Header("Access-Control-Allow-Origin", "*")
|
||||
ctx.Output.Header("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, PATCH, OPTIONS")
|
||||
ctx.Output.Header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept, Authorization")
|
||||
ctx.Output.Header("Access-Control-Max-Age", "86400")
|
||||
|
||||
if ctx.Input.Method() == "OPTIONS" {
|
||||
ctx.Output.Status = 200
|
||||
ctx.Output.Body([]byte(""))
|
||||
return
|
||||
}
|
||||
})
|
||||
|
||||
// 全局操作日志:请求开始采集
|
||||
beego.InsertFilter("*", beego.BeforeRouter, middleware.BeginOperationLog)
|
||||
// 全局操作日志:请求结束统一落库
|
||||
beego.InsertFilter("*", beego.FinishRouter, middleware.FinishOperationLog)
|
||||
|
||||
// 根据运行模式选择要注册的路由组
|
||||
// 优先读取环境变量 APP_MODE,其次读取配置 app_mode,默认 all
|
||||
mode := os.Getenv("APP_MODE")
|
||||
if mode == "" {
|
||||
mode, _ = beego.AppConfig.String("app_mode")
|
||||
}
|
||||
if mode == "" {
|
||||
mode = "all"
|
||||
}
|
||||
|
||||
switch mode {
|
||||
case "platform":
|
||||
platform.Register()
|
||||
// 在 platform 模式下,仍保留 backend 登录相关路由,避免后台登录 404
|
||||
backend.RegisterAuthRoutes()
|
||||
case "backend":
|
||||
backend.Register()
|
||||
case "index":
|
||||
index.Register()
|
||||
case "api":
|
||||
api.Register()
|
||||
case "all":
|
||||
platform.Register()
|
||||
backend.Register()
|
||||
index.Register()
|
||||
api.Register()
|
||||
default:
|
||||
// 未知模式时,退回到只启用平台端,避免启动失败
|
||||
platform.Register()
|
||||
}
|
||||
}
|
||||
package routers
|
||||
|
||||
import (
|
||||
"os"
|
||||
|
||||
"server/middleware"
|
||||
"server/routers/api"
|
||||
"server/routers/backend"
|
||||
"server/routers/index"
|
||||
"server/routers/platform"
|
||||
|
||||
beego "github.com/beego/beego/v2/server/web"
|
||||
"github.com/beego/beego/v2/server/web/context"
|
||||
)
|
||||
|
||||
// 初始化路由(精简版)
|
||||
func init() {
|
||||
// 全局 CORS 处理 + 预检请求
|
||||
// 注意:Allow-Origin 为 * 时不能同时设置 Allow-Credentials: true,否则浏览器会拒绝带 Authorization 的预检(上传/接口跨域常见现象)。
|
||||
// 当前 JWT 走 Header、前端 axios withCredentials=false,无需携带 Cookie,故不返回 Allow-Credentials。
|
||||
beego.InsertFilter("*", beego.BeforeRouter, func(ctx *context.Context) {
|
||||
ctx.Output.Header("Access-Control-Allow-Origin", "*")
|
||||
ctx.Output.Header("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, PATCH, OPTIONS")
|
||||
ctx.Output.Header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept, Authorization")
|
||||
ctx.Output.Header("Access-Control-Max-Age", "86400")
|
||||
|
||||
if ctx.Input.Method() == "OPTIONS" {
|
||||
ctx.Output.Status = 200
|
||||
ctx.Output.Body([]byte(""))
|
||||
return
|
||||
}
|
||||
})
|
||||
|
||||
// 全局操作日志:请求开始采集
|
||||
beego.InsertFilter("*", beego.BeforeRouter, middleware.BeginOperationLog)
|
||||
// 全局操作日志:请求结束统一落库
|
||||
beego.InsertFilter("*", beego.FinishRouter, middleware.FinishOperationLog)
|
||||
|
||||
// 根据运行模式选择要注册的路由组
|
||||
// 优先读取环境变量 APP_MODE,其次读取配置 app_mode,默认 all
|
||||
mode := os.Getenv("APP_MODE")
|
||||
if mode == "" {
|
||||
mode, _ = beego.AppConfig.String("app_mode")
|
||||
}
|
||||
if mode == "" {
|
||||
mode = "all"
|
||||
}
|
||||
|
||||
switch mode {
|
||||
case "platform":
|
||||
platform.Register()
|
||||
// 在 platform 模式下,仍保留 backend 登录相关路由,避免后台登录 404
|
||||
backend.RegisterAuthRoutes()
|
||||
case "backend":
|
||||
backend.Register()
|
||||
case "index":
|
||||
index.Register()
|
||||
case "api":
|
||||
api.Register()
|
||||
case "all":
|
||||
platform.Register()
|
||||
backend.Register()
|
||||
index.Register()
|
||||
api.Register()
|
||||
default:
|
||||
// 未知模式时,退回到只启用平台端,避免启动失败
|
||||
platform.Register()
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user