Skip to content

普通课程任务预览

GET /api/manage/course/{courseId}/task/{taskId}/preview权限 ADMIN_COURSE_MANAGE

预览课程任务,返回任务信息、活动信息、课程信息及上下任务导航。

路径参数

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

权限说明

以下条件满足其一即可预览:

  1. 用户是该课程的讲师(CourseMember.role 包含 "teacher")
  2. 用户在课程的管理范围内(ResourceAccessScopeService)

响应

字段类型说明
taskobject任务信息
activityobject活动信息
prevTaskobject/null上一任务(可为 null)
nextTaskobject/null下一任务(可为 null)
courseobject课程信息

task 字段

字段类型说明
idnumber任务 ID
courseIdnumber课程 ID
courseSetIdnumber课程集 ID
titlestring任务标题
seqnumber任务序号
statusstring任务状态:PUBLISHED / UNPUBLISHED / CREATE
typestring任务类型:video / audio / doc / ppt / download / exam / ...
lengthnumber任务时长
rewardPointnumber/null完成任务奖励积分
isOptionalboolean是否选修
isLockedboolean是否被锁定(LOCK_MODE 下必修任务未完成)
finishConditionobject完成条件

finishCondition 字段

字段类型说明
finishTypestring完成类型:time(学习时长)/download(下载)/end(学习到最后一页)/join_discuss(参与讨论)
finishDetailnumber/null完成详情:time类型为需要学习的时长(分钟),end/download/join_discuss类型为null

activity 字段

字段类型说明
idnumber活动 ID
typestring活动类型
mediaobject媒体信息(视频/音频/文档等)
contentobject正文内容(考试/作业等)

media 字段(视频类型)

字段类型说明
urlstring视频地址
resNostring资源编号
tokenstring访问 token
mediaSourcestring视频源:self/net/livereplay/segment
fileStoragestring文件存储类型
fileConvertStatusstring文件转换状态
mediaTypestring媒体类型
mediaLengthnumber文件时长/秒
startAtnumber智萃分段视频:起始时间毫秒
endAtnumber智萃分段视频:结束时间毫秒
segmentIdnumber智萃分段视频:分段 ID
watermarkstring图片水印地址
fingerprintstring视频指纹
playerWatermarkTxtstring[]播放器水印文本列表
enablePlaybackRatesboolean是否开启倍速播放
controlBarDisableVolumeButtonboolean控制栏:禁用音量按钮
controlBarDisablePlaybackButtonboolean控制栏:禁用播放按钮
controlBarDisableResolutionSwitcherboolean控制栏:禁用分辨率切换器
videoH5boolean是否启用 H5 视频
cloudSdkBaseUristring云 SDK 基础地址
cloudPlayServerstring云播放服务器地址
disableSeekstring是否禁用拖动播放
encryptionPlusboolean防盗增强
disableFullscreenboolean是否禁用全屏
autoplayboolean是否自动播放
headerLengthnumber片头时长/秒
markersarray弹题驻点列表

markers 数组项

字段类型说明
idnumber弹题 ID
secondnumber触发秒数
questionCountnumber题目总数
questionTimeLimitnumber单题限时(秒)

prevTask / nextTask 字段

字段类型说明
idnumber任务 ID
titlestring任务标题
seqnumber任务序号
statusstring任务状态
typestring任务类型

course 字段

字段类型说明
idnumber课程 ID
titlestring课程标题
categoryIdnumber课程分类 ID
serializeModestring连载方式
creditnumber完成课程奖励的学分数量
rewardPointnumber/null课程奖励积分

请求示例

http
GET /api/manage/course/1001/task/2001/preview
Authorization: Bearer <token>

响应示例

json
{
  "task": {
    "id": 2001,
    "courseId": 1001,
    "courseSetId": 1000,
    "title": "第一章 课程介绍",
    "seq": 1,
    "status": "PUBLISHED",
    "type": "video",
    "length": 3600,
    "rewardPoint": 10,
    "isOptional": false,
    "isLocked": false,
    "finishCondition": {
      "finishType": "time",
      "finishDetail": 600
    }
  },
  "activity": {
    "id": 3001,
    "type": "video",
    "media": {
      "url": "https://cdn.example.com/video.mp4",
      "mediaLength": 3600,
      "autoplay": false,
      "markers": [
        {
          "id": 1,
          "second": 60,
          "questionCount": 3,
          "questionTimeLimit": 30
        }
      ]
    },
    "content": null
  },
  "prevTask": null,
  "nextTask": {
    "id": 2002,
    "title": "第二章 基础知识",
    "seq": 2,
    "status": "PUBLISHED",
    "type": "video"
  },
  "course": {
    "id": 1001,
    "title": "课程标题",
    "categoryId": 1,
    "serializeMode": "none",
    "credit": 1,
    "rewardPoint": 100
  }
}

异常

错误码HTTP说明触发条件
COURSE_NOT_FOUND404课程不存在课程 ID 无效或课程已删除
COURSE_TASK_NOT_FOUND404课程任务不存在任务 ID 无效或任务不属于该课程
COURSE_ACTIVITY_NOT_FOUND404课程活动不存在任务未关联活动或活动已删除
COURSE_PREVIEW_FORBIDDEN403无权预览该课程用户既不是讲师也不在管理范围内
MENU_PERMISSION_DENIED403权限不足无课程管理权限(ADMIN_COURSE_MANAGE)

预览模式说明

此接口为预览模式,与学员端学习接口行为不同:

行为说明
学习时长不记录只读接口,不触发 trigger pipeline
任务完成不触发音视频播放等不触发任务完成
不检查解锁状态未解锁任务也可预览
不检查发布状态未发布任务也可预览
不触发多开/挂机检测预览模式下不进行相关检测
播放记忆不生效不存储/读取播放位置