EVA-Tea/doc/api.md

3.6 KiB
Raw Permalink Blame History

接口文档

基本格式

成功响应格式

{
  "success": true,
  "data": {
    "foo": "bar"
  }
}

NOTE: 若无特殊说明,POST请求的响应data字段为空({}),可以不用管。

失败响应格式

{
  "success": false,
  "err": "some error"
}

GET请求默认格式(若无特殊说明)

{
  "token": "token_test"
}

主页面

统计数据 GET /admin/stats

data:

{
  "success": true,
  "data": {
    "notInOreo": 114,
    "total": 514
  }
}

当前值班信息 GET /admin/duty/current

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/loglist

data:

{
  "op": "宇航员",
  "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}"