73 lines
2.1 KiB
Markdown
73 lines
2.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`
|
||
|
||
当前阶段新增 Stage5 `runtime story` 兼容桥 DTO 基线:
|
||
|
||
1. `runtime/story/state/resolve` 请求 DTO
|
||
2. `runtime/story/actions/resolve`、`runtime/story/initial`、`runtime/story/continue` 请求 DTO
|
||
2. `RuntimeStoryActionResponse` 兼容响应 DTO
|
||
3. `RuntimeStoryViewModel / presentation / patches / snapshot` 显式结构
|
||
4. `RuntimeStoryAiResponse` 兼容响应 DTO
|
||
|
||
当前仍刻意未做:
|
||
|
||
1. SSE 事件结构
|
||
2. 自动代码生成或跨语言 contract 同步
|
||
3. 其他尚未收口模块的 handler 响应体显式 DTO 化
|
||
|
||
## 3. 边界约束
|
||
|
||
1. `shared-contracts` 只放协议类型与兼容结构,不承接业务规则、供应商适配或状态写入逻辑。
|
||
2. 各模块 crate 对外暴露的协议优先复用这里的共享定义,避免重复散落。
|
||
3. 前端兼容契约一旦进入本 crate,就必须与任务清单和基线文档同步维护。
|