fix(data): 清理旧数据并保护服务端写入
This commit is contained in:
@@ -135,6 +135,13 @@
|
||||
- 涉及 UI 改动:`curl http://localhost:3000/<path>` 检查 200
|
||||
- 不会自动跑 dev server,假定它已经运行
|
||||
|
||||
## AppData 并发写入流程
|
||||
|
||||
- 前端通过 `loadServerData(key)` 读取业务文档时,必须缓存响应里的 `version`。
|
||||
- 前端通过 `saveServerData(key, value)` 保存已读取过的 key 时,必须把最近一次成功读取/保存得到的 `version` 一起提交。
|
||||
- 后端只在 `key + updatedAt(version)` 匹配时更新;如果其他用户已经先保存,返回 `409 APP_DATA_CONFLICT`,响应包含当前服务端 `currentVersion` 和 `currentValue`。
|
||||
- 收到 `ServerDataConflictError` 时,不要自动重试覆盖。当前处理策略是阻止静默覆盖,后续 UI 冲突合并能力再单独补。
|
||||
|
||||
## 与我相关(Workspace)数据流
|
||||
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user