阳光沙滩学院API
继续前面的API文档
补充学院的API文档
获取课程列表
这个API,跟学院的首页一样,获取课程列表
/ct/edu/course/list/{page}
不按分类,只按分页获取
课程详情
有了课程列表以后,点击进去的就是课程详情了
/ct/edu/course/{courseId}
返回的数据
//ID
private String id;
//讲师ID
private String teacherId;
//讲师名称
private String teacherName;
//讲师头像
private String avatar;
//一级分类
private String categoryOne;
//二级分类
private String categoryTwo;
//标题
private String title;
//价格
private BigDecimal price;
//封面
private String cover;
//购买数量
private int buyCount;
//浏览数量
private int viewCount;
//是否连载
private String isKeepUpdate;
//课程等级,0为初级,1为中级,2 为高级
private int lev;
//课程描述
private String description;
//课程状态
private String status;
//课程标签
private String[] labels;
//VIP是否免费
private String isVipFree;
课程章节内容
进入到详情,除了 获取课程信息,还有课程章节内容
/ct/edu/course/chapter/{courseId}
返回的数据
//ID
private String id;
//标题
private String title;
//顺序
private int sort;
//课程ID
private String courseId;
//章节介绍
private String description;
//章节内容(章节里的视频)
private List<EduVideo> children = new ArrayList<>();
EduVideo这个数据bean
@ApiModelProperty(value = "视频ID")
@TableId(value = "id", type = IdType.ASSIGN_ID)
private String id;
private String userId;
@ApiModelProperty(value = "课程ID")
private String courseId;
@ApiModelProperty(value = "章节ID")
private String chapterId;
@ApiModelProperty(value = "节点名称")
private String title;
@ApiModelProperty(value = "云端视频资源")
private String videoSourceId;
@ApiModelProperty(value = "原始文件名称")
private String videoOriginalName;
@ApiModelProperty(value = "排序字段")
private Integer sort;
@ApiModelProperty(value = "播放次数")
private Long playCount;
@ApiModelProperty(value = "是否可以试听:0收费 1免费")
private Boolean isFree;
@ApiModelProperty(value = "视频时长(秒)")
private Long duration;
@ApiModelProperty(value = "Empty未上传 Transcoding转码中 Normal正常 Review审核中 Publish 已发布")
private String status;
@ApiModelProperty(value = "视频源文件大小(字节)")
private Long size;
@ApiModelProperty(value = "乐观锁")
private Long version;
@TableField(fill = FieldFill.INSERT)
@ApiModelProperty(value = "创建时间")
private Date createTime;
@TableField(fill = FieldFill.INSERT_UPDATE)
@ApiModelProperty(value = "更新时间")
private Date updateTime;
创建播放凭证
有了前面的视频信息,要播放某个视频,拿到视频的ID,调用创建播放凭证的接口,获取到播放凭证。
/ct/video/certification/{videoId}
返回的playAuth
则为播放凭证,videoId
为播放ID
有了播放凭证,可以使用阿里云的SDK去播放视频。
https://help.aliyun.com/document_detail/311525.html
阳光沙滩的视频接入地域是上海:cn-shanghai
有了以上接口,就可以播放视频了。
最后也同样重要的
免费视频可以直接播放,如果是收费的视频,只支持VIP会员。
所以VIP的同学演示之前先去网站购买了课程,再去演示功能,购买只是个过场,不需要钱,也不需要扣积分的。