我去抢个座快让我去图书馆呐
基于 Python 和 FastAPI 实现的图书馆预约抢座系统,简化每日重复操作,轻松实现图书馆座位预约
一个现代化的图书馆座位预约和抢座系统 Web 版,通过精美的响应式界面操作,轻松实现图书馆座位预约。系统支持明日预约和即时抢座两种模式,为用户提供便捷的图书馆座位管理体验。
基于某个我去图书馆,谁去图书馆?!!
(人话:我想要抢一个喜欢的座位!!!!!!!拿来吧你)
目前:
未来:
咕咕咕...咕咕..
克隆或下载项目代码
git clone [https://github.com/VenenoSix24/igolib-ldu.git](https://github.com/VenenoSix24/igolib-ldu.git)
cd igolib-ldu
创建并激活虚拟环境(推荐)
# macOS/Linux
python3 -m venv venv
source venv/bin/activate
# Windows
python -m venv venv
venv\Scripts\activate
安装依赖包
pip install -r requirements.txt
经过重构,项目现在采用模块化结构:
main.py
: 项目的统一启动入口。config.py
: 存放所有全局配置、URL 和请求头。core.py
: 封装了最核心的抢座/预约业务逻辑。web_app.py
: 包含所有 FastAPI Web 服务、API 路由和 WebSocket 逻辑。tasks.py
: 后台任务执行器,作为 Web 层和 Core 层的桥梁。cli.py
: 命令行版本的所有功能。data_utils.py
: 负责加载阅览室、座位等静态映射数据。achievements.py
: 负责处理全站统计数据的读写逻辑。globals.py
: 存放跨模块共享的全局变量。models.py
: 定义 Pydantic 数据模型。app_data/
: 存放程序运行时动态生成的数据。data_process/
: 存放预处理的静态数据。templates/
& static/
: 前端文件。项目支持 Web 界面和命令行两种模式,通过 main.py
启动。
在激活虚拟环境后,运行以下命令:
python main.py --web
如果希望局域网内的其他设备(如手机)也能访问,请使用:
python main.py --web --host 0.0.0.0
打开浏览器访问: http://127.0.0.1:8000
或 http://[你的IP地址]:8000
如果您想使用纯命令行版本,直接运行:
python main.py
欢迎页面:
配置页面:
状态页面:
太懒了,还没截图...
A: 您需要使用抓包软件从图书馆小程序登录后获取 Cookie 信息(教程还没写...大家应该都会..吧..)。
A: 常见原因包括 Cookie 失效、座位已被预约或网络问题。请检查 Cookie 是否有效,并尝试选择其他座位。
A: 支持所有浏览器,包括 Chrome、Firefox、Edge、Safari 等,并且对移动设备浏览器做了特别优化。
欢迎提交问题报告和功能请求!如果您想贡献代码:
git checkout -b feature/amazing-feature
)git commit -m 'Add some amazing feature'
)git push origin feature/amazing-feature
)该项目采用 MIT 许可证 - 详情请参阅 LICENSE 文件
注意:本项目仅供学习和研究使用,请遵守图书馆相关规定和校园网络使用规范。
注意:本项目仅供学习和研究使用,请遵守图书馆相关规定和校园网络使用规范。
注意:本项目仅供学习和研究使用,请遵守图书馆相关规定和校园网络使用规范。