temp
2020年10月28日 新增接口
返回某个学生某个时间正在上的课
方式:get
格式xxxx?id=201800301258
只给学号就行了,时间就是后端的datetime.now()
查询一下,返回当前要上的课
返回格式
{
cid:'100350' // 课程名
}
2020年10月26日 新增接口
补签功能
方法:POST
传递data:
(能给的信息都在这了,你挑着用就行)
{
class_name: "101447",
date: "2020-10-25",
sid: 201800301011
}
返回信息:
{
status:"ok" 或者fail
error:"" 可选参数,字符串,返回错误信息
}
销假请求
方法:POST,
传递data:
懒得写了,都在最外层

返回信息:
- 前端不保证发送该请求时是已批准(未销假),这个你在后端简单判断一下就行(返回相应的error信息),因为已批准(未销假)什么的代号还没确定,
{
status:"ok" 或者fail
error:"" 可选参数,字符串,返回错误信息
}
撤销请假
方法:GET,
格式:xxxxx?id=5
(给你请假唯一id,就是leave表的pk)
(前端可以保证撤销的请假是可撤销的,比如状态为审核中等)
(别忘了后端其他各种接口的要判断是否撤销请假等等)
返回信息:
{
status:"ok" 或者fail
error:"" 可选参数,字符串,返回错误信息
}
2020年10月26日 【接口修改】
1.
(用于学生界面! 结束时间<当前时间 的请假信息不再有用,不再显示到列表上)
# 按照条件筛选请假信息
def get_filter_leave(util):

2.
所有和请假信息返回有关的接口,status之前只有三种
现在变更一下,
原状态已批准变为两种
已批准(未销假)
已批准(已销假)
3.



=分==
==jie=
==========line=
====================
9.29新增接口
对于 教师、学生的信息查看和修改
删除和修改以及新增均传递该对象的完整data
例如,删除、修改、新增学生对象,前端传递的都是
{
request:"delete" "insert" "update",
//
//
}
121.36.98.171
问题
1.返回待审批的请假、审批历史的时候,time返回的不是申请日期。
2020年9月28日新增接口
修改密码
方式:post
传递data:
{
id: 教师/学生id,
oldPassword: 旧密码,
newPassword: 新密码,
}
返回数据:
{
status:"ok" 或者fail
error:"" 可选参数,字符串,返回错误信息
}
上传文件(批量信息导入)
方式:post
后端根据文件名判断批量导入什么
例如 学院导入.xlsx就是要导入学院数据
“学院导入" 等名字是你的模板给定的
后端通过 util.FILES['file']方法拿到一个类型为
<class 'django.core.files.uploadedfile.InMemoryUploadedFile'>
的文件,
返回数据:
{
status:"ok" 或者fail
error:"" 可选参数,字符串,返回错误信息
}
某学生的某周课表 / 30
某课某周的出勤情况 / 30
某个学院所有课的某周出勤情况 / 30
查看信息
修改信息
某个学生的请假历史信息
某个教师的请假历史信息
学生请假申请
教师请假查看和审批
//============
批量导入学生信息
设置学期功能
设置节假日
大接口
某学生的某周课表
{
student: {
id: 201800301258,
name: "alex",
sex: "男",
classid: 20180101
},
week:1,
data: [
[0, 0, 0], // 一定要加上,固定写法,这一行不用管,
[2, 1, 1, "AXP-H01", '2020-9-12'], // 周二,第一节课,正常签到,课程名, 日期
[3, 5, 2, "SCP-173", '2020-9-13'], // 周三,第五节课,请假,课程名, 日期
[1, 4, 3, "ISO-007", '2020-9-15'], // 周一,第四节课,缺勤,课程名, 日期
[7, 4, -1, "ISO-007", '2020-9-14'] // 周日,第四节课,未上,课程名, 日期
],
statistic:{
1:10,
2:2,
3:5,
}
}
get方法
xxxx?id=201800301258&week=1
某学生的某月课表
接口:返回某学生某个月的课表
{
student: {
id: 201800301258,
name: "alex",
sex: "男",
classid: 20180101
},
firstday: "2020-09-01", // 第一天
data: [
[0, 0, 0], // 一定要加上,固定写法,这一行不用管,
[12, 1, 1, "AXP-H01", '2020-9-12'], // 9-12,第一节课,正常签到,课程名, 日期
[13, 4, 3, "ISO-007", '2020-9-13'], // 9-12,第四节课,缺勤,课程名, 日期
[13, 5, 2, "SCP-173", '2020-9-13'], // 9-13,第五节课,请假,课程名, 日期
[14, 4, -1, "ISO-007", '2020-9-14'] // 9-14,第四节课,未上,课程名, 日期
],
statistic:{
1:10,
2:2,
3:5,
}
}
和某周的差不多,
方法:get
格式:xxxxx?id=201800301258&year=2020&month=9
某学院的某月课表
{
dept: {
name: "软件学院",
code: "RJXY",
},
year: 2020,
month: 9,
data: [
// 格式:[出勤 请假 缺勤 未上课]
[1,2,3,4], // 2020.9.1 出勤1人 请假2人 缺勤3人 未上课4人
[1,2,3,4],
[1,2,3,4],
],
statistic:{
1:10, // 这个学院这个月出勤次数
2:2, // 这个学院这个月请假次数
3:5, //这个学院这个月缺勤次数
4:50, //和前面不同,这里多了一个,这个学院这个月未上课次数
}
}
方法:get
格式:xxxxx?code=RJXY&year=2020&month=9
这里给后端的是code,就是学院代码,我不知道能不能传汉字,先传code吧
按指定条件查询某页缺勤 信息
2020年9月23日08:45:06更新
分页可以参照已实现的control_student里的get方法对应的代码
后端可能按照bit位那种记录方式不太好查询,
可以到时候定义一个视图啥的,
返回格式:
{
count:100, // 目前符合条件的缺勤信息总数
items:
[
{
sid:201800301258, // 学生学号
name:"周杰伦",
sex:"男",
sclass:20180101,
dept_name:"历史学院",
date:"2020-09-15", // 缺勤日期
no:3, // 缺勤节次
class_name:"SCP-173", // 缺勤课程名
},
{
... ...
},
...
]
}
请求方式:post
格式:
xxxxx
// 携带的data:
{
page:2,
pagesize:20,
filter:{
sid:201800301258, // 学生学号
name:"周杰伦",
sclass:20180101,
dept_name:"历史学院"
date:"2020-09-15", // 缺勤日期
class_name:"SCP-173", // 缺勤课程名
},
}
(page即页数,pagesize即每一页的数据项,如上请求返回满足筛选条件数据的20~39条)
(filter为 筛选条件,返回的数据需满足filter中的条件,filter中的某些数据项不一定会出现)
例子:
某次请求如下:
xxxxx
// 携带的data:
{
page:1,
pagesize:20,
filter:{
date:"2020-09-15", // 缺勤日期
class_name:"SCP-173", // 缺勤课程名
}
}
后端返回2020-09-15日的,关于scp-173课程的所有缺勤信息,(可以默认按照时间排序)
按指定条件查询某页请假 信息
2020年9月23日16:15:50
返回格式:
{
count:100, // 目前符合条件的请假信息总数
items:
[
{
id: 20200915035, // 每条请假对应的唯一编号,记录请假信息的表 的主键
sid:201800301258, // 学生学号
name:"周杰伦",
sex:"男",
sclass:20180101,
dept_name:"历史学院",
time:"2020-09-15", // 请假发起日期
status:"审核中", // enum(已批准、审核中、未通过),
},
{
... ...
},
...
]
}
请求方式:post
格式:
xxxxx
// 携带的data:
{
page:2,
pagesize:20,
filter:{
sid:201800301258, // 学生学号
name:"周杰伦",
sclass:20180101,
dept_name:"历史学院",
time:"2020-09-15", // 请假发起日期
status:"已批准"
},
}
(page即页数,pagesize即每一页的数据项,如上请求返回满足筛选条件数据的20~39条)
(filter为 筛选条件,返回的数据需满足filter中的条件,filter中的某些数据项不一定会出现)
例子:
某次请求如下:
xxxxx
// 携带的data:
{
page:1,
pagesize:20,
filter:{
date:"2020-09-15", // 请假发起日期
}
}
后端返回2020-09-15日所有请假信息,(可以默认按照时间排序)
登录接口修改
2020年9月24日10:57:24
除了返回status之外,再加上个用户信息
返回格式:(学生就返回学生表里的信息,老师就返回老师表的信息)
{
status:"ok",
userinfo:{
id:201800301234,
name:"哈哈",
sex:"男",
sclass:20180101
}
}
发送请假申请
2020年9月24日11:27:17
方法:post
携带data:
{
application:{
id:201800301258,
name: "周杰伦", // 冗余项,可以不用管
region: "在校", // enum(在校、离校)
startTime: 1600929278000, // 请假起始时间
endTime: 1600929093000, // 请假结束时间
reason: "我要去吃汉堡王", // 请假说明,(0~300个字符)
time:1600929277000 // 请假发起时间
},
}
返回格式:
{
status:"ok", // enum(ok、fail)
error:"申请时间超过最大时间限制", // 当status为fail时返回的错误信息,
}
注:带具体时间的传递一律时间戳。
python转化方法为 :
timestamp = time.localtime(req['form']['startTime']/1000)
d = time.strftime("%Y-%m-%d %H:%M", timestamp)
查看老师未处理的请假信息
2020年9月24日13:25:33
方法:get
格式:xxxxx?tid=1000542167
返回:
{
time: "2016-05-02", // 请假发起日期
id: 20200915035, // 请假唯一编号
sid: 201800301234,
name: "王小虎",
sclass:20200101,
status:"审核中",
}
查看老师已处理的请假历史信息
方法:get
格式:xxxxx?tid=1000542167
返回:
{
time: "2016-05-02", // 请假发起日期
id: 20200915035, // 请假唯一编号
sid: 201800301234,
name: "王小虎",
sclass:20200101,
status:"已批准", // enum(已批准、未通过)
}
发送老师处理信息
方法:post
携带data:
{
id: 20200915035, // 唯一编号
tid:10801080, // 处理人(老师)id
time:160093055457, // 处理时间
approval:{
opinion:"同意", // enum(同意、不同意)
declineReason:"我才是龙王" // 不同意的原因
}
}
通过编号返回详细请假信息
- 这是完整的请假表,可供数据库表项建立的参考
2020年9月24日15:50:28
方法:get
格式:xxxxx?id=20200915035
返回:
{
status:"已批准",
id:313513513, // 唯一编号
application:{
id:201800301258,
name: "龙王赘婿", // 冗余项,可以不用管
sex:"男",
sclass:20180101,
dept:"软件学院",
time:1600930354757, // 申请时间
region: "在校", // enum(在校、离校)
startTime: 1600929278000, // 字符串格式,请假起始时间
endTime: 1600929093000, // 请假结束时间
reason: "回家继承百亿家产,回家继承百亿家产,回家继承百亿家产,回家继承百亿家产,回家继承百亿家产,回家继承百亿家产,回家继承百亿家产,回家继承百亿家产,", // 请假说明,(0~300个字符)
},
approval:{
id:10510651066, // 处理人id,
name:"王老吉", // 老师姓名
opinion:"同意", // enum(同意、不同意)
declineReason:"我才是龙王" // 不同意的原因
time:160093055457, // 处理时间
}
},

浙公网安备 33010602011771号