实验楼接口文档
01.用户模块
1.1注册
1.1.1获取图片验证码
1.简要描述
获取图片验证码
2.请求URL
http://192.168.56.100:8888/verify/image_codes/?uuid=a8c690ec-5590-49e2-8ae7-e00873ed8538
3.请求方式:get
4.参数:访问接口携带参数
4.1请求接口事例
请求接口参数说明:
参数名 必选 类型 说明 uuid 是 string 前端自己生成的uuid
4.2返回事例
返回参数说明

1.1.2 查询用户名/手机号是否存在
1.简要描述:
用户名或者手机号是否存在
2.请求URL:
http://192.168.56.100:8888/user/count/
3.请求方式:POST
4.参数:访问接口携带参数
4.1请求接口事例
{
"type":"phone",
"data":18538752511
}
请求接口参数说明:
参数名 必选 类型 说明 type 是 string 验证类型:username/phone data 是 string 手机号或者用户名
4.2 返回事例
{
"code":0,
"msg":"查询成功",
"data":{
"type":"phone",
"count":1
}
}
返回参数说明
参数名 类型 说明 type string phone或者username count Int 如果为0没有注册,如果大于0注册过
1.1.3 获取手机验证码
1.简要描述:
获取手机验证码
2.请求URL:
http://192.168.56.100:8888/user/sms_codes/
3.请求方式:POST
4.参数:访问接口携带参数
4.1请求接口事例
{
"phone":"phone",
"image_code":”a86d”,
"image_code_uuid":”de8edce2-fc9f-11ea-9325-005056c00008”,
}
请求接口参数说明:
参数名 必选 类型 说明 phone 是 string 手机号 image_code 是 string 字符串的验证码 image_code_uuid 是 string 前端生成的uuid
4.2 返回事例
{
"code":0,
"msg":"短信发送成功",
"data":{
}
}
返回参数说明
参数名 类型 说明 code string 状态码 msg string 提示信息
1.1.4 注册接口
1.简要描述:
用户注册接口
2.请求URL:
http://192.168.56.100:8888/user/register/
3.请求方式:POST
4.参数:访问接口携带参数
4.1请求接口事例
{
"username":"zhangsan",
"password":”zs@qq.com”,
"phone":”18538752511”,
"code":”786543”
}
请求接口参数说明:
参数名 必选 类型 说明 username 是 string 用户名 password 是 string 密码 phone 是 string 用户手机号 code 是 string 短信验证码
4.2 返回事例
{
"code":0,
"msg":"注册成功",
"data":{
}
}
返回参数说明
参数名 类型 说明 code string 状态码 msg string 提示信息
1.2 登录模块
1.2.1 获取微博url接口
1.简要描述:
获取微博二维码的url
2.请求URL:
Http://192.168.56.100:8888/oauth/weibo/
3.请求方式:POST
4.参数:访问接口携带参数
4.1请求接口事例
请求接口参数说明:
本接口无需携带任何参数
4.2 返回事例
{
"code": "0",
"msg": "成功",
"data": {
"url": "https://api.weibo.com/oauth2/authorize?client_id=3516473472&response_type=code&redirect_uri=http%3A%2F%2F127.0.0.1%3A8888%2Foauth%2Fcallback%2F"
}
}
返回参数说明
参数名 类型 说明 code string 0说明正常 url string 微博二维码的url
1.2.2 微博回调接口
1.简要描述:
发送微博返回的code,给django后端,进行身份验证
2.请求URL:
http://192.168.56.100:8888/oauth/weibo/callback/
3.请求方式:POST
4.参数:访问接口携带参数
4.1请求接口事例
{
"code":"726316d4186a13763d04d83b5b9379cf"
}
请求接口参数说明:
参数名 必选 类型 说明 code 是 string 微博扫码后返回的code
4.2 返回事例
{
"code":0,
"msg":"授权成功",
"data":{
"type":"1",
"uid":"2.00Jn2xDIE5lypD24da0f81e40Djwir"
}
}
返回参数说明
参数名 类型 说明 type string 0代表用户已经绑定,1代表用户未绑定 uid string 微博、微信等三方用户ID
1.2.3 绑定三方登录用户
1.简要描述:
把实验楼本地用户和三方用户id进行关联绑定
2.请求URL:
http://192.168.56.100:8888/oauth/weibo/binduser/
3.请求方式:POST
4.参数:访问接口携带参数
4.1请求接口事例
{
"username":"tom",
"password":"chnsys@2016",
"weibo_uid":"2.00Jn2xDIE5lypD24da0f81e40Djwir"
}
请求接口参数说明:
参数名 必选 类型 说明 username 是 string 用户名 password 是 string 密码 weibo_uid 是 string 三方用户ID
4.2 返回事例
{
"code":0,
"msg":"登录成功",
"data":{
"authenticated":"true",
"id":2,
"role":null,
"name":"tom",
"username":"tom",
"email":"tom@qq.com",
"token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIjoyLCJ1c2VybmFtZSI6InRvbSIsImV4cCI6MTYwMjMxMDgyMSwiZW1haWwiOiJ0b21AcXEuY29tIiwib3JpZ19pYXQiOjE2MDIyMjQ0MjF9.p_eRebzWnv5jaUQJkfaiKlG606OmMMIL5OWZj9dA79s",
"type":"0"
}
}
返回参数说明
参数名 类型 说明 authenticated 布尔 True代表授权,false用户未授权登录 role string 用户角色 name string 昵称 username string 用户名 email string 邮箱 token string 登录成功返回的JWT的token type string type: 0陈宫
1.2.4 登录接口(用户名)
1.简要描述:
用户名+密码登录接口
2.请求URL:
http://192.168.56.100:8888/user/login/
3.请求方式:POST
4.参数:访问接口携带参数
4.1请求接口事例
{
"username":"tom",
"password":"chnsys@2016",
}
请求接口参数说明:
参数名 必选 类型 说明 username 是 string 用户名 password 是 string 密码
4.2 返回事例
{
"authenticated":"true",
"id":15,
"role":null,
"name":"jack",
"username":"jack",
"email":"",
"token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIjoxNSwidXNlcm5hbWUiOiJqYWNrIiwiZXhwIjoxNjAyMzE0NjULCJlbWFpbCI6IiIsIm9yaWdfaWF0IjoxNjAyMjI4MjU5fQ.HzWq9SyOUx1WEOb2M2yProm6tDjB2zajFy0sfLHEbR4"
}
返回参数说明
参数名 类型 说明 token string jwt生成的用户认证token
02: 课程模块
2.1 获取课程类别接口
1.简要描述:
获取课程类别接口(免费/限免/会员)
2.请求URL:
http://192.168.56.100:8888/course/type/
3.请求方式:GET
4.参数:访问接口携带参数
4.1请求接口事例
Header Request
{
"Authorization":"JWT eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIjoxLCJ1c2VybmFtZSI6InRvbSIsImV4cCI6MTYwMjUxMzc2NiwiZW1haWwiOiJ0b21AcXEuY29tIiwib3JpZ19pYXQiOjE2MDI0MjczNjZ9.-1QK7V2iAtQRU69L3IoTovpuz2TJTouqxeA-7vt2sB0",
}
请求接口参数说明:
参数名 必选 类型 说明 Authorization 是 string JWT用户身份验证token
4.2 返回事例
{
"count":3,
"next":null,
"previous":null,
"results":[
{
"id":1,
"create_time":"2020-10-11T14:31:34.264794Z",
"update_time":"2020-10-11T14:31:34.264833Z",
"title":"免费",
"sequence":1
},
{
"id":2,
"create_time":"2020-10-11T14:31:41.195529Z",
"update_time":"2020-10-11T14:31:41.195567Z",
"title":"限免",
"sequence":2
},
{
"id":3,
"create_time":"2020-10-11T14:31:48.959491Z",
"update_time":"2020-10-11T14:31:48.959525Z",
"title":"会员",
"sequence":3
}
]
}
返回参数说明
参数名 类型 说明 title string 课程类别 sequence Int 前端显示的序号
2.2 获取标签接口
1.简要描述:
获取课程类别接口(免费/限免/会员)
2.请求URL:
http://192.168.56.100:8888/course/tag/
3.请求方式:GET
4.参数:访问接口携带参数
4.1请求接口事例
Header Request
{
"Authorization":"JWT eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIjoxLCJ1c2VybmFtZSI6InRvbSIsImV4cCI6MTYwMjUxMzc2NiwiZW1haWwiOiJ0b21AcXEuY29tIiwib3JpZ19pYXQiOjE2MDI0MjczNjZ9.-1QK7V2iAtQRU69L3IoTovpuz2TJTouqxeA-7vt2sB0",
}
请求接口参数说明:
参数名 必选 类型 说明 Authorization 是 string JWT用户身份验证token
4.2 返回事例
{
"count":3,
"next":null,
"previous":null,
"results":[
{
"id":1,
"create_time":"2020-10-11T14:35:08.026071Z",
"update_time":"2020-10-11T14:35:08.026106Z",
"title":"python",
"sequence":1
},
{
"id":2,
"create_time":"2020-10-11T14:35:14.214940Z",
"update_time":"2020-10-11T14:35:14.214973Z",
"title":"C/C++",
"sequence":2
},
{
"id":3,
"create_time":"2020-10-11T14:35:20.531257Z",
"update_time":"2020-10-11T14:35:20.531295Z",
"title":"Linux",
"sequence":3
}
]
}
返回参数说明
参数名 类型 说明 title string 课程标签 sequence Int 前端显示的序号
2.3 获取课程接口
1.简要描述:
获取课程
2.请求URL: http://192.168.56.100:8888/course/course/course_type=&status=1&ordering=&page=1&page_size=2&total=1
3.请求方式:GET
4.参数:访问接口携带参数
4.1请求接口事例
Header Request
{
"Authorization":"JWT eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIjoxLCJ1c2VybmFtZSI6InRvbSIsImV4cCI6MTYwMjUxMzc2NiwiZW1haWwiOiJ0b21AcXEuY29tIiwib3JpZ19pYXQiOjE2MDI0MjczNjZ9.-1QK7V2iAtQRU69L3IoTovpuz2TJTouqxeA-7vt2sB0",
}
请求接口参数说明:
参数名 必选 类型 说明 course_type 否 string 根据课程类别进行过滤 status 否 string 0:即将上线;1:已上线;2:已下线(过滤) ordering 否 String 最新/最热(排序) page 否 String 第几页 Page_size 否 String 每页返回几条数据
4.2 返回事例
{
"count":1,
"next":null,
"previous":null,
"results":[
{
"id":1,
"create_time":"2020-10-11T14:44:31.252836Z",
"update_time":"2020-10-11T14:53:38.004692Z",
"title":"Linux入门课程",
"desc":"要在实验楼愉快地学习,先要熟练地使用 Linux,本实验介绍 Linux 基本操作,shell 环境下的常用命令。",
"img":"http://192.168.56.100:8888/media/course/linux.jpg",
"status":"1",
"attention":111,
"learner":222,
"course_type":1,
"course_tag":[
3
]
}
]
}
返回参数说明
参数名 类型 说明 title string 课程名称 Desc string 课程描述 Img string 图片链接地址 status string 1:已上线
2.4 获取具体课程的章节信息
1.简要描述:
获取课程的章节信息
2.请求URL:
Http://192.168.56.100:8888/course/course/1/
3.请求方式:GET
4.参数:访问接口携带参数
4.1请求接口事例
Header Request
{
"Authorization":"JWT eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIjoxLCJ1c2VybmFtZSI6InRvbSIsImV4cCI6MTYwMjUxMzc2NiwiZW1haWwiOiJ0b21AcXEuY29tIiwib3JpZ19pYXQiOjE2MDI0MjczNjZ9.-1QK7V2iAtQRU69L3IoTovpuz2TJTouqxeA-7vt2sB0",
}
请求接口参数说明:
参数名 必选 类型 说明 1 否 Int 具体课程的ID
4.2 返回事例
{
"id":1,
"chapters":[
{
"id":1,
"sections":[
{
"id":1,
"create_time":"2020-10-11T14:57:14.151331Z",
"update_time":"2020-10-11T14:57:14.151364Z",
"title":"Linux 系统简介",
"serial_num":1,
"learn_time":1,
"video":"http://192.168.56.100:8888/media/videos/20201011/07.%E6%A3%80%E6%9F%A5%E7%94%A8%E6%88%B7%E5%90%8D%E6%98%AF%E5%90%A6%E4%BD%BF%E7%94%A8%E6%8E%A5%E5%8F%A3.mp4",
"seq_num":1,
"chapters":1
}
],
"create_time":"2020-10-11T14:56:34.585658Z",
"update_time":"2020-10-11T14:56:34.585689Z",
"title":"Linux 系统简介",
"serial_num":1,
"course":1
}
],
"create_time":"2020-10-11T14:44:31.252836Z",
"update_time":"2020-10-11T14:53:38.004692Z",
"title":"Linux入门课程",
"desc":"要在实验楼愉快地学习,先要熟练地使用 Linux,本实验介绍 Linux 基本操作,shell 环境下的常用命令。",
"img":"http://192.168.56.100:8888/media/course/linux.jpg",
"status":"1",
"attention":111,
"learner":222,
"course_type":1,
"course_tag":[
3
]
}
返回参数说明
参数名 类型 说明 ID 课程 字典最外层的ID是具体课程的ID Chapters string 具体课程对应章 Sections string 每章课程对应的节(每一节都是一个视频课程)

浙公网安备 33010602011771号