library-picturebook-activity/前后端接口对齐分析.md
En b805f456a6 feat: 完善后端基础架构和登录功能
- 添加 Lombok 配置支持
- 完善枚举类和常量定义
- 新增工具类(TraceId、限流、OSS 等)
- 添加切面(日志、限流、TraceId)
- 更新数据库索引规范(应用层防重)
- 登录页面样式优化
- 前后端项目文档补充
2026-03-31 13:58:28 +08:00

9.2 KiB
Raw Blame History

前后端接口对齐分析报告

分析时间2026-03-30最后更新2026-03-30 前端目录java-frontend/src/api/ 后端目录java-backend/src/main/java/com/lesingle/creation/controller/


总体概况

模块 前端 API 后端 Controller 对齐状态 备注
认证 Auth auth.ts AuthController 已实现 新增
租户 Tenants tenants.ts TenantController ⚠️ 需检查
用户 Users users.ts UserController ⚠️ 需检查
角色 Roles roles.ts RoleController ⚠️ 需检查
权限 Permissions permissions.ts PermissionController ⚠️ 需检查
菜单 Menus menus.ts MenuController ⚠️ 需检查
字典 Dict dict.ts DictController ⚠️ 需检查
配置 Config config.ts ConfigController ⚠️ 需检查
竞赛 Contests contests.ts ContestController 已对齐 已补充 my-contests
报名 Registrations contests.ts ContestRegistrationController 已对齐
团队 Teams contests.ts ContestTeamController 已对齐 已补充 listByContest
作品 Works contests.ts ContestWorkController 已对齐 已补充 guided、versions
评审 Reviews contests.ts ContestReviewController 已对齐 已补充 progress、auto-assign 等
评委 Judges contests.ts ContestJudgeController 已对齐 补充 freeze/unfreeze/batch-delete
公告 Notices contests.ts ContestNoticeController 基本对齐
成果 Results contests.ts ContestResultController ⚠️ 部分对齐
评审规则 ReviewRules contests.ts ContestReviewRuleController ⚠️ 部分对齐
预设评语 PresetComments preset-comments.ts ContestPresetCommentController ⚠️ 部分对齐
作业 Homework homework.ts HomeworkController 已对齐 已补充 submission、score 等
AI 3D ai-3d.ts AI3DTaskController 已对齐 已补充 delete
学校 Schools schools.ts SchoolController 已实现
年级 Grades grades.ts GradeController 已实现 新增
班级 Classes classes.ts SchoolClassController 已实现 新增
部门 Departments departments.ts DepartmentController 已实现 新增
教师 Teachers teachers.ts TeacherController 已实现 新增
学生 Students students.ts StudentController 已实现 新增
上传 Upload upload.ts UploadController 已实现 新增
日志 Logs logs.ts SysLogController 已实现 新增
公共 Public public.ts PublicController 已实现 新增核心接口
评委管理 JudgesMgmt judges-management.ts ContestJudgeController 已实现 freeze/unfreeze/batch-delete

本次完成的工作

第一阶段:补充竞赛管理模块缺失接口

接口 状态 说明
GET /api/contests/my-contests 我参与的活动列表
GET /api/contests/teams/contest/:contestId 按竞赛查询团队列表
GET /api/contests/works/guided 教师指导的作品列表
GET /api/contests/works/registration/:id/versions 作品版本列表

第一阶段:补充评审管理模块缺失接口

接口 状态 说明
POST /api/contests/reviews/auto-assign 智能分配评委
GET /api/contests/reviews/progress/:contestId 评审进度统计
GET /api/contests/reviews/work-status/:contestId 作品状态统计
GET /api/contests/reviews/work/:workId/final-score 计算最终得分
POST /api/contests/reviews/replace-judge 替换评委
GET /api/contests/reviews/judge/contests 评委参与的活动列表
GET /api/contests/reviews/judge/contests/:contestId/works 评委的作品列表

第一阶段:补充作业管理模块缺失接口

接口 状态 说明
GET /api/homeworks/my 我的作业列表
POST /api/homeworks/:id/unpublish 取消发布作业
GET /api/homeworks/submissions 提交记录列表
GET /api/homeworks/submissions/:id 提交详情
GET /api/homeworks/submissions/class-tree 班级树结构
GET /api/homeworks/submissions/my/:homeworkId 我的提交
POST /api/homeworks/scores 创建评分
POST /api/homeworks/scores/:submissionId/violation 标记违规
POST /api/homeworks/scores/:submissionId/reset 重置评分
GET /api/homeworks/review-rules/select 可选评审规则
PUT /api/homeworks/review-rules/:id 更新评审规则
DELETE /api/homeworks/review-rules/:id 删除评审规则

第一阶段:补充其他模块缺失接口

模块 接口 状态
AI 3D DELETE /api/ai-3d/:id 删除任务

第二阶段:统一 HTTP 方法

将以下更新接口统一为 PUT 方法:

  • PATCH /contests/:id → PUT /api/contests/:id
  • PATCH /teams/:id → PUT /api/teams/:id
  • PATCH /homeworks/:id → PUT /api/homeworks/:id
  • PATCH /ai-3d/:id/retry → PUT /api/ai-3d/:id/retry

第三阶段:修改前端 API 路径

将前端 API 路径统一添加 /api 前缀:

  • /contests/*/api/contests/*
  • /homework/homeworks/*/api/homeworks/*
  • /ai-3d/*/api/ai-3d/*

第四阶段:新增模块

4.1 认证模块 (Auth)

  • POST /api/auth/login - 用户登录
  • GET /api/auth/user-info - 获取用户信息
  • POST /api/auth/logout - 用户登出
  • POST /api/auth/refresh-token - 刷新 Token

4.2 文件上传模块 (Upload)

  • POST /api/upload - 上传文件
  • DELETE /api/upload?url= - 删除文件

4.3 系统日志模块 (Logs)

  • GET /api/sys-log/page - 分页查询日志
  • GET /api/sys-log/:id - 日志详情
  • GET /api/sys-log/statistics - 日志统计
  • DELETE /api/sys-log?ids= - 批量删除日志
  • POST /api/sys-log/clean - 清理过期日志

4.4 年级管理模块 (Grades)

  • GET /api/grades - 分页查询年级列表
  • GET /api/grades/:id - 年级详情
  • POST /api/grades - 创建年级
  • PUT /api/grades/:id - 更新年级
  • DELETE /api/grades/:id - 删除年级

4.5 班级管理模块 (Classes)

  • GET /api/classes - 分页查询班级列表
  • GET /api/classes/:id - 班级详情
  • POST /api/classes - 创建班级
  • PUT /api/classes/:id - 更新班级
  • DELETE /api/classes/:id - 删除班级

4.6 部门管理模块 (Departments)

  • GET /api/departments - 部门列表
  • GET /api/departments/tree - 部门树形结构
  • GET /api/departments/:id - 部门详情
  • POST /api/departments - 创建部门
  • PUT /api/departments/:id - 更新部门
  • DELETE /api/departments/:id - 删除部门

4.7 教师管理模块 (Teachers)

  • GET /api/teachers - 教师列表
  • GET /api/teachers/:id - 教师详情
  • GET /api/teachers/user/:userId - 根据用户 ID 查询教师
  • POST /api/teachers - 创建教师
  • PUT /api/teachers/:id - 更新教师
  • DELETE /api/teachers/:id - 删除教师

4.8 学生管理模块 (Students)

  • GET /api/students - 分页查询学生列表
  • GET /api/students/:id - 学生详情
  • GET /api/students/user/:userId - 根据用户 ID 查询学生
  • POST /api/students - 创建学生
  • PUT /api/students/:id - 更新学生
  • DELETE /api/students/:id - 删除学生

4.9 评委管理模块 (Contest Judges)

  • GET /api/contests/judges/contest/:contestId - 活动评委列表
  • GET /api/contests/judges/:id - 评委详情
  • POST /api/contests/judges - 创建评委
  • PUT /api/contests/judges/:id - 更新评委
  • DELETE /api/contests/judges/:id - 删除评委
  • POST /api/contests/judges/freeze - 冻结评委
  • POST /api/contests/judges/unfreeze - 解冻评委
  • POST /api/contests/judges/batch-delete - 批量删除评委

待实现模块

P0 - 高优先级

  1. 公共接口模块 (Public) - 涉及用户注册、登录、个人信息、子女管理、活动、作品、AI 创作、标签、广场等40+ 端点,功能复杂)

P1 - 中优先级

  1. 学校管理模块完善 - 学校信息 CRUD已有基础需补充完整接口
  2. 结果管理模块完善 - ContestResult 相关接口
  3. 评审规则模块完善 - ContestReviewRule 相关接口
  4. 预设评语模块完善 - ContestPresetComment 相关接口

主要问题总结

1. 路径前缀不一致

  • 前端大多使用 /contests/homework/homeworks
  • 后端统一使用 /api/contests/api/homeworks
  • 修复方案:已修改前端 API 路径,添加 /api 前缀

2. HTTP 方法不一致

  • 多处更新接口前端使用 PATCH后端使用 PUT
  • 修复方案:已统一修改前端使用 PUT 方法

下一步行动

  1. 实现公共接口模块 - 这是最大的模块,涉及用户端所有功能
  2. 实现学校组织模块 - 部门、教师、学生管理
  3. 实现评委管理模块 - 评委邀请、审核、管理
  4. 联调测试 - 修复后进行前后端联调测试