Skip to content

智萃课程预览

GET /api/admin/course/essence/{courseId}/preview
权限 ADMIN_COURSE_MANAGE

预览已智萃课程,返回课程信息及分段视频、概要、知识点、试题。

路径参数

参数类型必填说明
courseIdnumber课程 ID

查询参数

参数类型必填说明
languagestring语言标识,不传时使用首个已存在语言版本

响应

字段类型说明
courseInfoobject课程信息
courseInfo.courseNamestring课程名称
courseInfo.updatedTimenumber更新时间(秒)
courseInfo.selectedLanguagestring当前选择语言
courseInfo.canPublishboolean是否有发布课程权限
essencePreviewDataobject智萃内容预览数据
essencePreviewData.segmentsarray分段列表
essencePreviewData.segmentVideoobject分段视频信息(全段共用同一视频,各分段通过 startAt/endAt 标识时间范围)
essencePreviewData.segmentVideo.fileIdnumber视频文件 ID
essencePreviewData.segmentVideo.globalIdstring视频文件全局 ID
essencePreviewData.segmentVideo.convertStatusstring文件转换状态:success(可播放)/ waiting、doing(转码中)/ none(无需转码)/ error(转码失败)

segments 元素结构

字段类型说明
idnumber分段 ID(essence_segment.id)
seqnumber分段序号
titlestring分段标题
startAtnumber起始时间(毫秒)
endAtnumber结束时间(毫秒)
summarystring段落摘要
knowledgePointsarray知识点列表,每项为 { title, content }
questionsarray试题列表

questions 元素结构

待定

questions 的返回结构可能随需求调整,如有变更以接口实际返回为准。

字段类型说明
typestring题型:single(单选)、multi(多选)、judge(判断)
stemstring题干
optionsarray单选题/多选题:带正确标记的选项列表,每项含 key、label、isCorrect
answerboolean / string / array答案:judge 为 boolean;single 为 string(如 "A");multi 为 string[](如 ["A","C"])
analysisstring题目解析

options 元素结构(单选/多选)

字段类型说明
keystring选项标识,如 A、B、C
labelstring选项内容
isCorrectboolean是否为正确答案

请求示例

http
GET /api/admin/course/essence/1001/preview?language=zh_CN
Authorization: Bearer <token>

响应示例

json
{
  "courseInfo": {
    "courseName": "AI 智萃微课",
    "updatedTime": 1710000000,
    "selectedLanguage": "zh_CN",
    "canPublish": true
  },
  "essencePreviewData": {
    "segments": [
      {
        "id": 101,
        "seq": 1,
        "title": "第一章 引言",
        "startAt": 0,
        "endAt": 60000,
        "summary": "本章介绍课程背景与目标。",
        "knowledgePoints": [
          { "title": "知识点一", "content": "知识点一的详细内容。" },
          { "title": "知识点二", "content": "知识点二的详细内容。" }
        ],
        "questions": [
          {
            "type": "single",
            "stem": "以下哪项是正确的?",
            "options": [
              { "key": "A", "label": "选项 A", "isCorrect": false },
              { "key": "B", "label": "选项 B", "isCorrect": true }
            ],
            "answer": "B",
            "analysis": "选项 B 为正确答案,因为..."
          },
          {
            "type": "multi",
            "stem": "以下哪些属于智萃功能?(多选)",
            "options": [
              { "key": "A", "label": "视频分段", "isCorrect": true },
              { "key": "B", "label": "AI 生成试题", "isCorrect": true },
              { "key": "C", "label": "实时翻译", "isCorrect": false }
            ],
            "answer": ["A", "B"],
            "analysis": "智萃支持视频分段与 AI 生成试题,实时翻译为后续规划。"
          },
          {
            "type": "judge",
            "stem": "本课程适合初学者。",
            "options": null,
            "answer": true,
            "analysis": null
          }
        ]
      }
    ],
    "segmentVideo": {
      "fileId": 12345,
      "globalId": "abc123",
      "convertStatus": "success"
    }
  }
}

异常

错误码HTTP说明触发条件
COURSE_NOT_FOUND404课程不存在课程 ID 无效或课程已删除
COURSE_NOT_ESSENCE403当前课程不是智萃课程课程未绑定智萃视频,或智萃关联记录不存在
ESSENCE_FILE_NOT_FOUND404智萃视频记录不存在智萃视频记录已被删除或数据异常
ESSENCE_NOT_PROCESSED400智萃尚未完成,无法预览智萃视频仍在处理中(processing)或处理失败
ESSENCE_VERSION_NOT_FOUND404指定语言版本不存在或未生成传入了不存在的 language;或该智萃尚无任何语言版本;或指定语言的内容版本未生成
FILE_NOT_FOUND404文件不存在segmentVideo 关联的视频文件已被删除或不存在
MENU_PERMISSION_DENIED403权限不足无课程管理权限(ADMIN_COURSE_MANAGE)