实验楼接口文档

                   

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	每章课程对应的节(每一节都是一个视频课程)

 

 

 

posted @ 2020-10-12 21:10  小白很快乐  阅读(196)  评论(0)    收藏  举报