Files
Edu/apps/admin-portal/docs/nextstep.md
SpecialX 64b2016fa8 feat(admin-portal): docker 本地测试通过 + 下游工作清单
docker Desktop 本地验证:
- 镜像构建成功(edu/admin-portal:test)
- 容器运行正常(端口 4003)
- /api/health、/api/ready、/login、/admin/dashboard 全部 200

修复项:
- next.config.js 添加 output: standalone
- package.json 添加 autoprefixer 依赖
- login/layout.tsx 提供 AuthProvider/ToastProvider

部署配置:
- docker-compose.deploy.yml 添加 admin-portal 服务
- deploy.env.example 添加 ADMIN_PORTAL_PORT

下游工作清单(nextstep.md):
- api-gateway: 缺 /api/admin/graphql 路由
- teacher-bff: 缺 16 Query + 11 Mutation
- iam: 缺 BatchGetUsers 等 RPC
2026-07-13 16:19:35 +08:00

9.9 KiB
Raw Permalink Blame History

admin-portal 下游工作清单Next Steps

负责人ai16 更新日期2026-07-13 关联:admin-portal_contract.mdadmin-portal_workline.md


1. 概述

admin-portal 前端已全部完成P2-P6 + §7 差距分析 4 批次 + Vitest 测试Docker 镜像构建成功并在本地 Docker Desktop 验证通过。但真实后端集成需要下游服务补齐以下工作。

本地 Docker 测试结果2026-07-13

  • 镜像构建成功(edu/admin-portal:test
  • 容器启动正常(端口 4003
  • /api/health 返回 200
  • /api/ready 返回 200gateway 可达)
  • /login 页面返回 200
  • /admin/dashboard 页面返回 200
  • /api/admin/graphql 返回 500api-gateway 返回 404路由未配置

2. 下游阻塞项

2.1 api-gatewayai01 负责)

阻塞级别P0必须完成才能端到端联调

# 工作项 详情
1 新增 /api/admin/graphql 路由 当前 api-gateway 仅有 /api/v1/* 路由组,无 /api/admin/* 路由。需新增 POST /api/admin/graphql 代理到 teacher-bff :3003/graphql
2 admin 角色强制校验中间件 /api/admin/* 路由组上添加 admin 角色门禁,拒绝非 admin 角色访问
3 路径对齐契约 §2.3 契约要求 POST /api/admin/graphql 为唯一入口,当前 api-gateway 无此路由

相关文件:

  • services/api-gateway/main.goL69-104路由注册
  • services/api-gateway/internal/middleware/auth.go(鉴权中间件)
  • services/api-gateway/internal/proxy/proxy.go(反向代理)
  • services/api-gateway/internal/config/config.go(配置)

2.2 teacher-bffai03 负责)

阻塞级别P0必须完成才能端到端联调

2.2.1 缺失的 Query16 个)

# 契约 Query 当前状态 备注
1 adminPermissions 未实现 权限点列表
2 adminViewports(scope) 未实现 视口配置,需 scope 参数
3 adminClasses 未实现 班级全局管理
4 adminTeachers 未实现 教师全局管理
5 adminStudents 未实现 学生全局管理
6 adminDashboard 未实现 管理仪表盘聚合数据
7 adminSchools 未实现 多学校列表(当前仅有单数 school
8 adminGrades 未实现 年级管理
9 adminDepartments 未实现 部门/教研组管理
10 adminAcademicYears 未实现 学年学期管理
11 adminAnnouncements 未实现 公告列表
12 adminInvitationCodes 未实现 邀请码列表
13 adminFiles 未实现 文件列表
14 adminFileStats 未实现 文件统计
15 aiProviders 未实现 AI Provider 列表
16 aiUsage 未实现 AI 用量统计

2.2.2 缺失的 Mutation11 个)

# 契约 Mutation 当前状态 备注
1 toggleUserStatus 未实现 用户启用/禁用/锁定
2 updateRolePermissions 未实现 角色权限矩阵更新
3 updateViewport 未实现 视口配置更新
4 createAnnouncement 未实现 创建公告
5 publishAnnouncement 未实现 发布公告
6 archiveAnnouncement 未实现 归档公告
7 toggleAnnouncementPin 未实现 公告置顶切换
8 generateInvitationCodes 未实现 批量生成邀请码
9 deleteInvitationCodes 未实现 删除邀请码
10 deleteFiles 未实现 批量删除文件
11 updateAiProvider 未实现 更新 AI Provider 配置

2.2.3 已实现但需对齐的项

# 工作项 详情
1 命名规范对齐 契约用扁平命名 adminUsers/adminRoles,实际实现用命名空间 admin { users }。需 ai03 与 ai16 协调统一
2 auditLogs 补 filter 参数 当前仅 page/pageSize,需补 action/userId/dateRange 等 filter
3 adminOrganization 补 parentId 参数 当前无参数,需支持 parentId 筛选子节点
4 用户/角色 CRUD 接入真实 iam gRPC 当前返回 mock 数据

相关文件:

  • services/teacher-bff/src/admin/admin.resolver.ts
  • services/teacher-bff/src/admin/admin.service.ts
  • services/teacher-bff/src/admin/admin.module.ts
  • services/teacher-bff/src/graphql/graphql.controller.ts
  • services/teacher-bff/src/graphql/graphql.module.ts
  • packages/shared-ts/contracts/graphql/teacher-bff.schema.graphql

2.3 iam 服务ai06 负责,间接影响)

阻塞级别P1影响 admin 用户管理真实性)

# 工作项 详情
1 BatchGetUsers RPC admin 用户列表需要批量获取用户信息
2 CreateUser/UpdateUser/DeleteUser RPC admin 用户 CRUD 需要 iam 支持

3. admin-portal 前端待办(非阻塞)

以下工作不阻塞当前部署,但需在下游就绪后完成:

# 工作项 触发条件
1 GraphQL query 字符串对齐命名规范 ai03 与 ai16 协调命名后
2 移除 MSW mock 依赖(生产构建已移除) api-gateway + teacher-bff 就绪后
3 MF 模式集成测试(NEXT_PUBLIC_MF_ENABLED=true teacher-portal Shell 就绪后
4 OTel trace 上报联调 otel-collector 就绪后
5 WebSocket 实时通知联调 push-gateway 就绪后

4. 已完成项汇总

工作项 状态 验证方式
P2 MF Remote 骨架 arch:scan + typecheck
P3 用户/角色权限管理 typecheck + lint + vitest
P4 组织/学校/全局实体 typecheck + lint + vitest
P5 审计日志/实时通知 typecheck + lint + vitest
P6 硬化A11y/Web Vitals/测试/Dockerfile vitest 69/69 + Docker 构建成功
§7 差距分析 4 批次补齐 typecheck + lint + vitest
Docker 镜像构建 edu/admin-portal:test 构建成功
Docker 容器运行 /api/health + /api/ready + /login + /admin/dashboard 全部 200
docker-compose.deploy.yml 服务定义 admin-portal 服务已添加
next.config.js output: standalone Docker 构建产物正确
.env.local 关闭 mock NEXT_PUBLIC_API_MOCKING=disabled

5. 联调顺序建议

  1. ai01 完成 api-gateway /api/admin/graphql 路由 + admin 角色校验
  2. ai03 完成 teacher-bff admin Query/Mutation 补齐 + 命名规范对齐
  3. ai06 完成 iam gRPC 补齐BatchGetUsers 等)
  4. ai16 前端 GraphQL query 字符串对齐命名规范
  5. 端到端联调admin-portal → api-gateway → teacher-bff → iam/classes/core-edu

本文件由 ai16 维护,下游工作项请各负责 AI 完成后通知 ai16 更新状态。