UESTC-API 是电子科技大学部分网站功能的集成 API 接口,仅支持查询本科生数据
以下功能尚未完全接口化。3、4 中的功能均以 302 跳转到相关网页的方式完成(已经过处理使其支持 HTTPS 和移动端视图)
如果您有兴趣完善,欢迎 Pull Request
-
教务系统
- 统一身份认证系统登录/退出
- 按学期获取课程表信息
- 按学期获取考试安排信息
- 按学期获取课程成绩信息
- 获取所有课程成绩信息
- 获取成绩统计信息
- 获取平时成绩信息
- 获取和设置用户个人信息
- 评教
-
后勤综合服务
- 获取一卡通信息
- 一卡通挂失
- 获取一卡通和电费账单
- 获取宿舍电费信息
-
校园实用工具
- 校园班车查询
- 空闲教室查询
- 当日课程查询
- 全校课程查询
- 教师信息查询
-
公告与信息
- 学校办公室联系方式
- 教务服务指南
- 教学管理公告
- 教研教改公告
- 实践交流公告
- 教学新闻
-
开发者服务
- 获取账户教务系统网站 cookies
- 获取账户一卡通网站 cookies
-
API 接口文档: GitHub Wiki
-
开发者接口文档:开发者 - GitHub Wiki
-
Egg 框架文档:egg - 为企业级框架和应用而生
UESTC-API 现已提供 Docker 版本,但仍可灵活选择多种部署方式
在开始之前,请确认您的电子科技大学本科统一身份认证系统账户已完成初始设置
项目框架为 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 |
是 | 自定义 |
JWT_SECRET |
是 | 自定义,生成 jwt-token 的密钥 |
YOUR_STU_NUM YOUR_STU_PASS |
否(单元测试必须) | 学号 密码 |
YOUR_ROOM_ID |
否(单元测试必须) | 宿舍房间号 |
ALINODE_APPID ALINODE_SECRET |
是 | 阿里云 Node.js 性能平台APPID SECRET (需自行注册) |
PROXY |
否 | HTTP(S) 代理服务器地址和端口 格式 http(s)://url:port |
或者可以将参数设置为环境变量,然后运行:
Linux, MacOS(Bash)
APP_KEY=xxx JWT_SECRET=xxx YOUR_STU_NUM=xxx YOUR_STU_PASS=xxx YOUR_ROOM_ID=xxx ALINODE_APPID=xxx ALINODE_SECRET=xxx PROXY=xxx npm run dev
Windows(cmd.exe)
set APP_KEY=xxx && set JWT_SECRET=xxx && set YOUR_STU_NUM=xxx && set YOUR_STU_PASS=xxx && set YOUR_ROOM_ID=xxx && set ALINODE_APPID=xxx && set ALINODE_SECRET=xxx && set PROXY=xxx && npm run dev
Windows(Powershell)
($env:APP_KEY=xxx) -and ($env:JWT_SECRET=xxx) -and ($env:YOUR_STU_NUM=xxx) -and ($env:YOUR_STU_PASS=xxx) -and ($env:YOUR_ROOM_ID=xxx) -and ($env:ALINODE_APPID=xxx) -and ($env:ALINODE_SECRET=xxx) -and ($env:PROXY=xxx) -and npm run dev
浏览器打开 http://127.0.0.1:7001
页面出现项目主页即为运行成功
运行测试需要配置上表中的参数,同时保证数据库可连接
单元测试受源站网络影响,如遇单元测试无法通过,请先确认 教务系统、一卡通、成电微教务(微信订阅号) 是否可以正常使用
$ npm run test
目前只完成了 Controller
层简单的单元测试,如果您有兴趣完善,欢迎 Pull Request
$ npm run cov
$ npm run lint
请先删除 package-lock.json
或 yarn.lock
文件
$ npm run autod
参考:autod
如果您的产品或服务接入了 UESTC-API,可通过 New Issue 或 Pull Request 展示在此处
电子科技大学(UESTC)iOS 客户端 | |
iUESTC - 电子科技大学 Android 客户端 |