同步前后端联调与文档更新

This commit is contained in:
2026-04-02 09:25:05 +08:00
parent af43beadb0
commit 6964e26ec9
113 changed files with 4317 additions and 293 deletions

View File

@@ -1,6 +1,6 @@
# Backend TodoList
> 文档版本v1.0
> 最后更新2026-04-02
> 最后更新2026-04-02 08:28:05
## 1. 目标
@@ -53,11 +53,11 @@
- `channelCode = mini-demo`
- `channelType = wechat_mini`
## 3. P0 必做
## 3. P0 已完成
## 3.0 固定 session 状态语义
需要 backend 明确并固定:
当前 backend 明确并固定:
- `finished`
- `failed`
@@ -76,8 +76,6 @@
## 3.1 明确“放弃恢复”的后端处理
这是当前最值得后端配合确认的一点。
当前小程序本地恢复逻辑已经是:
- 进入程序检测到未正常结束对局
@@ -86,11 +84,11 @@
现在本地“放弃”只会清除本地恢复快照。
backend 需要确认的目标语义是:
backend 确认的目标语义是:
> 玩家点击“放弃恢复”后,这一局是否应同时在业务后端标记为 `cancelled`。
我建议 backend 采用
当前结论
- **是,应标记为 `cancelled`**
@@ -100,7 +98,7 @@ backend 需要确认的目标语义是:
- `/events/{id}/play``/me/entry-home` 可能一直把它当成可继续的局
- 会和小程序本地“已放弃”产生语义分叉
建议 backend 配合确认
当前 backend 已收口
1. `POST /sessions/{id}/finish` 使用 `status=cancelled` 是否就是官方放弃语义
2. 如果客户端持有旧 `sessionToken`,恢复放弃时是否允许直接调用 `finish(cancelled)`
@@ -108,7 +106,7 @@ backend 需要确认的目标语义是:
备注:
- 如果 backend 认可这套语义,小程序侧下一步就可以把“点击放弃恢复”成同步调用 `finish(cancelled)`
- 小程序侧现在可以把“点击放弃恢复”正式接成同步调用 `finish(cancelled)`
## 3.2 保证 start / finish 幂等与重复调用安全
@@ -119,12 +117,12 @@ backend 需要确认的目标语义是:
- 故障恢复后二次补报
- 用户重复点击
backend 需要确认:
当前 backend 确认:
- `start` 重复调用的幂等语义
- `finish` 重复调用的幂等语义
建议
当前实现
- `start`:如果已 `running`,返回当前 session视为成功
- `finish`:如果已进入终态,返回当前 session/result视为成功
@@ -334,3 +332,4 @@ backend 现在最值得先做的,不是扩接口,而是先确认下面 3 条
> 先把 session 运行态语义、放弃恢复语义和 ongoing session 口径定稳,再继续扩后台配置系统。