Sign inSign up

vizards/uestc-api

By vizards

•Updated over 7 years ago

🏫 电子科技大学(UESTC)集成 API

Image
0

920

vizards/uestc-api repository overview

UESTC

⁠UESTC-API

node (tag) Docker Cloud Automated build Docker Cloud Build Status Dependency Status PRs Welcome %e2%9d%a4

⁠介绍

UESTC-API 是电子科技大学部分网站功能的集成 API 接口,仅支持查询本科生数据

⁠功能

以下功能尚未完全接口化。3、4 中的功能均以 302 跳转到相关网页的方式完成(已经过处理使其支持 HTTPS 和移动端视图)

如果您有兴趣完善,欢迎 Pull Request⁠

  1. 教务系统

    • 统一身份认证系统登录/退出
    • 按学期获取课程表信息
    • 按学期获取考试安排信息
    • 按学期获取课程成绩信息
    • 获取所有课程成绩信息
    • 获取成绩统计信息
    • 获取平时成绩信息
    • 获取和设置用户个人信息
    • 评教
  2. 后勤综合服务

    • 获取一卡通信息
    • 一卡通挂失
    • 获取一卡通和电费账单
    • 获取宿舍电费信息
  3. 校园实用工具

    • 校园班车查询
    • 空闲教室查询
    • 当日课程查询
    • 全校课程查询
    • 教师信息查询
  4. 公告与信息

    • 学校办公室联系方式
    • 教务服务指南
    • 教学管理公告
    • 教研教改公告
    • 实践交流公告
    • 教学新闻
  5. 开发者服务

    • 获取账户教务系统网站 cookies
    • 获取账户一卡通网站 cookies

⁠文档

⁠部署

UESTC-API 现已提供 Docker 版本,但仍可灵活选择多种部署方式

详见:部署 - GitHub Wiki⁠

⁠开发

在开始之前,请确认您的电子科技大学本科统一身份认证系统账户已完成初始设置

⁠安装

项目框架为 Egg⁠,node 版本需要高于 v8.0.0

$ git clone && npm install
⁠安装全局依赖
⁠开发环境运行

设置 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
⁠代码风格检查(ESLint)
$ npm run lint
⁠检查依赖更新

请先删除 package-lock.json 或 yarn.lock 文件

$ npm run autod

参考:autod⁠

⁠合作产品

如果您的产品或服务接入了 UESTC-API,可通过 New Issue⁠ 或 Pull Request⁠ 展示在此处

⁠许可协议

GPL-3.0⁠

Tag summary

Content type

Image

Digest

Size

77.6 MB

Last updated

over 7 years ago

docker pull vizards/uestc-api