feat: add quit-checkin v2 backend APIs
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
package routes
|
||||
|
||||
import (
|
||||
"github.com/gin-gonic/gin"
|
||||
|
||||
quitcheckinhandler "wx_service/internal/quitcheckin/handler"
|
||||
)
|
||||
|
||||
// registerQuitCheckinRoutes 用于注册 V2 无烟打卡相关接口。
|
||||
func registerQuitCheckinRoutes(protected *gin.RouterGroup, handler *quitcheckinhandler.Handler) {
|
||||
v2 := protected.Group("")
|
||||
{
|
||||
v2.GET("/profile", handler.GetProfile)
|
||||
v2.POST("/profile", handler.UpsertProfile)
|
||||
|
||||
v2.GET("/checkin/home", handler.Home)
|
||||
v2.POST("/checkin/check", handler.Checkin)
|
||||
v2.POST("/checkin/relapse", handler.Relapse)
|
||||
|
||||
v2.GET("/stats/overview", handler.StatsOverview)
|
||||
v2.GET("/badges", handler.ListBadges)
|
||||
v2.GET("/relapses", handler.ListRelapses)
|
||||
|
||||
v2.GET("/reward-goals", handler.ListRewardGoals)
|
||||
v2.POST("/reward-goals", handler.CreateRewardGoal)
|
||||
v2.PUT("/reward-goals/:id", handler.UpdateRewardGoal)
|
||||
|
||||
v2.GET("/poster/data", handler.PosterData)
|
||||
v2.POST("/poster/generate", handler.GeneratePoster)
|
||||
}
|
||||
}
|
||||
@@ -16,6 +16,7 @@ import (
|
||||
marketinghandler "wx_service/internal/marketing/handler"
|
||||
membershiphandler "wx_service/internal/membership/handler"
|
||||
"wx_service/internal/middleware"
|
||||
quitcheckinhandler "wx_service/internal/quitcheckin/handler"
|
||||
rmhandler "wx_service/internal/remove_watermark/handler"
|
||||
smokehandler "wx_service/internal/smoke/handler"
|
||||
)
|
||||
@@ -38,6 +39,7 @@ func Register(
|
||||
marketingCategoryHandler *marketinghandler.CategoryHandler,
|
||||
marketingTemplateHandler *marketinghandler.TemplateHandler,
|
||||
marketingDownloadHandler *marketinghandler.DownloadHandler,
|
||||
quitCheckinHandler *quitcheckinhandler.Handler,
|
||||
) {
|
||||
// Register 用来集中注册所有 HTTP 路由,便于工程结构更清晰:
|
||||
// - main 只负责初始化(配置/DB/依赖注入)
|
||||
@@ -69,6 +71,16 @@ func Register(
|
||||
registerMarketingRoutes(api, protected, adminToken, marketingCategoryHandler, marketingTemplateHandler, marketingDownloadHandler)
|
||||
}
|
||||
|
||||
apiV2 := router.Group("/api/v2")
|
||||
{
|
||||
protectedV2 := apiV2.Group("")
|
||||
protectedV2.Use(middleware.AuthMiddleware(db, sessionCache))
|
||||
protectedV2.Use(middleware.RequireUserMiddleware())
|
||||
{
|
||||
registerQuitCheckinRoutes(protectedV2, quitCheckinHandler)
|
||||
}
|
||||
}
|
||||
|
||||
registerAdminRoutes(router, adminHandler, marketingCategoryHandler, marketingTemplateHandler, marketingDownloadHandler)
|
||||
|
||||
// 保质期提醒模块使用独立前缀 /api/expiry,与现有 /api/v1 并存。
|
||||
|
||||
Reference in New Issue
Block a user