feat(teacher-portal): v2 下游核查 + push-gateway 接入 + 测试扩展至 87 + ui-components 12/12
v2 核查结论: - iam/push-gateway/api-gateway 已就绪 - teacher-bff teacher 域仍是 P2 占位(56/61 operations 不可用) - 5 个 gRPC target 留空走降级模式 B - 保留 MSW mock,记录 12 项 teacher-bff 待补工作到 nextstep-v2.md v2 完成工作: - push-gateway WebSocket 接入(环境变量 + URL query token + Reconnect 协议) - 单元测试扩展(usePermission 15 + useAuth 9,总计 87/87 passed) - ui-components 剩余 3 组件(Chart/Calendar/RichTextEditor,12/12) - 设计令牌完整迁移(无 hsl/hex 字面量) - i18n 5/55 页面 + 26 模块 key - 性能优化(size-limit 9 项 + 5 页面懒加载) - useAuth 迁移阻塞核查(iam 未实现 Set-Cookie,修正 v1 假设) 文档:新增 nextstep-v2.md;workline.md §5.7 添加 v2 工作记录。 验证:typecheck + lint + 87/87 tests + arch:scan 全部通过。
This commit is contained in:
@@ -350,6 +350,56 @@ gantt
|
||||
|
||||
---
|
||||
|
||||
### §5.7 v2 下游核查 + 剩余工作完成(2026-07-14)
|
||||
|
||||
**触发条件**:用户通知"所有下游服务已经完成 nextstep.md 工作",对 9 个下游服务(teacher-bff / iam / push-gateway / api-gateway / core-edu / content / data-ana / msg / ai)的 nextstep.md 进行核查。
|
||||
|
||||
#### §5.7.1 v2 核查结论
|
||||
|
||||
**核心发现**:teacher-bff nextstep.md 声称完成 v2 扁平命名(41 Query + 20 Mutation),但实际核查发现:
|
||||
|
||||
1. **schema 文件未更新**:`packages/shared-ts/contracts/graphql/teacher-bff.schema.graphql` 仍是 v1(admin 命名空间,19 Query + 5 Mutation)
|
||||
2. **teacher 域 P3+ 查询仍是 P2 占位**:`teacher.resolver.ts` 第 60-95 行 `exams` / `homework` / `grades` 仍抛 `BusinessError("not available in P2")`
|
||||
3. **5 个 gRPC target 留空走降级模式 B**:core-edu / content / data-ana / msg / ai 全部未对接
|
||||
4. **56/61 GraphQL operations 不可用**:仅 5 个 P2 核心 Query(dashboard / viewports / me / classes / class)真实可用
|
||||
|
||||
**决策**:保留 MSW mock,记录 12 项 teacher-bff 待补工作到 [nextstep-v2.md](../../../../apps/teacher-portal/nextstep-v2.md) §2.1。
|
||||
|
||||
#### §5.7.2 v2 完成工作清单
|
||||
|
||||
| # | 工作项 | 完成内容 |
|
||||
| --- | ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||
| 1 | useAuth 迁移核查 | 发现 iam REST 登录接口未实现 Set-Cookie,修正 v1 的错误假设(v1 假设 iam 已就绪)。useAuth 迁移**阻塞于 iam 后端实现 Set-Cookie** |
|
||||
| 2 | push-gateway WebSocket 接入 ✅ | 环境变量 `NEXT_PUBLIC_PUSH_GATEWAY_WS_URL` + URL query token + Reconnect 协议(session_id + last_seq)+ 兼容 push-gateway 事件格式 |
|
||||
| 3 | 单元测试扩展 ✅ | usePermission 15 tests + useAuth 9 tests,总计 87/87 passed(从 v1 的 63 扩展到 87) |
|
||||
| 4 | ui-components 剩余组件 ✅ | Chart(SVG bar/line/pie)+ Calendar(月视图 + 事件标记)+ RichTextEditor(contentEditable 轻量实现),总计 12/12 组件 |
|
||||
| 5 | 设计令牌完整迁移 ✅ | globals.css + tailwind.config.js 全部使用 `var(--*)`,无 hsl/hex 字面量;ESLint tokens + a11y flat config 就绪 |
|
||||
| 6 | i18n 扩展状态评估 | 已迁移 5/55 页面(dashboard/grades/settings 等)+ 26 模块 key + LocaleSwitcher。剩余 50+ 页面待逐页替换 |
|
||||
| 7 | 性能优化扩展 ✅ 基本完成 | size-limit 9 项性能预算 + 5 个重型页面懒加载(lesson-plans/heatmap、grades/analytics、knowledge-graph、ParentPortalRemote、HeatmapMatrix) |
|
||||
| 8 | nextstep-v2.md 文档生成 | 完整记录 v2 核查结论 + 下游依赖 + 本模块待补工作 + 集成测试方案 + 已知问题 |
|
||||
|
||||
#### §5.7.3 验证结果
|
||||
|
||||
- ✅ `pnpm --filter @edu/teacher-portal typecheck` 通过(tsc --noEmit 零错误)
|
||||
- ✅ `pnpm --filter @edu/teacher-portal lint` 通过(eslint src 零错误)
|
||||
- ✅ `pnpm --filter @edu/teacher-portal test` 通过(Test Files 8 passed / Tests 87 passed)
|
||||
- ✅ `pnpm run arch:scan` 完成(TS 20 模块 / 3330 符号 + Go 2 模块 / 93 符号 + Python 2 模块 / 469 符号 + Protobuf 394 契约)
|
||||
|
||||
#### §5.7.4 v2 剩余阻塞项
|
||||
|
||||
| 阻塞项 | 依赖方 | 阻塞工作 |
|
||||
| --------------------------------------------- | ----------------------- | ----------------------------------------- |
|
||||
| teacher-bff teacher 域 P3+ 查询/mutation 实现 | ai03 + ai07/08/10/11/12 | MSW mock → 真实 API 切换(56 operations) |
|
||||
| teacher-bff schema 文件同步为 v2 扁平命名 | ai03 | 契约一致性 |
|
||||
| teacher-bff 5 个 gRPC target 配置 | ai03 | teacher 域扩展查询 |
|
||||
| iam REST 登录接口实现 Set-Cookie | ai06 | useAuth 迁移到 httpOnly cookie(F12) |
|
||||
|
||||
**无阻塞工作**(可任意时间推进):i18n 扩展剩余 50+ 页面、图片优化(next/image)、字体优化(next/font)、CI size-limit 阻断集成。
|
||||
|
||||
详细 v2 文档见 [apps/teacher-portal/nextstep-v2.md](../../../../apps/teacher-portal/nextstep-v2.md)。
|
||||
|
||||
---
|
||||
|
||||
## §6 全并行开发说明
|
||||
|
||||
按 [matrix.md](../matrix.md) §全并行模式:
|
||||
|
||||
Reference in New Issue
Block a user