跳至主要內容

06.阳光沙滩学院API


阳光沙滩学院API

继续前面的API文档

阳光沙滩API文档open in new window

补充学院的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的同学演示之前先去网站购买了课程,再去演示功能,购买只是个过场,不需要钱,也不需要扣积分的。