docs: keep frontend on axum in phase one
This commit is contained in:
@@ -23,7 +23,8 @@
|
||||
交付物:[M0_REPOSITORY_BOUNDARY_DECISIONS_2026-04-20.md](./M0_REPOSITORY_BOUNDARY_DECISIONS_2026-04-20.md)
|
||||
- [x] 确认旧 `server-node/` 在迁移期继续保留,不提前删除
|
||||
交付物:[M0_REPOSITORY_BOUNDARY_DECISIONS_2026-04-20.md](./M0_REPOSITORY_BOUNDARY_DECISIONS_2026-04-20.md)
|
||||
- [ ] 确认前端第一阶段仍然只访问 Axum,不直连 SpacetimeDB
|
||||
- [x] 确认前端第一阶段仍然只访问 Axum,不直连 SpacetimeDB
|
||||
交付物:[M0_REPOSITORY_BOUNDARY_DECISIONS_2026-04-20.md](./M0_REPOSITORY_BOUNDARY_DECISIONS_2026-04-20.md)
|
||||
- [ ] 确认外部副作用统一收口在 Axum,不放进 SpacetimeDB 模块
|
||||
|
||||
### 交付物
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
| --- | --- | --- |
|
||||
| Rust 后端新目录名与根目录落位方案 | 已确认 | 新 Rust 后端固定为仓库根目录下的 `server-rs/`,与 `server-node/` 同级。 |
|
||||
| 旧 `server-node/` 在迁移期继续保留,不提前删除 | 已确认 | `server-node/` 在 `M0 ~ M6` 期间持续保留,直到 `M7` 切流与回退验证完成后再评估清理。 |
|
||||
| 前端第一阶段仍然只访问 Axum,不直连 SpacetimeDB | 待确认 | 后续补充。 |
|
||||
| 前端第一阶段仍然只访问 Axum,不直连 SpacetimeDB | 已确认 | `M0 ~ M6` 前端统一只访问 Axum 暴露的 `/api/*`、`/healthz`、SSE 与静态资源兼容层,不新增直连 SpacetimeDB 原生协议路径。 |
|
||||
| 外部副作用统一收口在 Axum,不放进 SpacetimeDB 模块 | 待确认 | 后续补充。 |
|
||||
|
||||
## 3. 已确认决议一:`server-rs/` 固定落在仓库根目录
|
||||
@@ -123,3 +123,36 @@ Genarrative/
|
||||
1. `M1` 搭建 `server-rs/` 时,不改动 `server-node/` 的存在性。
|
||||
2. `M2 ~ M6` 迁移功能时,旧 `server-node/` 继续作为验收基线与回退锚点。
|
||||
3. 真正评估清理旧 Node 后端的动作,只能放到 `M7` 切流完成之后。
|
||||
|
||||
## 6. 已确认决议三:前端第一阶段只访问 Axum
|
||||
|
||||
### 6.1 决议内容
|
||||
|
||||
在 `M0 ~ M6` 迁移期内,前端访问新后端的唯一入口固定为 Axum。
|
||||
|
||||
第一阶段允许前端继续访问的面固定为:
|
||||
|
||||
1. `/api/*`
|
||||
2. `/healthz`
|
||||
3. 当前已冻结的 SSE 路由
|
||||
4. 当前已冻结的 `/generated-*` 静态资源兼容前缀
|
||||
|
||||
第一阶段明确不做的事:
|
||||
|
||||
1. 不让 Web 前端直接接 SpacetimeDB 原生 HTTP 接口。
|
||||
2. 不让 Web 前端直接接 SpacetimeDB 订阅协议。
|
||||
3. 不要求前端新增一套“Axum + SpacetimeDB 双后端并行直连”调用模式。
|
||||
|
||||
### 6.2 这样决议的原因
|
||||
|
||||
1. 当前前端已经直接依赖现有 `/api/*` 路由、response envelope、SSE、`/generated-*` 路径习惯。
|
||||
2. 如果在第一阶段就让前端同时认识 Axum 与 SpacetimeDB,会把迁移面从“后端平移”扩大成“前后端协议双重重写”。
|
||||
3. Axum 需要承担统一鉴权、cookie、JWT、OSS 签名、错误格式与 contract 兼容职责,这些都不应分散到前端直连多个后端协议。
|
||||
|
||||
### 6.3 对后续任务的直接约束
|
||||
|
||||
从这一条决议开始,后续任务必须遵守:
|
||||
|
||||
1. `M1 ~ M2` 的 Axum 中间件与鉴权必须先跑通,再谈前端联调。
|
||||
2. `M3 ~ M6` 新增的 SpacetimeDB reducer/view 先通过 Axum facade 暴露,不直接要求前端改成原生 SpacetimeDB 客户端。
|
||||
3. 若后续要让前端直连 SpacetimeDB,只能作为第二阶段优化事项,不能混入当前重写主链。
|
||||
|
||||
Reference in New Issue
Block a user