package routes import ( "github.com/gofiber/fiber/v2" "github.com/break/junhong_cmp_fiber/internal/bootstrap" "github.com/break/junhong_cmp_fiber/internal/model" "github.com/break/junhong_cmp_fiber/pkg/openapi" ) // RegisterH5Routes 注册H5相关路由 func RegisterH5Routes(router fiber.Router, handlers *bootstrap.Handlers, middlewares *bootstrap.Middlewares, doc *openapi.Generator, basePath string) { if handlers.H5Auth != nil { registerH5AuthRoutes(router, handlers.H5Auth, middlewares.H5Auth, doc, basePath) } } func registerH5AuthRoutes(router fiber.Router, handler interface{}, authMiddleware fiber.Handler, doc *openapi.Generator, basePath string) { h := handler.(interface { Login(c *fiber.Ctx) error Logout(c *fiber.Ctx) error RefreshToken(c *fiber.Ctx) error GetMe(c *fiber.Ctx) error ChangePassword(c *fiber.Ctx) error }) Register(router, doc, basePath, "POST", "/login", h.Login, RouteSpec{ Summary: "H5 登录", Tags: []string{"H5 认证"}, Input: new(model.LoginRequest), Output: new(model.LoginResponse), Auth: false, }) Register(router, doc, basePath, "POST", "/refresh-token", h.RefreshToken, RouteSpec{ Summary: "刷新 Token", Tags: []string{"H5 认证"}, Input: new(model.RefreshTokenRequest), Output: new(model.RefreshTokenResponse), Auth: false, }) authGroup := router.Group("", authMiddleware) Register(authGroup, doc, basePath, "POST", "/logout", h.Logout, RouteSpec{ Summary: "登出", Tags: []string{"H5 认证"}, Input: nil, Output: nil, Auth: true, }) Register(authGroup, doc, basePath, "GET", "/me", h.GetMe, RouteSpec{ Summary: "获取当前用户信息", Tags: []string{"H5 认证"}, Input: nil, Output: new(model.UserInfo), Auth: true, }) Register(authGroup, doc, basePath, "PUT", "/password", h.ChangePassword, RouteSpec{ Summary: "修改密码", Tags: []string{"H5 认证"}, Input: new(model.ChangePasswordRequest), Output: nil, Auth: true, }) }