package routes import ( "gofaster/internal/auth/controller" "gofaster/internal/auth/repository" "gofaster/internal/auth/service" "github.com/gin-gonic/gin" "go.uber.org/zap" "gorm.io/gorm" ) // RegisterFrontendRouteRoutes 注册前台路由相关路由 func RegisterFrontendRouteRoutes(router *gin.RouterGroup, db *gorm.DB, logger *zap.Logger) { // 初始化依赖 frontendRouteRepo := repository.NewFrontendRouteRepository(db) frontendBackendRouteRepo := repository.NewFrontendBackendRouteRepository(db) frontendRouteService := service.NewFrontendRouteService(frontendRouteRepo, frontendBackendRouteRepo, logger) frontendRouteController := controller.NewFrontendRouteController(frontendRouteService, logger) // 前台路由路由组 frontendRouteGroup := router.Group("/frontend-routes") { // 前台路由同步(系统初始化操作,不需要认证) { frontendRouteGroup.POST("/sync", frontendRouteController.SyncFrontendRoute) // 同步单个前台路由 frontendRouteGroup.POST("/batch-sync", frontendRouteController.BatchSyncFrontendRoutes) // 批量同步前台路由 } // 前台路由查询(需要认证) { frontendRouteGroup.GET("", frontendRouteController.GetFrontendRoutes) // 获取前台路由列表 frontendRouteGroup.GET("/:id", frontendRouteController.GetFrontendRouteByID) // 根据ID获取前台路由 frontendRouteGroup.GET("/by-module", frontendRouteController.GetFrontendRoutesByModule) // 根据模块获取前台路由 frontendRouteGroup.GET("/relations", frontendRouteController.GetRouteRelations) // 获取路由关联关系 frontendRouteGroup.GET("/:id/relations", frontendRouteController.GetRouteRelationsByFrontendRouteID) // 根据前台路由ID获取关联关系 frontendRouteGroup.GET("/stats", frontendRouteController.GetStats) // 获取统计信息 } } }