This commit is contained in:
+10
@@ -36,6 +36,16 @@ Base path: `/api/v1`. 除初始化、登录和健康检查外均需 `dodo_sessio
|
||||
|
||||
批量请求字段:`task_ids`、`completed`、`list_id`、`due_at`、`soft_delete`。所有任务和目标清单在写入前完成归属校验;任一不存在则整批不修改。
|
||||
|
||||
## Countdowns
|
||||
|
||||
- `GET /countdowns?archived=false` — 查询倒数日;置顶项优先,其余按下一次发生日期排序
|
||||
- `POST /countdowns` — 创建倒数日、纪念日或生日;支持 `none/weekly/monthly/yearly` 重复
|
||||
- `PATCH /countdowns/{countdown_id}` — 编辑名称、日期、类型、重复与图标
|
||||
- `POST /countdowns/{countdown_id}/pin` — 单一置顶,自动取消其他置顶项
|
||||
- `DELETE /countdowns/{countdown_id}` — 归档
|
||||
- `POST /countdowns/{countdown_id}/restore` — 恢复归档项
|
||||
- `DELETE /countdowns/{countdown_id}/purge` — 永久删除已归档项
|
||||
|
||||
## Recycle bin
|
||||
|
||||
- `GET /trash?limit=&cursor=` — 已删除顶层任务的游标分页
|
||||
|
||||
@@ -66,12 +66,26 @@
|
||||
|
||||
顶层任务软删除、恢复或永久删除时同步处理直接子任务。列表与回收站使用 `(created_at, id)` 作为稳定游标排序键。
|
||||
|
||||
## countdowns
|
||||
|
||||
- `id`
|
||||
- `user_id` → users,级联删除
|
||||
- `title`
|
||||
- `event_date`,仅日期
|
||||
- `kind`:`countdown` / `anniversary` / `birthday`
|
||||
- `repeat_rule`:`none` / `weekly` / `monthly` / `yearly`
|
||||
- `icon`
|
||||
- `pinned`,每个用户仅保留一个置顶项
|
||||
- `archived_at`,非空表示归档
|
||||
- `created_at` / `updated_at`
|
||||
|
||||
## 迁移
|
||||
|
||||
- `0001_initial.py`:已部署的初始模式,不修改
|
||||
- `0002_task_management.py`:新增文件夹/清单软删除列、历史标签表及游标/回收站索引
|
||||
- `0008_remove_calendar_subscriptions.py`:移除日历订阅表
|
||||
- `0009_remove_tags.py`:移除历史标签表及任务标签关联表
|
||||
- `0010_countdowns.py`:新增倒数日、纪念日与生日表
|
||||
|
||||
## 后续阶段预留
|
||||
|
||||
|
||||
@@ -66,6 +66,13 @@ postgresql+asyncpg://postgres:***@10.10.100.99:5433/dodo
|
||||
- 支持暂停区间,暂停期不破坏连续记录
|
||||
- 归档后保留历史统计
|
||||
|
||||
### 倒数纪念日
|
||||
|
||||
- 支持倒数日、纪念日、生日
|
||||
- 支持不重复、每周、每月、每年重复
|
||||
- 未来显示“还有 N 天”,当天显示“就是今天”,过去显示“已经 N 天”
|
||||
- 支持单一置顶、归档恢复、编辑和删除
|
||||
|
||||
## UI 方向
|
||||
|
||||
- 手账生活感
|
||||
|
||||
Reference in New Issue
Block a user