From 684d6bafb818890f391770c983053e17fc410e7b Mon Sep 17 00:00:00 2001 From: eafonyang Date: Fri, 12 Jun 2026 18:44:49 +0800 Subject: [PATCH] =?UTF-8?q?feat(router):=20=E6=A0=B9=E6=8D=AE=E7=8E=AF?= =?UTF-8?q?=E5=A2=83=E9=85=8D=E7=BD=AE=E6=9C=89=E6=9D=A1=E4=BB=B6=E5=90=AF?= =?UTF-8?q?=E7=94=A8Swagger=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增env参数用于路由初始化 - 仅当环境非生产时启用Swagger文档访问 - 通过传递环境配置参数控制文档路由注册 - 修改router构造函数和调用处以支持新参数 --- cmd/server/main.go | 2 +- internal/router/router.go | 8 +++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/cmd/server/main.go b/cmd/server/main.go index 436c213..e8476b1 100644 --- a/cmd/server/main.go +++ b/cmd/server/main.go @@ -105,7 +105,7 @@ func main() { zap.String("region", cfg.S3.Region), ) - engine := router.New(log, db, searchClient, rdb, cfg.Equalize, s3Storage, cfg.ShareCodeMaxPerMac, time.Duration(cfg.ShareCodeTTLMin)*time.Minute) + engine := router.New(log, db, searchClient, rdb, cfg.Equalize, s3Storage, cfg.ShareCodeMaxPerMac, time.Duration(cfg.ShareCodeTTLMin)*time.Minute, cfg.Env) srv := &http.Server{ Addr: cfg.Addr(), diff --git a/internal/router/router.go b/internal/router/router.go index 9699fa6..33daa99 100644 --- a/internal/router/router.go +++ b/internal/router/router.go @@ -19,7 +19,7 @@ import ( ginSwagger "github.com/swaggo/gin-swagger" ) -func New(log *zap.Logger, db *sql.DB, searchClient *search.Client, rdb *redis.Client, eqCfg config.EqualizeConfig, s3 *storage.S3Storage, shareCodeMaxPerMac int, shareCodeTTL time.Duration) *gin.Engine { +func New(log *zap.Logger, db *sql.DB, searchClient *search.Client, rdb *redis.Client, eqCfg config.EqualizeConfig, s3 *storage.S3Storage, shareCodeMaxPerMac int, shareCodeTTL time.Duration, env string) *gin.Engine { r := gin.New() r.Use(gin.Recovery()) r.Use(middleware.RequestID()) @@ -55,8 +55,10 @@ func New(log *zap.Logger, db *sql.DB, searchClient *search.Client, rdb *redis.Cl v1.GET("/health", health.Check) } - // Swagger - r.GET("/docs/*any", ginSwagger.WrapHandler(swaggerFiles.Handler)) + // Swagger — 仅非生产环境启用 + if env != "production" { + r.GET("/docs/*any", ginSwagger.WrapHandler(swaggerFiles.Handler)) + } audio := r.Group("/audio") {