UESTC-API 是电子科技大学部分网站功能的集成 API 接口,仅支持查询本科生数据
-
教务系统
- 统一身份认证系统登录/退出
- 按学期获取课程表信息
- 按学期获取考试安排信息
- 按学期获取课程成绩信息
- 获取所有课程成绩信息
- 获取成绩统计信息
- 获取平时成绩信息
- 评教
-
后勤综合服务
- 绑定喜付账户
- 获取一卡通信息
- 获取最近 30 天账单
- 获取宿舍电费信息
- 监控宿舍电费与一卡通余额,余额预警推送
- 获取班车 / 公交信息
-
教务处
- 教务处学生公告
- 学校部门信息
- 学院地址 & 联系方式
-
API 接口文档: GitHub Wiki
-
Egg 框架文档:egg - 为企业级框架和应用而生
在开始之前,需要:
-
已完成初始设置的电子科技大学本科统一身份认证系统账户
-
已完成学生认证和一卡通、电费房间号绑定的喜付账户
项目框架为 Egg,node 版本需要高于 v8.0.0
$ git clone && npm install-
GraphicsMagick:用于处理验证码
-
Tesseract 3.01+:用于识别验证码
将 config.default.js 和 config.unittest.js 中的密码、Key 等替换成自己的
$ npm run dev或者可以将参数设置为环境变量,然后运行:
$ APP_KEY=xxx JWT_SECRET=xxx YOUR_STU_NUM=xxx YOUR_STU_PASS=xxx YOUR_XIFU_ACCOUNT=xxx YOUR_XIFU_PASS=xxx YOUR_ROOM_ID=xxx ALINODE_APPID=xxx ALINODE_SECRET=xxx PROXY=YOUR_HTTP_PROXY_URL npm run dev参数说明
| 参数 | 是否必须 | 说明 |
|---|---|---|
APP_KEY |
是 | 自定义 |
JWT_SECRET |
是 | 自定义,生成 jwt-token 的密钥 |
YOUR_STU_NUMYOUR_STU_PASS |
否(单元测试必须) | 学号 密码 |
YOUR_XIFU_ACCOUNTYOUR_XIFU_PASSYOUR_ROOM_ID |
否(单元测试必须) | 喜付账户 喜付密码 宿舍房间号 |
ALINODE_APPIDALINODE_SECRET |
是 | 阿里云 Node.js 性能平台APPIDSECRET(需自行注册) |
PROXY |
否 | HTTP(S) 代理服务器地址和端口 格式 http(s)://url:port |
浏览器打开 http://127.0.0.1:7001 页面出现项目主页即为运行成功
单元测试受源站网络影响,如遇单元测试无法通过,请先确认 教务系统、清水河畔、喜付 APP、成电微教务(微信订阅号) 是否可以正常使用
$ npm test目前只完成了 Controller 层简单的单元测试,如果您有兴趣完善,欢迎 Pull Request
$ npm run cov$ npm run lint请先删除 package-lock.json 或 yarn.lock 文件
$ npm run autod参考:autod
