From 59508efb0573bb8eeb327f273b46ac09db876d03 Mon Sep 17 00:00:00 2001 From: root Date: Tue, 10 Mar 2026 01:14:30 +0800 Subject: [PATCH] feat: move marketing admin to /api/admin and remove built-in page --- internal/routes/admin_routes.go | 27 +- internal/routes/routes.go | 32 +-- web/marketing/index.html | 490 -------------------------------- 3 files changed, 27 insertions(+), 522 deletions(-) delete mode 100644 web/marketing/index.html diff --git a/internal/routes/admin_routes.go b/internal/routes/admin_routes.go index 1655d73..1605a99 100644 --- a/internal/routes/admin_routes.go +++ b/internal/routes/admin_routes.go @@ -4,9 +4,16 @@ import ( "github.com/gin-gonic/gin" adminhandler "wx_service/internal/admin" + marketinghandler "wx_service/internal/marketing/handler" ) -func registerAdminRoutes(router *gin.Engine, handler *adminhandler.Handler) { +func registerAdminRoutes( + router *gin.Engine, + handler *adminhandler.Handler, + categoryHandler *marketinghandler.CategoryHandler, + templateHandler *marketinghandler.TemplateHandler, + downloadHandler *marketinghandler.DownloadHandler, +) { if handler == nil { return } @@ -39,6 +46,24 @@ func registerAdminRoutes(router *gin.Engine, handler *adminhandler.Handler) { protected.GET("/memberships/redeem-codes", handler.ListMembershipRedeemCodes) protected.POST("/memberships/redeem-codes", handler.CreateMembershipRedeemCodes) protected.POST("/memberships/redeem-codes/:id/status", handler.UpdateMembershipRedeemCodeStatus) + + if categoryHandler != nil && templateHandler != nil && downloadHandler != nil { + marketing := protected.Group("/marketing") + { + marketing.GET("/categories", categoryHandler.AdminList) + marketing.POST("/categories", categoryHandler.AdminCreate) + marketing.PUT("/categories/:id", categoryHandler.AdminUpdate) + marketing.DELETE("/categories/:id", categoryHandler.AdminDelete) + + marketing.GET("/templates", templateHandler.AdminList) + marketing.POST("/templates", templateHandler.AdminCreate) + marketing.PUT("/templates/:id", templateHandler.AdminUpdate) + marketing.DELETE("/templates/:id", templateHandler.AdminDelete) + + marketing.GET("/stats", downloadHandler.AdminStats) + marketing.POST("/upload/qiniu/token", downloadHandler.AdminQiniuToken) + } + } } } } diff --git a/internal/routes/routes.go b/internal/routes/routes.go index ca000e6..4ef9b97 100644 --- a/internal/routes/routes.go +++ b/internal/routes/routes.go @@ -2,8 +2,6 @@ package routes import ( "net/http" - "os" - "path/filepath" "github.com/gin-gonic/gin" "gorm.io/gorm" @@ -22,29 +20,6 @@ import ( smokehandler "wx_service/internal/smoke/handler" ) -func resolveMarketingPage() string { - candidates := []string{ - filepath.Join("web", "marketing", "index.html"), - filepath.Join("..", "web", "marketing", "index.html"), - } - - if executable, err := os.Executable(); err == nil { - exeDir := filepath.Dir(executable) - candidates = append(candidates, - filepath.Join(exeDir, "web", "marketing", "index.html"), - filepath.Join(exeDir, "..", "web", "marketing", "index.html"), - ) - } - - for _, path := range candidates { - if _, err := os.Stat(path); err == nil { - return path - } - } - - return filepath.Join("web", "marketing", "index.html") -} - func Register( router *gin.Engine, db *gorm.DB, @@ -93,7 +68,7 @@ func Register( registerMarketingRoutes(api, protected, adminToken, marketingCategoryHandler, marketingTemplateHandler, marketingDownloadHandler) } - registerAdminRoutes(router, adminHandler) + registerAdminRoutes(router, adminHandler, marketingCategoryHandler, marketingTemplateHandler, marketingDownloadHandler) // 保质期提醒模块使用独立前缀 /api/expiry,与现有 /api/v1 并存。 expiryAPI := router.Group("/api/expiry") @@ -108,11 +83,6 @@ func Register( } } - // Web 管理后台静态文件 - marketingPage := resolveMarketingPage() - router.StaticFile("/admin/marketing", marketingPage) - router.StaticFile("/admin/marketing/", marketingPage) - // 健康检查:用于容器/负载均衡探活 router.GET("/healthz", func(c *gin.Context) { c.JSON(http.StatusOK, gin.H{"status": "ok"}) diff --git a/web/marketing/index.html b/web/marketing/index.html deleted file mode 100644 index a249b6e..0000000 --- a/web/marketing/index.html +++ /dev/null @@ -1,490 +0,0 @@ - - - - - - 营销图管理后台 - - - - - - - -
- - - - -
-
-

营销图管理后台

- 退出 -
-
- -
-
-
{{ stats.categoryCount }}
-
分类总数
-
-
-
{{ stats.templateCount }}
-
模板总数
-
-
-
{{ stats.totalDownloads }}
-
总下载次数
-
-
-
{{ stats.todayDownloads }}
-
今日下载
-
-
- - -
-
-

分类管理

- 新增分类 -
- - - - - - - - - - - - - - -
- - -
-
-

模板管理

-
- - - - 新增模板 -
-
- - - - - - - - - - - - - - - - - - -
- -
-
-
- - - - - - -
- - 上传 -
-
- - - - -
- -
- - - - - - - - - - - -
- - 上传 -
-
- -
- - 上传 -
-
- - - - - - - - - -
- -
- - - -
-
- - - -