EDUSOHO踩坑笔记之三十二:课程

69 篇文章 0 订阅
59 篇文章 6 订阅

 EDUSOHO踩坑笔记之三十二:课程

获取课程信息

GET /course_sets/{id}

权限

  • 不需要认证
  • 普通用户可以获得published状态的课程 [TODO]
  • 管理员用户可以获得任何状态的课程 [TODO]

响应

成功响应CourseSet结构体

字段描述
id int string课程ID
title string标题
subtitle string副标题
typeenum{normal,live,liveOpen,open}课程类型 normal:普通课程 live:直播课程 liveOpen:直播公开课 open:公开课
tags list<Tag>标签
category Category分类
serializeModeenum{none,serialized,finished}连载课程 none:非连载 serialized:连载中 finished:连载结束
statusenum{draft,published,closed}状态, 普通用户只能看到published的课程
summary string课程摘要
goals list<string>课程目标
audiences list<string>课程适合人群
cover Picture课程封面图片地址
ratingNum int string评价人数
rating float string评价平均分
noteNum int string笔记数量
studentNum int string学员数量
recommended bool是否推荐课程
recommendedSeq int string推荐序号
recommendedTime datetime推荐时间
orgId int string组织机构ID
orgCode string组织机构编码
discountId int string打折活动ID
discount int string折扣量
maxRate int string最大可被虚拟币抵扣百分比
hitNum int string课程查看次数
materialNum int string资料数量
parentId int string父课程ID
locked bool课程锁定状态
maxCoursePrice float string已发布教学计划的最高价格
minCoursePrice float string已发布教学计划的最低价格
maxOriginCoursePrice float string已发布教学计划的最高原价格
minOriginCoursePrice float string已发布教学计划的最低原价格
creator SimpleUser课程创建者
createdTime datetime创建时间
updatedTime datetime最后更新时间
teachers list<SimpleUser>教师

错误

失败响应Error结构体,错误码有

Code错误说明HTTP状态码
10课程不存在404

获取课程列表

GET /course_sets

权限

  • 不需要认证
  • 普通用户可以获得public状态的课程
  • 管理员用户可以获得任何状态的课程 [TODO]

参数

字段是否必填描述
typeenum{normal,live,liveOpen,open}课程类型, 默认normal
categoryId int string分类ID,默认all
title string课程标题
sort string排序字段 'createdTime','updatedTime','recommendedSeq',
'hitNum','recommendedTime','rating','studentNum'
offset int string分页偏移值, 默认0
limit int string每一页数量, 默认10

响应

成功响应pagelist<CourseSet>结构体

课程成员

获取课程所有学员(去重)

GET /course_sets/{courseSetId}/latest_members

权限

  • 不需要认证

参数

字段是否必填描述
offset int string分页偏移值,默认0
limit int string每一页数量,默认10

响应

成功响应list<CourseMember>结构体

字段描述
id int string成员ID
courseSetId int string课程ID
courseId int string教学计划ID
user SimpleUser用户信息
deadline datetime到期时间
levelId int stringvipID
learnedNum int string已学任务数量
noteNum int string笔记数量
noteLastUpdateTimedatetime笔记数量
isLearned bool是否学完
finishedTimedatetime何时完成计划
roleenum{teacher,student}角色
locked bool是否被锁
createdTimedatetime加入时间
lastLearnTimedatetime最近学习时间
lastViewTimedatetime最近观看视频时间
access Access是否可以继续学习 success:可以 course.unpublished:课程未发布 course.expired:学习有效期已过 course.not_arrive:未到授课时间 member.expired:学员有效期已到 vip.member_expired:vip过期 vip.level_not_exist:vip等级不存在 vip.level_low:等级过低

教学计划

获取单个教学计划

GET /courses/{id}

权限

  • 不需要认证用户

响应

成功响应Course结构体

字段描述
id int string教学计划ID
courseSetSimpleCourseSet课程
title string教学计划标题
learnMode string学习模式
learningExpiryDateExpiryDate学习有效期
summary string教学计划简介
goals list<string>教学计划目标
audienceslist<string>教学计划适合人群
isDefault int string是否是默认教学计划
maxStudentNum int string最大允许加入学员
status string教学计划状态
creatorSimpleUser教学计划创建者
isFree int string是否免费
price float string价格
originPrice float string价格
enableFinish bool是否允许学员强制完成任务, 1:表示不限制 0:表示限制
vipLevelId int stringvipId
tryLookable int string是否允许试看
tryLookLength int string允许试看时长
watchLimit int string观看次数
serviceslist<Service>承诺服务
taskNum int string总任务数
publishedTaskNumint string发布的任务数
studentNum int string学员数
teacherslist<SimpleUser>教师
parentId int string父计划ID
createdTimedatetime创建时间
updatedTimedatetime最后更新时间
access Access是否可加入课程 success:可以加入 user.not_login:用户未登录 user.locked:用户被锁 course.unpublished:课程未发布 course.closed:课程已关闭 course.not_buyable:课程被设置不可加入 course.buy_expired:购买有效期已过 course.expired:学习有效期已过 course.only_vip_join_way:只能通过VIP加入

ExpiryDate结构体

字段描述
expired bool是否已过期
expiryModeenum{days,date}教学计划到期模式 days:指定天数后过期 date:指定的时间过期
expiryDays int string到期天数
expiryStartDate datetime到期开始时间
expiryEndDate datetime到期结束时间

Service结构体

字段描述
code string服务编码
shortName string短名称
fullName string长名称
summary string描述信息

Access结构体

字段描述
code string编码
msg string信息

错误

失败响应Error结构体,错误码有

Code错误说明HTTP状态码
10教学计划不存在404

获取教学计划列表(搜索)

GET /courses

权限

  • 不需要认证用户

参数

字段是否必填描述
typeenum{normal,live}教学计划类型
categoryId int string分类ID,默认all
title string教学计划标题
sort string排序字段 'createdTime','updatedTime','recommendedSeq',
'hitNum','recommendedTime','rating','studentNum'
offset int string分页偏移值, 默认0
limit int string每一页数量, 默认10

响应

成功响应list<Course>结构体

获取课程已发布的教学计划

GET /course_sets/{course_setId}/courses

权限

  • 不需要认证用户

响应

成功响应list<Course>结构体

错误

失败响应Error结构体,错误码有:

Code错误说明HTTP状态码
10课程不存在404

获取我加入的教学计划

GET /me/course_sets/{courseSetId}/course_members

权限

  • 认证用户

响应

成功响应list<CourseMember>结构体

教学计划成员

加入教学计划,成为学员

POST /courses/{id}/members

权限

  • 需要认证用户

响应

加入成功返回CourseMember

加入失败返回空对象

错误

失败响应Error结构体,错误码有:

Code错误说明HTTP状态码
10教学计划不存在404

获取教学计划学员

GET /courses/{courseId}/members

权限

  • 不认证用户

参数

字段是否必填描述
role enum{student,teacher}角色,默认查询所有角色
offset int string分页偏移值, 默认0
limit int string每一页数量, 默认10

响应

成功响应list<CourseMember>结构体

获取单个教学计划成员

GET /me/course_members/{courseId}

权限

  • 认证用户

响应

成功响应CourseMember结构体

教学计划任务

获取单个任务

GET /courses/{courseId}/tasks/{taskId}

权限

  • 需要认证

响应

成功响应CourseTask结构体

字段描述
id int string任务ID
title string任务标题
isFree int string是否免费
isOptional int string是否选修
startTime datetime直播开始时间
endTime datetime直播结束时间
mode string任务模式
status string任务状态
type int string任务类型
length int string视频时长(秒)
result SimpleTaskResult任务结果 传入token,才有这个属性
lock bool任务是否被锁住 传入token,才有这个属性
activity Activity活动

Activity 结构体

字段描述
id int stringID
remark string描述信息
replayStatus enum{ungenerated,generating,generated}直播回放状态
finishType string任务完成类型
finishDetail string任务完成条件

获取教学计划的目录列表

GET /courses/{id}/items

权限

  • 不需要认证

参数

字段是否必填描述
onlyPublished int stringonlyPublished=1,过滤掉未发布的任务

响应

成功响应CourseItem结构体

字段描述
type enum{task,chapter,unit}类型
number int string显示的数字
seq int string任务的顺序
title string标题
task CourseTask任务

错误

失败响应Error结构体,错误码有

Code错误说明HTTP状态码
10教学计划不存在404

获取计划下的第一个试看任务

GET /courses/{id}/trial_tasks/first

权限

  • 不需要用户认证

响应

成功响应CourseTask

错误

失败响应Error结构体,错误码有

Code错误说明HTTP状态码
10计划不存在404

错误

失败响应Error结构体,错误码有

Code错误说明HTTP状态码
10教学计划不存在404

评价

获取计划的所有评价

GET /courses/{id}/reviews

权限

  • 不需要用户认证
  • 公开的评价 -> private = 0

参数

字段描述
offset int string分页偏移值, 默认0
limit int string每一页数量, 默认10

响应

成功响应list<CourseReview>结构体

字段描述
id int string评价ID
userId int string评价人ID
courseId int string教学计划ID
title string评价标题
content string评价内容
rating int string评价分数
private bool是否是私有评价
createdTime datetime创建时间
updatedTime datetime最后更新时间
parentId int string父ID
meta string保存当时用户的学习进度
courseSetId int string课程ID

错误

失败响应Error结构体,错误码有

Code错误说明HTTP状态码
10教学计划不存在404

获取课程的所有评价

GET /course_sets/{id}/reviews

权限

  • 不需要用户认证
  • 公开的评价 -> private = 0

参数

字段描述
offset int string分页偏移值, 默认0
limit int string每一页数量, 默认10

响应

成功响应list<CourseReview>结构体

错误

失败响应Error结构体,错误码有

Code错误说明HTTP状态码
10课程不存在404

学习进度

获取我的教学计划下的学习进度

GET /me/course_learning_progress/{courseId}

权限

  • 需要用户认证

响应

字段描述
taskCount int string任务总数
taskResultCount int string完成的任务数
progress int string当前学习进度百分比
nextTask CourseTask下一个学习的任务
taskPerDay int string任务式课程每日建议学习任务数
planStudyTaskCount int string计划应学数量
planProgressProgress int string计划进度
member SimpleCourseMember成员信息

SimpleCourseMember 结构体

字段描述
id int stringID
courseId int string计划ID
deadline datetime学习有效期

错误

失败响应Error结构体,错误码有

Code错误说明HTTP状态码
10计划不存在404

课程收藏

我收藏的课程

GET /me/favorite_course_sets

权限

  • 需要认证用户

参数

字段描述
offset int string分页偏移值, 默认0
limit int string每一页数量, 默认10

响应

成功响应pageList<SimpleCourseSet>

字段描述
id int stringID
title string标题
subtitle string副标题
type enum{normal,live,open,liveOpen}类型
cover [CourseCover#CourseCover]封面
studentNum int string学员数量
maxCoursePrice int string最大价格
minCoursePrice int string最小价格
maxOriginCoursePrice int string最高原价格
minOriginCoursePrice int string最小原价格
discount int string优惠

是否收藏课程

GET /me/favorite_course_sets/{courseSetId}

权限

  • 需要认证用户

响应:

成功响应

字段描述
isFavorite bool是否收藏

收藏课程

POST /me/favorite_course_sets

权限

  • 需要认证用户

参数

字段是否必填描述
courseSetId int string课程ID

响应

成功响应

字段描述
success bool收藏是否成功

取消收藏课程

DELETE /me/favorite_course_sets/{courseSetId}

权限

  • 需要认证用户

参数

字段是否必填描述
courseSetId int string课程ID

响应

成功响应

字段描述
success bool取消是否成功

退出

退出计划

DELETE /me/course_members/{courseId}

权限

  • 需要认证用户

参数

字段是否必填描述
reason string退出原因

响应

成功响应

字段描述
success bool取消是否成功

事件

学习任务

PATCH /courses/{courseId}/tasks/{taskId}/events/{envet:doing,finish}

权限

  • 需要认证用户

参数

字段是否必填描述
lastTime timestamp最近一次记录任务的时间戳

成功响应

字段描述
result TaskResult任务结果
event string任务名称
lastTime timestamp最近一次记录任务的时间戳
nextTask CourseTask下一个任务 只有当前任务完成了才有值,否则是null
completionRate int string课程完成百分比 只有当前任务完成了才有值,否则是null

TaskResult 结构体

字段描述
id int string任务结果ID
activityId int string活动ID
courseId int string计划ID
courseTaskId int string任务ID
createdTime datetime任务开始时间
finishedTime datetime任务完成时间
status enum{start,finish}任务的状态
updatedTime enum{start,finish}最后更新时间
userId enum{start,finish}用户ID

查看计划

PATCH /courses/{courseId}/events/{event:course_view}

权限

  • 不需要认证
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
EduSoho网络课堂最新官方版,EduSoho 是协助机构和个人建立在线教育网站的开源建站系统,提供在线教学、网校管理、云视频点播等功能。EduSoho由杭州阔知网络科技有限公司开发,于2013年10月8日开放RC版本下载。 EduSoho功能简介 1. 课程发布系统 支持三种课时类型:视频、图文、音频 除自主发布视频,也可以引用站外视频 课程目标和适合人群,协助学员定位 资料上传、测验题库维护,增强教学效果 可视化课时管理,可以对逐个课时进行发布,支持连载课程 2. 在线学习系统 课程展示页面和学习页面分离,让处于不同体验时期的学员获得该时期的必要信息 支持支付宝购买课程 笔记、资料,学员可随时记录知识要点,查看、下载课时资料 问答、讨论区,师生之间、学员之间可有效沟通 在线测验,学生学习后可进行测验了解掌握状况。 支持大部分移动客户端 3. 系统功能 支持三种管理权限:教师、管理员、超级管理员。用于三种不同分工 后台首页仪表盘,全面快速了解网校的运营、收入情况 简洁的内容管理,通过页面、导航、编辑区有效的组织网站 各种模版选择和定制,让网站独具特色! 云服务支持,通过简单设置实现云服务升级 服务器端运行环境推荐 操作系统:Linux 推荐使用Ubuntu,Fedora,CentOS,Gentoo Web服务器:推荐Nginx或Apache2 MYSQL数据库:推荐5.0以上版本 PHP版本:推荐5.3.17以上 EduSoho网络课堂 v2.6.0 更新日志: 新功能:可设置课程为连载课程 新功能:后台系统用户中心设置,可设置提醒用户上传头像 优化:改进js载入机制,支持主题也能载入自己的js以及js库。 修复:管理后台私信文字大于500字时,用户无法注册 修复:推荐课程排序未按顺序号排序 修复:提交试卷,可能会双倍算分的问题 修复:我的帐户,基础信息设置,姓名的错误提示信息不正确 修复:在后台关闭了新会员发送欢迎信息的功能,但每次注册都发送 修复:管理后台首页,受欢迎课程区域,“新增收入”的数据显示不正确 修复:特定条件下,新装EduSoho可能会乱码的问题 修复:第三方登录的时候,取第三方接口超时,数据取不到,报错的问题 修复:第三方登录未记录IP地址

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jyl_sh

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值