










快捷教务系统(Easy Educational Administration Management System, EasyEAMS)是一个基于 Flask + Jinja2 的现代化教务系统 Web 应用。学生可通过该项目的API接口链接学校教务系统进行登录,在线查询个人信息、成绩、课表、学业生涯、通知、选课等可视化操作。
系统界面美观,交互友好,适合高校学生自助使用和二次开发。
本项目的 api.py 文件内容参考并引用了 Github 上openschoolcn的正方教务系统 API 项目,并在此基础上做了适配和优化。
该程序当前已经适配PC Web端以及移动设备Web端。同时我会及时项目,感兴趣的朋友可以点击链接查看/下载最新版本。
当前开发的版本分为“热更新版”和“稳定发行版”。热更新版是稳定发行版的预览版本,一般新的优化创意和新支持的功能会在热更新版中上线,而稳定发行版是在更新版的基础上进行显著优化,运行更稳定。如对新的功能感兴趣的朋友可以先行体验热更新版本,遇到问题可以随时提出issue或者发送邮件给我。下面是版本推荐列表。
| 版本号 | 推荐情况 |
|---|---|
| v1.0.136 Stable | 推荐!最稳定版 |
| v1.0.140 Developing | 尝鲜,可以等等 |


本系统以我的学校新版正方教务管理系统为例开发,如下图。只要你的学校使用的是新版正方教务管理系统(即新版“正方教务系统”Web端),均可直接使用本程序,无需修改核心代码。
找到你学校教务系统的网址
一般格式为:
1 | https://zfjw.学校域名/jwglxt/ |
例如:
https://zfjw.ntit.edu.cn/jwglxt//jwglxt/)。修改后端配置
打开项目根目录下的 app.py 文件,找到如下代码(一般在前面几行):
1 | BASE_URL = "https://zfjw.ntit.edu.cn/jwglxt/" |
将其修改为你学校的教务系统网址。例如:
1 | BASE_URL = "https://zfjw.你的学校域名/jwglxt/" |
保存并重启服务
保存 app.py 文件后,重启 Flask 服务:
1 | python app.py |
重新登录
在浏览器访问首页,使用你学校的学号和密码登录即可。
注意事项:
- 仅支持新版正方教务系统(URL 结构和页面风格与我学校类似)。
- 若遇到兼容性问题或接口变动,请自行参考下一小节适配
api.py相关接口。
有些学校的新版正方教务系统虽然大体接口一致,但部分接口路径、参数或登录方式可能略有不同。你可以通过修改 api.py 文件进行适配。
步骤一:定位接口配置
打开 api.py,在 Client 类的 __init__ 方法中,找到如下代码:
1 | self.base_url = kwargs.get("base_url") |
如果你学校的接口路径不同,请将上述路径修改为实际路径。
步骤二:调整接口参数
如登录参数名不同(如 csrftoken、yhm、mm),可在 login、login_with_kaptcha 方法中调整:
1 | login_data = { |
如有参数名不同,按实际接口文档或抓包结果修改。
步骤三:调整数据接口
如成绩、课表、个人信息等接口路径或参数不同,找到对应的 get_grade、get_schedule、get_info 等方法,修改 url 和 data 字典即可。
步骤四:调试与验证
步骤五:如需特殊适配
假设你学校的登录接口为 /auth/login.html,公钥接口为 /auth/getKey.html,则只需在 api.py 的 __init__ 方法中:
1 | self.key_url = urljoin(self.base_url, "auth/getKey.html") |
1 | git clone https://gitee.com/JXX_CODE/easy-eam.git |
建议使用 Python 3.8 及以上版本,推荐使用虚拟环境。
1 | pip install -r requirements.txt |
当前使用rsa生成公钥和私钥分别对应前端和后端,第一次使用本程序需要先运行rsa_key.py生成两串钥匙,命令如下:
1 | python rsa_key.py |
1 | python app.py |
默认访问地址为 http://127.0.0.1:5000/,可在浏览器中打开。
1 | easy-eam/ |
本项目遵循 GNU GPL v3 开源协议。
版权声明
本文采用 CC BY-NC-SA 4.0 协议进行许可
作者:Andy Jin | 来源:Modern Blog
本文链接:https://blog.andyjin.website/2025/07/06/20250706001/
未经许可,禁止商业转载,转载请注明出处。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。