🏫 电子科技大学(UESTC)集成 API
UESTC-API 是电子科技大学部分网站功能的集成 API 接口,仅支持查询本科生数据
以下功能尚未完全接口化。3、4 中的功能均以 302 跳转到相关网页的方式完成(已经过处理使其支持 HTTPS 和移动端视图)
如果您有兴趣完善,欢迎 Pull Request
教务系统
后勤综合服务
校园实用工具
公告与信息
开发者服务
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 客户端 |