Skip to content

培训考试系统 内部 API ​

题库、考试、阅卷、培训中心、刷题 / 复习、AI 模型 / 提示词等内部接口。

权限码为接口所需权限标识。

TrainAiModelController ​

  • 基础路径:/train/ai/model
  • 类级权限:@ss.hasPermi('train:ai:model:list')
方法路径权限说明
GET/train/ai/model/list@ss.hasPermi('train:ai:model:list')查询AI模型配置列表
GET/train/ai/model/current@ss.hasPermi('train:ai:model:list')查询当前生效的默认配置(供前端展示)
GET/train/ai/model/{configId}@ss.hasPermi('train:ai:model:query')获取AI模型配置详细信息
POST/train/ai/model@ss.hasPermi('train:ai:model:add')新增AI模型配置
PUT/train/ai/model@ss.hasPermi('train:ai:model:edit')修改AI模型配置
DELETE/train/ai/model/{configIds}@ss.hasPermi('train:ai:model:remove')删除AI模型配置
PUT/train/ai/model/sort@ss.hasPermi('train:ai:model:edit')拖动排序:按传入的有序模型ID列表重写提供方组内排序号(需同属一个提供方)
POST/train/ai/model/test/{configId}@ss.hasPermi('train:ai:model:test')测试模型连接

TrainAiModelProviderController ​

  • 基础路径:/train/ai/provider
  • 类级权限:@ss.hasPermi('train:ai:model:list')
方法路径权限说明
GET/train/ai/provider/list@ss.hasPermi('train:ai:model:list')查询AI模型提供方列表
GET/train/ai/provider/{providerId}@ss.hasPermi('train:ai:model:query')获取AI模型提供方详细信息
POST/train/ai/provider@ss.hasPermi('train:ai:model:add')新增AI模型提供方
PUT/train/ai/provider@ss.hasPermi('train:ai:model:edit')修改AI模型提供方(名称/地址/密钥/状态/备注;连接参数变更自动镜像其下模型)
DELETE/train/ai/provider/{providerIds}@ss.hasPermi('train:ai:model:remove')删除AI模型提供方
PUT/train/ai/provider/default/{providerId}@ss.hasPermi('train:ai:model:default')设为默认提供方(其下排序第一的启用模型=系统默认模型)
POST/train/ai/provider/fetch-models/{providerId}@ss.hasPermi('train:ai:model:add')获取模型列表并批量导入(GET {base_url}/models,OpenAI 兼容规范)

TrainAiPromptController ​

  • 基础路径:/train/ai/prompt
  • 类级权限:@ss.hasPermi('train:ai:prompt:list')
方法路径权限说明
GET/train/ai/prompt/list@ss.hasPermi('train:ai:prompt:list')查询AI提示词列表
GET/train/ai/prompt/{promptId}@ss.hasPermi('train:ai:prompt:query')获取AI提示词详细信息
POST/train/ai/prompt@ss.hasPermi('train:ai:prompt:add')新增AI提示词 —— 给新接入的 AI 场景创建提示词。
DELETE/train/ai/prompt/{promptIds}@ss.hasPermi('train:ai:prompt:remove')删除AI提示词(内置场景的提示词不可删除,只能修改或恢复默认)
PUT/train/ai/prompt@ss.hasPermi('train:ai:prompt:edit')修改AI提示词(含采样温度/最大token等参数)
PUT/train/ai/prompt/reset/{promptCode}@ss.hasPermi('train:ai:prompt:reset')恢复指定场景的内置默认提示词

TrainAnalysisController ​

  • 基础路径:/train/analysis
  • 类级权限:@ss.hasPermi('train:practice:list')
方法路径权限说明
GET/train/analysis/stream/{questionId}@ss.hasPermi('train:practice:list')流式生成题目 AI 分析

TrainCategoryController ​

  • 基础路径:/train/category
  • 类级权限:@ss.hasPermi('train:category:list')
方法路径权限说明
GET/train/category/list@ss.hasPermi('train:category:list')查询题库分类列表
GET/train/category/all查询全部启用分类(下拉选择用)
GET/train/category/{categoryId}@ss.hasPermi('train:category:query')获取题库分类详细信息
POST/train/category@ss.hasPermi('train:category:add')新增题库分类
PUT/train/category@ss.hasPermi('train:category:edit')修改题库分类
DELETE/train/category/{categoryIds}@ss.hasPermi('train:category:remove')删除题库分类

TrainCenterController ​

  • 基础路径:/train/center
  • 类级权限:@ss.hasPermi('train:center:list')
方法路径权限说明
GET/train/center/guide@ss.hasPermi('train:center:list')AI 生成引导问题(第一轮)
POST/train/center/material@ss.hasPermi('train:center:list')根据用户回答生成个性化培训资料(异步,返回生成中记录)
GET/train/center/myList@ss.hasPermi('train:center:list')我的培训资料列表
GET/train/center/material/{materialId}@ss.hasPermi('train:center:list')培训资料详情
DELETE/train/center/material/{materialIds}@ss.hasPermi('train:center:list')删除培训资料
GET/train/center/material/{materialId}/export@ss.hasPermi('train:center:list')导出培训资料为 docx
GET/train/center/material/{materialId}/exportPdf@ss.hasPermi('train:center:list')导出培训资料为 PDF

TrainExamController ​

  • 基础路径:/train/exam
  • 类级权限:@ss.hasPermi('train:exam:list')
方法路径权限说明
GET/train/exam/deptTree@ss.hasPermi('train:exam:list')部门树(考试范围选择用,独立于系统管理权限)
GET/train/exam/searchUser@ss.hasPermi('train:exam:list')搜索用户(考试范围选择用,独立于系统管理权限)
GET/train/exam/list@ss.hasPermi('train:exam:list')查询考试列表
GET/train/exam/{examId}@ss.hasPermi('train:exam:query')获取考试详细信息(校验题库可见性)
POST/train/exam@ss.hasPermi('train:exam:add')新增考试
PUT/train/exam@ss.hasPermi('train:exam:edit')修改考试
DELETE/train/exam/{examIds}@ss.hasPermi('train:exam:remove')删除考试
POST/train/exam/paper/{examId}@ss.hasPermi('train:exam:paper')智能组卷
POST/train/exam/paper/manual/{examId}@ss.hasPermi('train:exam:paper')自定义组卷(管理员从题库手动挑选题目)
GET/train/exam/paper/{examId}@ss.hasPermi('train:exam:query')查询考卷题目(预览)
POST/train/exam/paper/{examId}/replace/{questionId}@ss.hasPermi('train:exam:paper')手动换题
PUT/train/exam/paper/score@ss.hasPermi('train:exam:paper')调整题目分值
PUT/train/exam/finish/{examId}@ss.hasPermi('train:exam:status')手动结束考试
PUT/train/exam/reopen/{examId}@ss.hasPermi('train:exam:status')恢复考试(取消手动结束)
GET/train/exam/scoreList@ss.hasPermi('train:exam:list')查询考试成绩列表(按考试查考生成绩)
GET/train/exam/participants/{examId}@ss.hasPermi('train:exam:list')考试参加情况(校验题库可见性)
POST/train/exam/exportScore@ss.hasPermi('train:exam:export')导出考试成绩

TrainGradingController ​

  • 基础路径:/train/grading
  • 类级权限:@ss.hasPermi('train:grading:list')
方法路径权限说明
GET/train/grading/examList@ss.hasPermi('train:grading:list')阅卷可选考试列表(有考生交卷记录的考试,含参与人数,供下拉选择)
GET/train/grading/recordList@ss.hasPermi('train:grading:list')考生成绩列表(按考试)
GET/train/grading/detail/{recordId}@ss.hasPermi('train:grading:list')查看任意考生答卷详情(数据权限范围内可见)
POST/train/grading/report/{recordId}@ss.hasPermi('train:grading:list')触发生成考试宏观分析报告(异步)
PUT/train/grading/score@ss.hasPermi('train:grading:list')人工修改问答题得分(AI阅卷纠错,总分联动重算)
GET/train/grading/report/{recordId}@ss.hasPermi('train:grading:list')查询宏观分析报告状态与内容
GET/train/grading/myReport/{recordId}@ss.hasPermi('train:record:list')我的宏观分析报告(用户端,从记录ID查询)
POST/train/grading/myReport/{recordId}@ss.hasPermi('train:record:list')用户为自己生成宏观分析报告(校验答卷归属本人)

TrainPracticeController ​

  • 基础路径:/train/practice
  • 类级权限:@ss.hasPermi('train:practice:list')
方法路径权限说明
GET/train/practice/draw@ss.hasPermi('train:practice:list')刷题抽题(不含答案;scope:all 全部 / new 仅未做过 / wrong 仅错题;
GET/train/practice/scopeStats@ss.hasPermi('train:practice:list')分类可刷题数量统计(范围选择提示:全部/未做过/错题,可限定题型/难度/知识点)
GET/train/practice/knowledgePoints@ss.hasPermi('train:practice:list')分类下知识点列表(筛选下拉用)
POST/train/practice/submit@ss.hasPermi('train:practice:list')提交刷题答案(返回对错与标准答案)
POST/train/practice/aiJudge@ss.hasPermi('train:practice:list')问答题 AI 判分(AI 依据参考答案评判作答,判错进错题/判对算已做过)
GET/train/practice/reviewList@ss.hasPermi('train:review:list')复习模式题目列表(含答案;scope:all 全部 / new 仅未做过 / wrong 仅错题;
POST/train/practice/recordReview@ss.hasPermi('train:review:list')记录复习浏览
GET/train/practice/question/{questionId}@ss.hasPermi('train:practice:list')题目详情(复习/刷题共用,含答案)

TrainQuestionController ​

  • 基础路径:/train/question
  • 类级权限:@ss.hasPermi('train:question:list')
方法路径权限说明
GET/train/question/list@ss.hasPermi('train❓list')查询题目列表
POST/train/question/export@ss.hasPermi('train❓export')导出题目列表
GET/train/question/{questionId}@ss.hasPermi('train❓query')获取题目详细信息
POST/train/question@ss.hasPermi('train❓add')新增题目
PUT/train/question@ss.hasPermi('train❓edit')修改题目
DELETE/train/question/{questionIds}@ss.hasPermi('train❓remove')删除题目
POST/train/question/parse@ss.hasPermi('train❓import')上传 docx 题库文件并解析(返回预览,确认后导入)
POST/train/question/import@ss.hasPermi('train❓import')确认导入解析后的题目
POST/train/question/ai/generate@ss.hasPermi('train❓add')AI 辅助生成题目(异步任务,可传参考资料文本或 docx 文件)
POST/train/question/ai/convert@ss.hasPermi('train❓add')AI 模板转换(异步任务):用户自定义模板(docx/文本)转为系统标准模板并入库
GET/train/question/ai/tasks@ss.hasPermi('train❓add')我的 AI 出题任务列表(分页 + 状态筛选,刷新页面后仍可查看任务状态)
GET/train/question/ai/task/{taskId}@ss.hasPermi('train❓add')AI 出题任务详情(前端轮询)
GET/train/question/template@ss.hasPermi('train❓import')下载题库模板

TrainRecordController ​

  • 基础路径:/train/record
  • 类级权限:@ss.hasPermi('train:record:list')
方法路径权限说明
GET/train/record/list@ss.hasPermi('train:record:list')我的考试记录列表
GET/train/record/myExam@ss.hasPermi('train:record:list')查询本人可参加的考试列表(进行中)
GET/train/record/start/{examId}@ss.hasPermi('train:record:list')开始考试(返回试卷)
GET/train/record/draft/{examId}@ss.hasPermi('train:record:list')获取未提交答卷(刷新恢复续答)
POST/train/record/save/{examId}@ss.hasPermi('train:record:list')实时保存答卷草稿(前端防抖自动保存,刷新/返回不丢答案)
POST/train/record/submit/{examId}@ss.hasPermi('train:record:list')提交答卷
GET/train/record/detail/{recordId}@ss.hasPermi('train:record:list')答卷详情(本人)
GET/train/record/gradingStatus/{recordId}@ss.hasPermi('train:record:list')阅卷进度轮询
DELETE/train/record/{recordIds}@ss.hasPermi('train:record:list')删除考试记录(本人)
POST/train/record/regenAnalysis/{recordId}@ss.hasPermi('train:record:list')重新生成本人答卷的错题AI分析(清空失败占位后异步重跑)

TrainStatController ​

  • 基础路径:/train/stat
方法路径权限说明
POST/train/stat/overview统计大屏全部数据(一次返回,支持全局部门/季度筛选 + 各图表独立分类筛选)
GET/train/stat/detail图表下钻明细(分页,随数据权限)

数智洞察平台