package routes import ( "github.com/gin-gonic/gin" smokehandler "wx_service/internal/smoke/handler" ) func registerSmokeRoutes(protected *gin.RouterGroup, smokeHandler *smokehandler.SmokeHandler, quitPlanHandler *smokehandler.QuitPlanHandler) { // 戒烟/抽烟记录(与 video 去水印功能在路由前缀上区分开) smoke := protected.Group("/smoke") { smoke.GET("/home", smokeHandler.Home) // 首次进入/基础信息(用于基准、AI 个性化、作息规避等) smoke.GET("/profile", smokeHandler.GetProfile) smoke.POST("/profile", smokeHandler.UpsertProfile) // 不使用 AI 时的默认"下次抽烟时间"建议(阶梯式延时) smoke.GET("/next_smoke_time", smokeHandler.GetNextSmokeTime) smoke.GET("/dashboard", smokeHandler.Dashboard) smoke.GET("/stats", smokeHandler.Stats) smoke.POST("/logs", smokeHandler.Create) smoke.POST("/logs/resisted", smokeHandler.Resist) smoke.GET("/logs", smokeHandler.List) smoke.GET("/logs/latest", smokeHandler.LatestLogs) smoke.GET("/logs/:id", smokeHandler.Get) smoke.POST("/logs/:id", smokeHandler.Update) smoke.DELETE("/logs/:id", smokeHandler.Delete) smoke.GET("/motivation", smokeHandler.Motivation) // AI 戒烟建议(会员优先;非会员需看广告解锁) smoke.GET("/ai/advice", smokeHandler.GetAIAdvice) smoke.POST("/ai/advice_unlocks", smokeHandler.UnlockAIAdvice) // AI 下次抽烟时间建议(结构化时间节点) smoke.GET("/ai/next_smoke_time", smokeHandler.GetAINextSmokeTime) // AI 今日总结(分析当天抽烟数据,生成总结和建议) smoke.GET("/ai/daily_summary", smokeHandler.GetAIDailySummary) // 分享:用于给新用户只读展示统计与历史记录 smoke.POST("/share", smokeHandler.CreateShare) smoke.GET("/share/:token", smokeHandler.GetShareView) smoke.POST("/share/:token/revoke", smokeHandler.RevokeShare) // 个性化戒烟计划(30天减量方案) smoke.POST("/quit-plan/generate", quitPlanHandler.GenerateQuitPlan) smoke.GET("/quit-plan", quitPlanHandler.GetQuitPlan) smoke.GET("/quit-plan/days", quitPlanHandler.GetQuitPlanDays) smoke.POST("/quit-plan/reset", quitPlanHandler.ResetQuitPlan) // 成就系统 smoke.GET("/achievement/themes", smokeHandler.ListAchievementThemes) smoke.GET("/achievement", smokeHandler.GetAchievement) } }