Update algorithm and API documentation for smoking tracking app

- Enhanced the algorithm documentation to clarify the calculation of smoking intervals, including default values and edge cases.
- Updated API documentation to reflect changes in response formats, including the addition of `exceeded_yesterday` and adjustments to time formatting to RFC3339.
- Improved descriptions of user profile management and AI suggestions in the product documentation, ensuring consistency across all related files.
- Removed outdated sequence diagram and UI documentation files to streamline project resources.
This commit is contained in:
nepiedg
2026-01-25 08:51:25 +00:00
parent b67dc32369
commit f80c3e8f45
9 changed files with 62 additions and 402 deletions
+7 -6
View File
@@ -22,7 +22,7 @@
### 2.2 典型场景
- 抽完烟立刻记一笔(含时间/原因/数量)。
- 想抽但忍住:快速一键记录(`level=0,num=0`)。
- 首页查看:下次建议时间、距离上次实际抽烟的间隔、今累计。
- 首页查看:下次建议时间、上次实际抽烟时间、今累计、今日克制、较昨日增减
- 每天晚上/第二天查看 AI 总结与行动建议(解锁后)。
- 生成“今天/明天时间节点计划”(解锁后),帮助前端展示时间线/日程。
@@ -34,7 +34,8 @@
### 3.2 “最后一次抽烟”
- 定义为“最后一次实际抽烟事件”(忽略忍住记录)。
- 后端看板 `minutes_since_last` 已按该口径计算
- 首页口径使用 `next_smoke_time` 返回的 `last_smoke_at` 作为计时起点(前端可自行计算间隔)
- 看板的 `minutes_since_last` 仍按该口径计算。
### 3.3 默认“下次建议时间”(不使用 AI)
- 基础间隔来自 `GET /api/v1/smoke/profile``baseline_interval_minutes`(若无则默认 60 分钟)。
@@ -71,6 +72,7 @@
- 若已存在 AI 时间节点:返回 `source=ai`
- 否则:返回 `source=default`
- 生成 AI 节点(需要解锁):`GET /api/v1/smoke/next_smoke_time?date=today&mode=ai`
- 接口会同时返回首页汇总字段:`last_smoke_at``today_count``resisted_count``reduced_from_yesterday`(可为负,负数代表“超出昨日”)、`exceeded_yesterday`(前端用于标识“超出昨日”)。
### 4.4 AI 解锁(按天)
- 看广告完成后回调:`POST /api/v1/smoke/ai/advice_unlocks {date}`
@@ -78,8 +80,8 @@
- 每日 AI 建议:`GET /api/v1/smoke/ai/advice?date=...`
- AI 时间节点计划:`GET /api/v1/smoke/next_smoke_time?date=...&mode=ai`
## 5. 页面能力清单(对应 UI 文档)
- 首页:今日累计、距上次实际抽烟、下次建议时间(默认/AI)、时间节点列表、快速入口(抽烟/忍住)。
## 5. 页面能力清单
- 首页:上次实际抽烟时间(用于计时)、今日累计、今日克制、较昨日增减(可为负并标识“超出昨日”)、下次建议时间(默认/AI)、时间节点列表、快速入口(抽烟/忍住)。
- 记录页:快速添加抽烟、快速忍住、补录真实时间 `smoke_at`
- 列表页:按日期筛选、分页、区分“抽烟/忍住”标签、支持编辑/删除。
- 看板页:周视图/区间视图,展示每日支数与 `minutes_since_last`
@@ -94,13 +96,12 @@
### 6.2 Smoke 模块 API
- 详见:`docs/smoke/API.md`
- 时序图:`docs/smoke/SEQUENCE.md`
## 7. 权限与错误处理(产品口径)
- 未登录:统一提示“请先登录”,引导重新登录。
- AI 未解锁(403):弹窗/页内提示“观看广告解锁当天生成”,提供“去观看”按钮。
- AI 服务不可用(503):提示“稍后再试”,不阻断默认策略展示。
- 没有记录:列表/看板显示空态;首页 `minutes_since_last` 不显示或示“暂无数据”。
- 没有记录:列表/看板显示空态;首页 `last_smoke_at` 不显示或示“暂无数据”。
## 8. 埋点与指标(建议)
- D1/D7 留存:进入首页、完成补全、记录次数(抽烟/忍住)、打开看板、生成 AI 建议。