5.0 KiB
5.0 KiB
接口文档
基本格式
成功响应格式
{
"success": true,
"data": {
"foo": "bar"
}
}
NOTE: 若无特殊说明,POST请求的响应data字段为空({}),可以不用管。
失败响应格式
{
"success": false,
"err": "some error"
}
GET请求默认格式(若无特殊说明)
{
"token": "token_test"
}
主页面
统计数据 GET /stats
data:
{
"success": true,
"data": {
"todayPT": 114, // 今日预填写工单总数
"totalPT": 514, // 所有预填写工单
"oreo": 93, // 加入 Oreo 工单数
"report": 8, // 今日反馈数
"allSuccess": 1919, // 所有成功工单(包括 Oreo 内)
"all": 2024 // 所有工单(包括 Oreo 内)
}
}
当前值班信息 GET /admin/duty/current
正常值班
data:
{
"isNormalDuty": true,
"inDutyCnt": 3,
"otherDutyTime": "",
"offDutyReason": "",
"place": "204",
"dutyRecoverTime": ""
}
其他值班
data:
{
"isInDuty": true,
"currentDuty": "2",
"inDutyCnt": 3,
"otherDutyTime": "",
"offDutyReason": "",
"place": "204",
"dutyRecoverTime": ""
}
主席团页面
值班表管理
更新值班表 POST /admin/sheet/create
request:
{
"name": "2024 春学期值班表",
"sheet": [
{
"weekday": 1,
"shift": 1,
"workers": ["马嘉祺", "丁程鑫", "宋亚轩"],
"leader": "蔡徐坤"
},
{
"weekday": 1,
"shift": 2,
"workers": ["王俊凯", "易烊千玺", "王源"],
"leader": "丁真珍珠"
}
// ...
]
}
更新值班表 POST /admin/sheet/update
request:
{
"id": 114514,
"name": "2024 春学期值班表",
"sheet": [
{
"weekday": 1,
"shift": 1,
"workers": ["马嘉祺", "丁程鑫", "宋亚轩"],
"leader": "蔡徐坤"
},
{
"weekday": 1,
"shift": 2,
"workers": ["王俊凯", "易烊千玺", "王源"],
"leader": "丁真珍珠"
}
// ...
]
}
获取当前值班表 GET /admin/sheet/current
data:
{
"name": "2024 春学期值班表",
"id": 114514,
"createdTime": "2024-03-07T19:52:48.523303",
"sheet": [
{
"weekday": 1,
"shift": 1,
"workers": ["马嘉祺", "丁程鑫", "宋亚轩"],
"leader": "蔡徐坤"
},
{
"weekday": 1,
"shift": 2,
"workers": ["王俊凯", "易烊千玺", "王源"],
"leader": "丁真珍珠"
}
// ...
]
}
获取所有值班表 GET /admin/sheet/list
data:
{
"current": 114514,
"list": [
{
"name": "2024 春学期值班表",
"id": 114514,
"createdTime": "2024-03-07T19:52:48.523303",
"sheet": [
{
"weekday": 1,
"shift": 1,
"workers": ["马嘉祺", "丁程鑫", "宋亚轩"],
"leader": "蔡徐坤"
},
{
"weekday": 1,
"shift": 2,
"workers": ["王俊凯", "易烊千玺", "王源"],
"leader": "丁真珍珠"
}
// ...
]
}
// ...
]
}
特殊值班
获取当前值班情况 GET /admin/duty/current
data:
{
"isInDuty": true,
"currentDuty": "2",
"inDutyCnt": 3,
"otherDutyTime": "",
"offDutyReason": "",
"place": "",
"dutyRecoverTime": "",
},
更新当前值班情况 POST /admin/duty/update
无关项返回空字符串,后端手动校验
request:
{
"isInDuty": true,
"currentDuty": "2",
"inDutyCnt": 3,
"otherDutyTime": "",
"offDutyReason": "",
"place": "204",
"dutyRecoverTime": "",
},
反馈页面
获取反馈列表 GET /admin/reportlist
request:
{
"current": 1,
"pageSize": 10,
"name?": "西西弗", // 如果不筛选则不出现在 request-body 内
"phone?": "18888888888" // 如果不筛选则不出现在 request-body 内
}
data:
{
"page": 1,
"total": 24,
"success": true,
"data": [
{
"name": "晓洋",
"phone": "13333333333",
"time": "2024-03-07T17:52:48.523303",
"text": "你们为什么修不好天选3的PD充电?"
}
// ...
]
}
日志页面
获取日志列表 GET /admin/loglist
request:
{
"current": 1,
"pageSize": 10,
"op?": "晓洋", // 如果不筛选则不出现在 request-body 内
"operation": "all" | "add" | "delete" | "change", // all 之外的选项用于筛选
"target": "all" | "dutyTable" | "dutyInfo" | "conclusion" // all 之外的选项用于筛选
}
data:
{
"page": 1,
"total": 24,
"success": true,
"data": [
{
"op": "宇航员",
"avatar": "https://...",
"time": "2024-03-07T19:52:48.523303",
"operation": 2,
"target": 1,
"prev": {
"id": 114,
"info": "马嘉祺"
},
"curr": {
"id": 514,
"info": "何君琳"
}
}
// ...
]
}
前端显示的信息:"{op} 于 {time} {operation} 了 {target}:{prev.info} -> {curr.info}"