fd097729d7
- 成就系统、连续打卡天数计算、管理后台成就 CRUD - 梦想目标图标预设 DreamPreset 与用户端 dream-presets 接口 - 管理后台梦想图标 CRUD;戒烟打卡 summary 修正 - 忽略根目录编译产物 /api Made-with: Cursor
59 lines
2.3 KiB
Go
59 lines
2.3 KiB
Go
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)
|
|
}
|
|
}
|