[关闭]
@galaxy-0 2019-10-10T23:16:34.000000Z 字数 3536 阅读 1176

作业帮前后端接口

接口文档


更新记录

9.13

添加获取group的成员的接口
删除read接口
修改发布announcement的接口,添加返回值的id
添加删除announcement接口

9.14

修复一些借口的bug:
删除了获取announcement接口中的read字段
补充退出群组的groupId字段
添加了获取公告/添加公告中的title字段
补充了获取群组列表的groupId字段

添加了创建群组的接口
添加了获取class信息的接口

9.16

修改checkGroup接口,功能修改为一个用户可以同时加入一个课程的多个group

9.20

废弃checkGroup接口,在获取群组列表的接口中添加一个join字段来表明是否加入该群组
在邀请接口添加一个状态码2,表示邀请的用户不存在

9.21

添加课程表接口

9.22

添加评论公告的功能,修改了获取公告的接口(需要新加上公告的回复)
新增了添加公告评论的接口

10.10

添加备忘录接口

添加个人信息接口

身份认证部分

使用jwt认证模式进行验证。

前端发送:
URL:/authenticate
method:POST
data:

{
    username:'',
    password:''
}

后台回复:

{
    status:0/1,  //1为成功,0为失败
    token:'',  //成功时生成一个标识用户的token
}

登录成功之后,会在每一次请求的header加上一个authorization字段,放入这个生成的token,后台根据header里面的token来确定用户

获取课程列表

前端发送:
URL:/getClass
method: GET

后台回复:

{
    status:0/1/,
    classList:[{
        classId:'',
        className:''
    },...,{}]
}

获取课程信息

前端发送:
URL:/getClassInfo
method: GET
data:

{
    classId:''
}

后台回复:

{
    status:0/1/,
    classInfo:{
        className:'',
        description:'',
        //可能会有更多的信息
    }
}  

检查当前自己在该课程是否加入了群组

前端发送:
URL: /group/checkGroup
method: GET
data:

{
    classId:''
}

后台回复:

{
    status:0/1,
    group:[
    {
        groupId:'', // 加入的群组的id
        groupName:'' // 加入的群组的名字
    },...,{}
    ]
}

获取群组信息

前端发送:
URL: /group/getGroupInfo
method: GET
data:

{
    groupId:''
}

后台回复:

{
    status:0/1,
    groupName:'' // 群组的名字
    // 接口可能会更新更多的群组信息
}

获取群组邀请列表

如果用户没有加入任何一个群组,查询来自别的群组的邀请
前端发送:
URL: /group/getInvitation
method: GET
data:

{
    classId:''
}

后台回复:

{
    status:0/1,
    invitations:[{
        invitationId:'', //邀请的id
        from:'', // 邀请者的名字
        groupId:'',
        groupName:''           
    },...,{}]
}

通过邀请

通过一个群组邀请并加入群组。通过之后邀请会从用户的邀请列表中消除。
前端发送:
URL: /group/acceptInvitation
method: GET
data:

{
    invitationId:''
}

后台回复:

{
    status:0/1
}

拒绝邀请

拒绝一个群组邀请。拒绝之后邀请会从用户的邀请列表中消除。
前端发送:
URL: /group/rejectInvitation
method: GET
data:

{
    invitationId:''
}

后台回复:

{
    status:0/1
}

发出邀请

对某一个用户发出邀请加入当前用户的群组
前端发送:
URL: /group/invite
method: GET
data:

{
    userName:'' //邀请加入的目标用户名
    groupId:'' //邀请加入的群组id
}

后台回复:

{
    status:0/1
}

获取群组列表

没有加入群组的时候,查看其它所有群组的列表
前端发送:
URL: /group/getGroupList
method: GET
data:

{
    classId:''
}

后台回复:

{
    status:0/1,
    groupList:[{
        groupId:'',
        groupName:'',
        join:false/true
    },...,{}]
}

创建群组

URL: /group/createGroup
method: POST
data:

{
    classId:'',
    groupName:'',
    description:''
}

后台回复:

{
    status:0/1
}

加入某个群组

前端发送:
URL: /group/join
method: GET
data:

{
    groupId:''
}

后台回复:

{
    status:0/1
}

退出群组

退出当前用户在这个课程的群组
前端发送:
URL: /group/exitGroup
method: GET

data:

{
    groupId:''
}

后台回复:

{
    status:0/1
}

获取群组成员

前端发送:
URL: /group/getMembers
method: GET
data:

{
    groupId:''
}

后台回复:

{
    status:0/1,
    members:[{name:'',id:''},..,{}]
}

获取某个群的announcement

前端发送:
URL:/announcement/get
method: GET
data:

{
    groupId:''
}

后台回复:

{
    status:0/1,
    announcement:[{
        announcementId:'',//announcement的id
        title:"",
        content:'',//公告内容
        user:'',//发公告的人的名字
        userId:'',//发公告的人的id
        time:'' // 发公告的时间
        comment:[{
            user:'',//发comment的人
            content:''//内容
        }]
    },...,{}]
}

检查身份,当前用户是否可以在当前课程群组发公告

目前只有群主(创建群的人)还有老师可以发公告
前端发送:
URL:/announcement/check
method:GET
data:

{
    groupId:''
}

后台回复:

{
    status:0/1,
    able:true/false
}

发公告

前端发送:
URL:/announcement/send
method:POST
data:

{
    content:'',
    title:""
    groupId:''
}

后台回复:

{
    status:0/1,
    annoucementId:''
}

删除公告

前端发送:
URL:/announcement/delete
method:GET
data:

{
    announcementId:''
}

后台回复:

{
    status:0/1
}

获取课程表

前端发送:
URL:/schedule
method:GET

后台回复:
注意课表要和学生课程信息里面的课程列表一致

{
    status:0/1,
    table: [{
                startDay: '2019-09-01',
                endDay: '2019-10-01',
                startTime: '14:00',
                endTime: '17:45',
                weekDay: "Thursday",
                name: 'Machine Learning',
                description: '401B'
            },...{}]
}

添加回复

前端发送:
URL:/announcement/comment
method:POST
data:

{
    announcementId:'',
    content:''
}

后台回复:

{
    status:0/1,
}

获取备忘录

注:每个人有自己的备忘录
前端发送:
URL:/note/get
method:GET

后台回复:

{
    status:0/1,
    notes:[{
        noteId:'',
        title:'',
        content:'',
        time:'' // 添加备忘录的时间
    }]
}

添加备忘录

URL:/note/add
method:POST
data:

{
    content:'',
    title:""
}

后台回复:

{
    status:0/1
}

编辑备忘录

URL:/note/edit
method:POST
data:

{
    noteId:'',
    content:'',
    title:""
}

后台回复:

{
    status:0/1
}

删除备忘录

URL:/note/delete
method:GET
data:

{
    noteId:''
}

后台回复:

{
    status:0/1
}

获取个人信息

注:只需要获取的接口,个人数据写死在数据库
URL:/user/info
method:GET

后台回复:

{
    status:0/1,
    info:{
        usn:'',
        email:''
    }
}
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注