2.1 KiB
2.1 KiB
smt 戒烟小程序 ThinkPHP 模块说明
本次在 tp/app/smt 下新增了一个 ThinkPHP 多应用模块,用于承接原 wx_service 中 /api/v1/auth/* 与 /api/v1/smoke/* 的主要能力。
已迁移范围
- 小程序登录:
POST /smt/v1/auth/login - 开发登录:
POST /smt/v1/auth/dev-login - 当前用户:
GET /smt/v1/auth/me - 更新用户资料:
PUT|POST /smt/v1/auth/profile - 戒烟资料:
GET|POST /smt/v1/smoke/profile - 抽烟记录:
/smt/v1/smoke/logs* - 首页与统计:
GET /smt/v1/smoke/homeGET /smt/v1/smoke/stats
- 下次抽烟建议:
GET /smt/v1/smoke/ai/next_smoke_time
- AI 解锁与每日总结:
POST /smt/v1/smoke/ai/advice_unlocksGET /smt/v1/smoke/ai/daily_summary
- 分享:
POST /smt/v1/smoke/shareGET /smt/v1/smoke/share/:token
- 戒烟计划:
POST /smt/v1/smoke/quit-plan/generateGET /smt/v1/smoke/quit-planGET /smt/v1/smoke/quit-plan/daysPOST /smt/v1/smoke/quit-plan/reset
- 成就:
GET /smt/v1/smoke/achievement/themesGET /smt/v1/smoke/achievement
当前实现说明
- 数据库连接复用
dbbiz,直接对接users、mini_programs、user_memberships、fa_smoke_*、fa_achievement_*等表。 - 鉴权复用了原 Go 服务的语义:
Authorization: Bearer <session_key>。 - AI 能力优先读取环境变量:
AI_BASE_URL、AI_API_KEY、AI_MODEL、AI_TIMEOUT_SECONDS。 - 当 AI 环境变量缺失或调用失败时,已做规则版兜底,保证接口仍然可返回结果。
- 戒烟计划当前为规则生成版本,不再依赖 Go 侧的 AI 计划生成器。
未迁移范围
以下能力仍然在 Go 服务里,当前 tp/app/smt 未接入:
/api/v2/checkin/*戒烟打卡系统(quitcheckin)- 梦想目标、监督人、提醒等 v2 业务
- Go 侧的 Redis session 缓存
- Go 侧更细的 AI debug log 与测试体系
如果后续要把 mini-programs/smt 完全切到 tp,下一步应继续迁移 wx_service/internal/quitcheckin 到 tp/app/smt 或单独的 tp/app/checkin。