-
Notifications
You must be signed in to change notification settings - Fork 9
00. 概述
Vizards edited this page Mar 15, 2019
·
15 revisions
-
应用基于 Egg.js 框架开发,Node 版本应高于 v8.0.0
-
MongoDB 默认使用的 Database 名称是
uestc
,可在config.default.js
文件中修改 MongoDB 的配置 -
处于
dev
分支的代码目前处于活跃更新中,有些更新可能更改默认的 API 请求行为,请留意 -
高频率请求教务系统会导致 IP 被冻结,特提供了配置 HTTP(S) 代理的选项,实际使用时请注意调用频率
为保证数据安全,建议线上 API 仅接受 HTTPS 请求
URL | 功能 | 请求方式 | 访问是否 需要鉴权 (TOKEN) |
数据格式 | 文档 |
---|---|---|---|---|---|
/api/user/login |
使用学号、密码 登录统一身份认证系统 |
POST | NO | application/json |
登录 |
/api/user/exit |
退出登录 | POST | YES | application/json |
退出登录 |
/api/user/delete |
删除账号信息 停止服务 |
POST | NO | application/json |
删除账户 |
/api/user/profile |
获取个人信息 | GET | YES | application/json |
获取个人信息 |
/api/user/profile |
设置账户信息 | POST | YES | application/json |
设置个人信息 |
/api/user/course |
按学年学期 获取用户课程表 |
POST | YES | application/json |
课程 |
/api/user/exam |
按学年学期 获取用户考试安排数据 |
POST | YES | application/json |
考试 |
/api/user/grade |
按学年学期 获取用户成绩数据 |
POST | YES | application/json |
成绩 |
/api/use r/usualGrade
|
按学年学期 获取用户平时成绩数据 |
POST | YES | application/json |
平时成绩 |
/api/user/grade |
获取用户 所有学期 成绩数据 |
GET | YES | application/json |
所有成绩 |
/api/user/gpa |
获取用户 所有学期 成绩统计数据 包括绩点(GPA) |
GET | YES | application/json |
成绩统计 |
/api/living/ecard |
获取一卡通信息 | GET | YES | application/json |
一卡通 |
/api/living/loss |
挂失一卡通 | POST | YES | application/json |
一卡通挂失 |
/api/living/bill |
查询消费账单 | POST | YES | application/json |
账单 |
/api/liv ing/electricity
|
获取宿舍电费信息 | POST | NO | application/json |
电费 |
/api/home/calendar |
获取校历数据 | POST | NO | application/json |
校历 |
/api/extra/traffic |
出行信息 | GET | NO | text/html |
其他 |
/api/extra/traffic |
联系信息 | GET | NO | text/html |
其他 |
/api/extra/info |
教务处常用信息 | GET | NO | text/html |
其他 |
/api/extra/stu |
教务处 教学管理公告 |
GET | NO | text/html |
其他 |
/api/extra/edu |
教务处 教研教改公告 |
GET | NO | text/html |
其他 |
/api/extr a/communication
|
教务处 实践交流公告 |
GET | NO | text/html |
其他 |
/api/extra/news |
教务处 教学新闻 |
GET | NO | text/html |
其他 |
/api/extra/room |
空闲教室查询 | GET | NO | text/html |
其他 |
/api/extra/today-course |
当日课程查询 | GET | NO | text/html |
其他 |
/api/extra/search-course |
全校课程查询 | GET | NO | text/html |
其他 |
/api/extra/search-teacher |
教师信息查询 | GET | NO | text/html |
其他 |
URL | 功能 | 请求方式 | 访问是否 需要鉴权 (TOKEN) |
数据格式 | 文档 |
---|---|---|---|---|---|
/api/dev/idas |
使用学号、密码 获取教务系统 Cookies |
POST | NO | application/json |
教务系统 Cookies |
/api/dev/ecard |
使用学号、密码 获取一卡通 Cookies |
POST | NO | application/json |
一卡通 Cookies |
/api/liv ing/electricity
|
获取宿舍电费信息 | POST | NO | application/json |
电费 |
/api/home/calendar |
获取校历数据 | POST | NO | application/json |
校历 |
名称 | 类型 | 说明 |
---|---|---|
code |
number | 状态码 |
msg |
string | 请求成功信息 |
err |
string | 错误信息 |
data |
mixed | 响应结果 |
time |
timestamp | UTC 时间戳 |
对于所有框架可以捕获的服务端错误,服务端都会返回 200 OK
,具体状态信息将显示在响应 body 的 code
和 err
中,下表的状态码特指响应 body 的 code
。
状态码 | 状态信息 | 请求方式 | 说明 |
---|---|---|---|
200 | OK | [GET] | 服务器成功返回用户请求的 数据,该操作是幂等的(Idempotent) |
201 | Created | [POST] | 用户新建或修改或删除数据成功 |
202 | Accept | [POST] | 定时任务已经进入后台排队 |
400 | Invalid Request | [*] | 用户发出的请求参数错误/没有通过验证 |
401 | Unauthorized | [*] | 用户没有权限,一般为 Token 错误 |
403 | Forbidden | [*] | 由于后方教务系统等非常 不稳定,故用 403 特指一些可以捕获的后方系统错误 |
404 | Not Found | [*] | 用户发出的请求针对的是不存在的 记录,服务器没有进行操作,该操作是幂等的 |
406 | Not Acceptable | [GET] | 用户请求的格式不可得(比如用户请求 XML 格式,但是只有 JSON 格式) |
500 | Internal Server Error | [*] | 服务器发生错误,用户将无法判断发出的请求是否成功 |
-
不在数据库中保存非必要的有关用户隐私的数据,如课程、成绩、一卡通等信息,将缓存功能交给客户端
-
由于一卡通数据源网站已更换为学校官方网站,因此取消了 xifus 用户表,请知悉
字段 | 类型 | 说明 |
---|---|---|
username | String | 学号 |
finalCookies | String | 教务系统 Cookies |
avatarUrl | String | 头像 URL |
nickName | String | 昵称 |
bio | String | 签名/一句话说明 |
createdAt | Date | 数据创建时间 |
updatedAt | Date | 数据更新时间 |
对于 Egg 框架中没有详细说明的内容,可以在 Egg.js 官网 查阅
UESTC-API 已经取消提供公共 API 服务器,开发者需要将应用部署到自己的服务器上
https://uestc.ml 现在仅提供 11 个 Extra API 的转发服务,且不保证此服务的可用性
我们提供了方便的 Docker 化部署方案,在方便开发者实现后端数据管控的同时帮助我们应对日益严峻的教务系统 IP 封禁策略,感谢配合