package routes import ( "tyapi-server/internal/infrastructure/http/handlers" sharedhttp "tyapi-server/internal/shared/http" "tyapi-server/internal/shared/middleware" "go.uber.org/zap" ) // AdminRoutes 管理员路由注册器 type AdminRoutes struct { handler *handlers.AdminHandler authMiddleware *middleware.JWTAuthMiddleware logger *zap.Logger } // NewAdminRoutes 创建管理员路由注册器 func NewAdminRoutes( handler *handlers.AdminHandler, authMiddleware *middleware.JWTAuthMiddleware, logger *zap.Logger, ) *AdminRoutes { return &AdminRoutes{ handler: handler, authMiddleware: authMiddleware, logger: logger, } } // Register 注册管理员相关路由 func (r *AdminRoutes) Register(router *sharedhttp.GinRouter) { // 管理员路由组 engine := router.GetEngine() adminGroup := engine.Group("/api/v1/admin") { // 认证相关路由(无需认证) authGroup := adminGroup.Group("/auth") { authGroup.POST("/login", r.handler.Login) } // 管理员管理路由(需要认证) authenticated := adminGroup.Group("") authenticated.Use(r.authMiddleware.Handle()) { authenticated.POST("", r.handler.CreateAdmin) // 创建管理员 authenticated.GET("", r.handler.ListAdmins) // 获取管理员列表 authenticated.GET("/stats", r.handler.GetAdminStats) // 获取统计信息 authenticated.GET("/:id", r.handler.GetAdminByID) // 获取管理员详情 authenticated.PUT("/:id", r.handler.UpdateAdmin) // 更新管理员 authenticated.DELETE("/:id", r.handler.DeleteAdmin) // 删除管理员 authenticated.POST("/change-password", r.handler.ChangePassword) // 修改密码 } } r.logger.Info("管理员路由注册完成") }