97 lines
3.1 KiB
Markdown
97 lines
3.1 KiB
Markdown
# shared-contracts 共享 crate 说明
|
||
|
||
日期:`2026-04-21`
|
||
|
||
## 1. crate 职责
|
||
|
||
`shared-contracts` 是前后端兼容 contract 共享 crate,后续负责:
|
||
|
||
1. HTTP 请求与响应 DTO
|
||
2. SSE 事件结构与事件名约定
|
||
3. response envelope、错误结构、兼容头部契约
|
||
4. 各模块对外暴露的共享协议类型
|
||
|
||
## 2. 当前阶段说明
|
||
|
||
当前阶段已完成 Stage1 最小真实落地:
|
||
|
||
1. 统一 response envelope / 头部常量
|
||
2. `auth/login-options`
|
||
3. `auth/me`
|
||
4. `auth/sessions`
|
||
5. `runtime/settings`
|
||
|
||
当前阶段继续补齐的 Stage2 鉴权 DTO:
|
||
|
||
1. `auth/entry`
|
||
2. `auth/refresh`
|
||
3. `auth/logout`
|
||
4. `auth/logout-all`
|
||
5. `auth/phone/send-code`
|
||
6. `auth/phone/login`
|
||
7. `auth/wechat/start`
|
||
8. `auth/wechat/callback`
|
||
9. `auth/wechat/bind-phone`
|
||
|
||
当前阶段继续补齐的 Stage3 公开请求 DTO:
|
||
|
||
1. `assets/direct-upload-tickets`
|
||
2. `assets/read-url`
|
||
3. `assets/objects/confirm`
|
||
4. `assets/objects/bind`
|
||
5. `story-sessions/begin`
|
||
6. `story-sessions/continue`
|
||
|
||
当前阶段继续补齐的 Stage4 显式成功响应 DTO:
|
||
|
||
1. `assets/direct-upload-tickets`
|
||
2. `assets/read-url`
|
||
3. `assets/objects/confirm`
|
||
4. `assets/objects/bind`
|
||
5. `story-sessions/begin`
|
||
6. `story-sessions/continue`
|
||
|
||
当前阶段新增 Stage6 `character visual` 兼容 DTO:
|
||
|
||
1. `assets/character-visual/generate`
|
||
2. `assets/character-visual/jobs/:taskId`
|
||
3. `assets/character-visual/publish`
|
||
|
||
当前阶段新增 Stage7 `character animation` 模板与导入兼容 DTO:
|
||
|
||
1. `assets/character-animation/templates`
|
||
2. `assets/character-animation/import-video`
|
||
|
||
当前阶段新增 Stage8 `character workflow cache` 第一批兼容 DTO:
|
||
|
||
1. `assets/character-workflow-cache`
|
||
2. `assets/character-workflow-cache/:characterId`
|
||
|
||
当前阶段新增 Stage9 `character animation` 主链兼容 DTO:
|
||
|
||
1. `assets/character-animation/generate`
|
||
2. `assets/character-animation/jobs/:taskId`
|
||
3. `assets/character-animation/publish`
|
||
|
||
当前阶段新增 Stage5 story session scoped runtime story 写读 DTO:
|
||
|
||
1. `BeginStoryRuntimeSessionRequest`
|
||
2. `ResolveStoryRuntimeActionRequest`
|
||
3. `StoryRuntimeProjectionResponse`
|
||
4. `StoryRuntimeMutationResponse`
|
||
5. `StoryRuntimeSnapshotPayload` 仅用于 story session scoped 写侧持久化边界,不复用旧 `/api/runtime/story/*` 总入口 contract。
|
||
|
||
`WP-DEL` 已删除旧 runtime story HTTP DTO:`RuntimeStoryStateResolveRequest`、`RuntimeStoryBootstrapRequest/Response`、`RuntimeStoryActionResponse` 和旧 `RuntimeStorySnapshotPayload`。`runtime_story` 模块中仍保留的 `RuntimeStoryViewModel`、`RuntimeStoryPresentation`、`RuntimeStoryPatch` 与 battle presentation 是当前投影/表现构件,不作为旧 HTTP 写入口。
|
||
|
||
当前仍刻意未做:
|
||
|
||
1. SSE 事件结构
|
||
2. 自动代码生成或跨语言 contract 同步
|
||
3. 其他尚未收口模块的 handler 响应体显式 DTO 化
|
||
|
||
## 3. 边界约束
|
||
|
||
1. `shared-contracts` 只放协议类型与兼容结构,不承接业务规则、供应商适配或状态写入逻辑。
|
||
2. 各模块 crate 对外暴露的协议优先复用这里的共享定义,避免重复散落。
|
||
3. 前端兼容契约一旦进入本 crate,就必须与任务清单和基线文档同步维护。
|