All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 7m55s
50 lines
1.8 KiB
Go
50 lines
1.8 KiB
Go
package routes
|
||
|
||
import (
|
||
"github.com/gofiber/fiber/v2"
|
||
|
||
"github.com/break/junhong_cmp_fiber/internal/bootstrap"
|
||
"github.com/break/junhong_cmp_fiber/pkg/openapi"
|
||
)
|
||
|
||
// RegisterRoutes 路由注册总入口
|
||
// 按业务模块调用各自的路由注册函数
|
||
func RegisterRoutes(app *fiber.App, handlers *bootstrap.Handlers, middlewares *bootstrap.Middlewares) {
|
||
RegisterRoutesWithDoc(app, handlers, middlewares, nil)
|
||
}
|
||
|
||
// RegisterRoutesWithDoc 路由注册总入口(支持文档生成)
|
||
func RegisterRoutesWithDoc(app *fiber.App, handlers *bootstrap.Handlers, middlewares *bootstrap.Middlewares, doc *openapi.Generator) {
|
||
// 1. 全局路由
|
||
registerHealthRoutes(app, doc)
|
||
|
||
// 2. 统一认证路由 (挂载在 /api/auth)
|
||
if handlers.Auth != nil {
|
||
authGroup := app.Group("/api/auth")
|
||
RegisterAuthRoutes(authGroup, handlers.Auth, middlewares.AdminAuth, doc, "/api/auth")
|
||
}
|
||
|
||
// 3. Admin 域 (挂载在 /api/admin)
|
||
adminGroup := app.Group("/api/admin")
|
||
RegisterAdminRoutes(adminGroup, handlers, middlewares, doc, "/api/admin")
|
||
|
||
// 4. 个人客户路由 (挂载在 /api/c/v1)
|
||
personalGroup := app.Group("/api/c/v1")
|
||
RegisterPersonalCustomerRoutes(personalGroup, doc, "/api/c/v1", handlers, middlewares.PersonalAuth)
|
||
|
||
// 5. 代理开放接口路由 (挂载在 /api/open/v1)
|
||
if handlers.AgentOpenAPI != nil {
|
||
openGroup := app.Group("/api/open/v1")
|
||
if middlewares.AgentOpenAPIAuth != nil {
|
||
openGroup = app.Group("/api/open/v1", middlewares.AgentOpenAPIAuth)
|
||
}
|
||
RegisterOpenAPIRoutes(openGroup, handlers.AgentOpenAPI, doc, "/api/open/v1")
|
||
}
|
||
|
||
// 6. 支付回调路由 (挂载在 /api/callback,无需认证)
|
||
if handlers.PaymentCallback != nil {
|
||
callbackGroup := app.Group("/api/callback")
|
||
registerPaymentCallbackRoutes(callbackGroup, handlers.PaymentCallback, doc, "/api/callback")
|
||
}
|
||
}
|