docs: 统一业务资源ID为服务端生成的稳定UUID

更新所有业务API文档,明确持久化资源的正式ID必须为服务端生成的稳定UUID,本地调试或接口失败时可使用语义ID作为fallback。新增数据库迁移脚本0022_opaque_ids,用于将历史语义ID转换为稳定UUID,并同步外键关联、详情记录的key字段以及审计日志的实体ID引用。新增该迁移的单元测试用例,验证ID替换与关联数据同步的逻辑正确性。调整MiniAPP前端代码,优化导航工具函数的格式,移除废弃函数并修改首页跳转逻辑,使用接口返回的UUID作为详情跳转参数。
This commit is contained in:
duanshuwen
2026-08-19 22:28:13 +08:00
parent e082bd2d98
commit d3a246a873
14 changed files with 314 additions and 24 deletions

View File

@@ -24,6 +24,14 @@
`data` 内的业务字段保持各领域文档原有结构不变。也就是说,列表的 `items`、首页的 `experiences`、玩法的 `categories` 等字段都位于响应的 `data` 内,而不是与 `code` 同级。
## ID 规范
- 所有持久化资源的 `id` 都是服务端生成的稳定不透明字符串,当前实现统一使用 UUID v4 格式。
- ID 只在记录创建时生成,后续列表、详情、排序、编辑和删除响应必须保持不变;禁止在序列化或每次请求时重新随机生成。
- 玩法路线详情的 `DetailRecord.key` 等于对应的 `WanfaRoute.id`,因此路线 ID 迁移后详情 `key` 必须同步更新。
- 本地 fallback/mock 数据可以继续使用便于阅读的语义 ID但这些 ID 不代表服务端正式 ID接口成功后应以 API 返回的 UUID 为准。
- `0022_opaque_ids` 迁移只转换历史非 UUID ID并同步外键、详情 key 和审计实体引用;新建记录继续由 ORM 默认生成 UUID。
## 成功响应
### 查询、更新、排序