feat: auto committed
This commit is contained in:
@@ -60,11 +60,11 @@
|
||||
|
||||
### 2.3 HTTP 调用(如有)
|
||||
|
||||
| 被调用方 | Method.Path | 用途 | mock 策略 |
|
||||
| ------------------- | ------------------------- | --------------------------------------------- | ----------------------------------------------------------------- |
|
||||
| api-gateway (ai01) | POST /api/teacher/graphql | 教师 GraphQL 查询(经网关代理到 teacher-bff) | api-gateway/teacher-bff 就绪前使用 MSW 拦截返回 mock GraphQL 响应 |
|
||||
| api-gateway (ai01) | POST /api/auth/login | 教师登录 | api-gateway 就绪前使用 MSW 返回固定 JWT |
|
||||
| push-gateway (ai02) | GET /ws | WebSocket 实时通知 | push-gateway 就绪前使用 mock-socket 模拟 WS 推送 |
|
||||
| 被调用方 | Method.Path | 用途 | mock 策略 |
|
||||
| ------------------- | ---------------------------- | --------------------------------------------- | ----------------------------------------------------------------- |
|
||||
| api-gateway (ai01) | POST /api/v1/teacher/graphql | 教师 GraphQL 查询(经网关代理到 teacher-bff,对齐 matrix.md §5) | api-gateway/teacher-bff 就绪前使用 MSW 拦截返回 mock GraphQL 响应 |
|
||||
| api-gateway (ai01) | POST /api/auth/login | 教师登录(非 GraphQL,认证前提,F12: JWT 存 localStorage) | api-gateway 就绪前使用 MSW 返回固定 JWT |
|
||||
| push-gateway (ai02) | GET /ws | WebSocket 实时通知 | push-gateway 就绪前使用 mock-socket 模拟 WS 推送 |
|
||||
|
||||
### 2.4 GraphQL 查询域(经 api-gateway 代理到 teacher-bff)
|
||||
|
||||
@@ -97,8 +97,8 @@
|
||||
- [ ] teacher-portal dev server :4000 启用
|
||||
- [ ] MF Shell 可加载(首页渲染 AppShell + 导航)
|
||||
- [ ] 子应用路由可访问(/classes /exams /homework 等子页面渲染)
|
||||
- [ ] 登录流程可用(POST /api/auth/login 获取 JWT 存入 cookie)
|
||||
- [ ] GraphQL 查询可执行(currentUser / myClasses 返回数据)
|
||||
- [ ] 登录流程可用(POST /api/auth/login 获取 JWT 存入 localStorage,F12;P6 迁移 httpOnly cookie)
|
||||
- [ ] GraphQL 查询可执行(dashboard / viewports / me / classes / class Query,ARB-001)
|
||||
- [ ] WebSocket 通知可接收(push-gateway 推送 → 前端通知中心更新)
|
||||
|
||||
---
|
||||
@@ -118,9 +118,9 @@ teacher-portal 是最前端,无下游消费方。但对开发体验提供:
|
||||
|
||||
- **HTTP/GraphQL mock**:使用 MSW(Mock Service Worker)拦截所有请求
|
||||
- POST /api/auth/login → 返回固定 JWT + UserInfo
|
||||
- POST /api/teacher/graphql → 根据 operationName 返回对应 mock 响应(与 teacher-bff mock 数据一致)
|
||||
- POST /api/v1/teacher/graphql → 根据 operationName 返回对应 mock 响应(与 teacher-bff mock 数据一致,对齐 §2.3)
|
||||
- 所有 mock 响应定义在 `apps/teacher-portal/src/mocks/fixtures/*.json`
|
||||
- **WebSocket mock**:使用 mock-socket 库
|
||||
- 连接 ws://localhost:8081/ws 后每 30 秒推送 1 条 mock 通知
|
||||
- **JWT mock**:使用固定 mock JWT(与 api-gateway mock 公钥配对),存入 httpOnly cookie
|
||||
- **JWT mock**:使用固定 mock JWT(与 api-gateway mock 公钥配对),存入 localStorage(F12;P6 迁移 httpOnly cookie)
|
||||
- **环境切换**:通过 `NEXT_PUBLIC_API_MOCKING=enabled` 环境变量控制是否启用 MSW,上游就绪后设为 `disabled`
|
||||
|
||||
@@ -155,6 +155,31 @@
|
||||
|
||||
---
|
||||
|
||||
### ISSUE-042-ai13:仲裁核查 - 01/02 文档未同步已裁决的 GraphQL 架构
|
||||
|
||||
- **提请方**:ai13
|
||||
- **日期**:2026-07-10
|
||||
- **类型**:文档同步遗漏(仲裁核查)
|
||||
- **阶段**:P2
|
||||
- **描述**:
|
||||
- 按"对已有仲裁进行核查"要求,审查 ISSUE-036~041(均已裁决)在文档中的落地情况
|
||||
- 核查发现:`apps/teacher-portal/docs/01-understanding.md` 和 `02-architecture-design.md` 仍为 ai07 标识 + REST 架构,**未同步**以下已裁决事项:
|
||||
- F9(ISSUE-036):P2 起 all-in GraphQL,无 REST 过渡 — 01 §1/§3.1 仍写"P2-P3 用 REST 过渡";02 全文基于 REST(ApiClient/TanStack Query/契约清单)
|
||||
- ARB-001(ISSUE-037):teacher-bff GraphQL schema 第一版 5 Query — 01 §3.1 列 REST 端点;02 §4/§10 全 REST
|
||||
- ARB-002(ISSUE-038/039):MF Shell 暴露清单(GraphQLProvider + hooks + UI 组件 + urql/graphql singleton)— 01 未提;02 §1.2 exposes 仅 AppShell+shared-deps、P2 配 3 remotes、shared 无 urql
|
||||
- 总裁 §2.17(ISSUE-038):GraphQL client 单例方案 A — 02 §11.3.2 仍列"GraphQL vs REST"未决(已裁决)
|
||||
- 对照已回写的 `03-long-term-architecture.md §1.4`(GraphQL 最终方案),01/02 严重滞后
|
||||
- **建议方案**:
|
||||
1. 01-understanding.md:ai07→ai13;§1 删除 REST 过渡;§3.1 REST 端点→GraphQL queries(ARB-001);§4 技术栈补 urql;补 ARB-002 暴露清单
|
||||
2. 02-architecture-design.md:ai07→ai13;全文 REST→GraphQL 重写(MF 配置对齐 ARB-002;API 层改 urql client;契约清单改 GraphQL;§11.3 未决决策改已决策)
|
||||
- **状态**:✅ 已回写闭合(2026-07-10,审查批次)
|
||||
- **coord 裁决**:无需新裁决(复用 ISSUE-036~040 已有裁决),本次为文档同步执行
|
||||
- **回写执行**:
|
||||
- `01-understanding.md`:已修正 ai07→ai13、§1 REST→GraphQL、§3.1 REST 端点→GraphQL queries(ARB-001)、§4 补 urql/GraphQL client 技术栈、补 ARB-002 暴露清单、端口对齐、字体令牌描述
|
||||
- `02-architecture-design.md`:全量重写为 GraphQL 架构(§1 MF 图加 GraphQLProvider 层;§1.2 MF 配置对齐 ARB-002 exposes/shared/remotes=0;§2 领域模型数据源改 GraphQL Query;§3 缓存层改 urql cacheExchange;§4 API 设计改 urql client 单例 + ARB-001 Query/Mutation;§10 契约清单改 GraphQL;§11.3 未决决策改已决策表;端口 3000→4000)
|
||||
|
||||
---
|
||||
|
||||
**AI Agent**: ai13(teacher-portal)
|
||||
**Branch**: feat/teacher-portal-issues-migrate-ai13
|
||||
**Coordinator**: coord-ai
|
||||
|
||||
@@ -74,7 +74,7 @@ gantt
|
||||
- 学生列表页(classStudents GraphQL query,iam 数据)
|
||||
- 个人设置页(currentUser + updateUser GraphQL query/mutation)
|
||||
- **依赖**:teacher-bff GraphQL schema 第一版(ai03 + coord 仲裁 ISSUE-037)+ api-gateway 路由(ai01)
|
||||
- **Mock 策略**:MSW 拦截 POST /api/teacher/graphql + POST /api/auth/login(见 contract.md §4.2)
|
||||
- **Mock 策略**:MSW 拦截 POST /api/v1/teacher/graphql + POST /api/auth/login(见 contract.md §4.2,对齐 matrix.md §5 路径前缀)
|
||||
- **验收标准**:MF 配置不破坏单体 + GraphQL 拉取数据 + 登录→Dashboard→班级列表→学生列表链路通
|
||||
|
||||
### P3:考试/作业/成绩 + 乐观更新 + 多 Tab 同步
|
||||
@@ -135,7 +135,7 @@ gantt
|
||||
| --------------------------------------------------------- | ------------------------------------------------- | -------- | ---------------------- |
|
||||
| packages 骨架(ai13 自建) | ui-tokens/ui-components/hooks 可 import | P2 启动 | ✅ 已就绪(批次 0.15) |
|
||||
| teacher-bff GraphQL schema(ai03 + coord 仲裁 ISSUE-037) | packages/shared-ts/contracts/graphql/ 第一版 | P2 启动 | ⏳ 待 coord 仲裁 |
|
||||
| api-gateway HTTP :8080(ai01) | /api/teacher/graphql + /api/auth/login 路由可用 | P2 启动 | ⏳ 待 ai01 |
|
||||
| api-gateway HTTP :8080(ai01) | /api/v1/teacher/graphql + /api/auth/login 路由可用 | P2 启动 | ⏳ 待 ai01 |
|
||||
| teacher-bff core-edu 扩展(ai03 P3) | classExams/classHomework/studentGrades query 可用 | P3 启动 | ⏳ 待 ai03 P3 |
|
||||
| teacher-bff content/data-ana 扩展(ai03 P4) | knowledgeGraph/studentAnalytics query 可用 | P4 启动 | ⏳ 待 ai03 P4 |
|
||||
| push-gateway WebSocket :8081/ws(ai02 P5) | WS 连接可建立 + 推送可接收 | P5 启动 | ⏳ 待 ai02 P5 |
|
||||
|
||||
Reference in New Issue
Block a user