程序聚合 软件案例 香港中文大学(深圳)音乐学院琴房自动预定脚本-MUS Booking

香港中文大学(深圳)音乐学院琴房自动预定脚本-MUS Booking

2025-11-18 03:22:42
行业:生活服务
载体:Windows应用、Mac应用
技术:Python

业务和功能介绍

## 立项背景与目标
MUS Booking System 面向香港中文大学(深圳)音乐学院琴房预约,解决官方系统登录繁琐、网络敏感、热门琴房成功率低等问题。项目提供生产级(v2.10.0)自动化工具,在 VPN、校园网或 Reqable 环境下一键完成登录、批量与定时抢房,在满足校内安全要求前提下提升成功率和体验。

## 软件功能与核心模块

### 自动登录与 Cookie
通过 GUI 一键登录,自动填写学号与密码、提交表单并抓取 Cookie,保证身份合法和会话稳定。

### 智能网络适配
自动识别校园网/VPN、Reqable(127.0.0.1:9000)及系统代理,也可在 Cookie 面板手动检测,确保对 SSL 要求严格的校内接口在不同网络下可访问。

### 定时与批量预订
支持“立即执行”与“定时执行”,可将多个琴房与日期组合成一个任务并按优先级依次尝试,一旦成功即停止;超过 2 小时的请求会自动拆分为多个 2 小时时段,以符合教务规则。

### GUI 客户端与预订引擎
桌面端由 src/GUI.py 提供主窗口、设置、Cookie、自动登录与任务管理等界面;核心逻辑由 src/main.py 中的 CrazyRequests 与 book() 完成,封装 SSL 容错、代理路由、统一 UA/Cookie 头及琴房 ID 映射,并在失败时返回可读错误信息。

### 配置与质量保障
config.yaml 统一保存启动时间、执行模式、代理与 Cookie 信息、用户档案及请求列表,便于在“单次抢房/连续预约”等场景间复用。测试脚本覆盖网络、SSL、Qt 代理、预约接口和自动登录,配合 PySide6、WebEngine、PyYAML、requests 等依赖,保证主要平台的一致行为。

## 业务流程与功能路径

###准备:下载并解压发行包,在“设置”中填写学号、密码、联系方式等,可通过“自动检测”完成 VPN/代理适配和配置初始化。

###建模:在主界面点击“+ 添加一组预定请求”,选择琴房、日期和时间段,可设置多个备选方案,自动写入 config.yaml。

###执行:选择立即或定时启动后,AutoLogin 获取最新 Cookie,BookingWorker 依次调用 book() 提交请求,并按规则进行 2 小时拆分与“成功即停”。

###结果与复盘:日志实时显示成功记录及失败原因(如 Cookie 过期、网络异常、放号竞争失败等),用户可据此排查网络或更新 Cookie,并结合历史记录优化后续策略。

综合来看,MUS Booking System 通过可视化配置界面、稳健预订引擎、智能网络适配及完善测试文档,构建了“准备 → 建模 → 执行 → 反馈与复盘”的闭环流程,有效降低琴房预约的人力成本和失败风险。

项目实现

## 整体架构与设计思路
项目按 MVC 分层:PySide6 组件树做 View,MainWindow 负责信号-slot 调度与任务编排;config、workers 承载数据与业务,配合 requests 和自研 CrazyRequests 组成网络层对接订房接口。目录按“核心逻辑 + GUI 组件 + 对话框 + 工具层”拆分,旧版 GUI.py 与新模块并行,便于重构排错。

配置用 dataclass + YAML,用于持久化用户数据及 UI 默认值、表单回填。BookingWorker 将定时器、拆单和日志信号放入 QThread,避免界面阻塞。CrazyRequests 自动处理 SSL、代理和 Cookie,并与 ProxyDetector 联动,使“开始”按钮一键串起 Cookie 捕获、请求构造与日志展示。

##模块与技术栈
View 由 widgets、dialogs 组成;Controller 为 MainWindow;Model / Service 为 AppConfig、RequestItemData、book()、timer_run()、BookingWorker,对订房接口做封装与调度。通过 PyInstaller 多文件打包和自定义 spec 生成约 207MB 的开箱即用发行版。主要依赖 PySide6/QtWebEngine、requests/CrazyRequests、PyYAML/dataclasses 及系统接口;tests 覆盖网络、SSL、代理和自动登录回归。

##坑与难点及解决方案
1)SSL 握手失败
AnyConnect VPN 下接口对 requests 持续抛出握手失败,而 Qt WebEngine 与 Reqable 可正常 TLS。最终方案:自动登录走 WebEngine 直连,请求统一经 Reqable 代理;ProxyDetector 按“直连 → Reqable → 系统代理”回退,并将结果落盘,重启可复现稳定路径。

2)自动获取 Cookie 与降级
通过 AutoLoginDialog 内嵌 QtWebEngine,集成浏览器控件,在捕获成功 URL 后延迟提取 Cookie,同时将 Reqable 写入 QtNetwork.QNetworkProxy,保持与流程代理一致;缺少 WebEngine 时提供手动粘贴 Cookie 的降级,并校验关键字段,避免写入无效配置。

3)多线程定时抢房
热门琴房需在时间窗口内 POST 并拆分时段。BookingWorker 将等待与请求循环放入 QThread,通过信号回传日志和完成事件,防止卡顿;timer_run() 统一“立即/定时启动”的等待逻辑,只靠延迟区分;时段拆分、防重入与批量备选顺序集中在 worker 中,便于调试扩展。

示例图片视频


CCA
30天前活跃
方向: 后端-C++、人工智能-大模型和多模态、
交付率:100.00%
相似推荐
情绪检测
本工具基于 Python 开发,通过人脸识别与情感分析算法,精准识别用户面部情绪状态,实现高效的情绪检测能力。该工具应用场景广泛:在心理咨询领域,可辅助咨询师洞察来访者的真实情绪变化,提升沟通与干预效果;在校园安防方面,可实时监测学生情绪波动,及时发现异常状态并预警,守护校园安全。系统采用轻量化架构,运行高效、部署灵活,便于集成到现有业务平台中,为心理健康关怀与安全防护提供智能化、数据化的有力支撑。
基于神经网络的游戏动画系统
MotionWeaver 是一套面向 Unreal Engine 游戏开发的 AI 驱动角色动作生成系统,旨在解决传统游戏动画制作成本较高、动画资产复用困难、复杂动作衔接不自然,以及角色运动与动画表现难以协调等问题。 项目以神经网络动作生成技术为核心,结合游戏引擎的角色运动系统,实现从动画数据采集、模型训练到动作推理与引擎集成的完整技术流程。 主要功能包括: 动画数据采集与处理: 支持从 Unreal Engine 动画资产中提取骨骼姿态、位置、旋转及时间序列信息,完成骨骼映射、数据清洗、质量审核与训练数据集构建。 AI 动作模型训练: 提供基于深度学习的动作表示学习、姿态预测与生成模型训练功能,支持模型检查点管理、训练指标记录及实验评估。 条件动作生成: 利用角色根运动轨迹、历史动作状态及参考姿态等条件,生成连续骨骼动作,研究不同运动条件下的动画生成效果。 复杂动作约束: 针对跑酷、跨越障碍等复杂场景,支持参考姿态引导及关键帧约束,改善动作准确性与空间匹配效果。 UE 动画集成与验证: 提供模型推理与 Unreal Engine 动画系统的集成和实验验证能力,支持生成动作的预览、重建、测试及效果分析。 模型评测与对比: 通过骨骼位置误差、运动连续性、关键帧约束误差等指标,对不同模型及优化方案进行定量分析。 项目主要面向游戏角色动画生成、AI 动画技术研究和游戏开发工具链建设,为智能角色运动与游戏动画自动化提供技术基础。
基于 n8n 的社区团购订单自动归集与对账系统 - 飞书多维表格
立项背景和目标: 社区团购商家通常同时运营多个小区的团购业务,订单分散在各处, 每天需要人工汇总到表格、再逐个小区生成对账单。三个小区的情况下, 人工处理约需 1.5-2 小时/天,且极易出现漏单、金额对不上。 目标是让这套流程全自动跑:订单自动归集 → 自动生成分小区对账单 → 异常自动告警,把每天 2 小时的人工压到 0。 软件功能、核心功能模块: 1. 定时触发模块:每天固定时间自动启动,无需人工干预 2. 多源数据读取:对接飞书多维表格开放 API,分页拉取三个小区的订单表 3. 数据清洗与合并:统一字段口径,合并去重,处理缺失值 4. 分类汇总:按小区维度聚合,计算应收、已付、差额 5. 异常检测:金额不一致、状态异常、重复订单自动标记 6. 结果写回:汇总结果写回多维表格,供商家和团长直接查看 7. 失败告警:任一步骤失败自动重试 3 次,仍失败则推送群告警 业务流程、功能路径: 每天 20:00 定时触发 → 读取运行参数 → 换取 tenant_access_token → 逐小区分页读取订单 → 展开为明细行 → 批量写入汇总表 → 生成分小区对账单 → 判断是否启用对账推送 → 异常则发群告警
多端AI问答系统(SSE流式输出)
立项背景:随着大语言模型的普及,传统企业与用户对智能对话的需求激增。旨在构建一个前后端完全解耦的 AI 问答系统,支持多端接入,提供流畅的流式对话体验。 核心功能:支持 SSE 全链路流式对话(包含start/content/reasoning/done/error五类事件);多会话管理(新建、切换、重命名、置顶、逻辑删除);Markdown 渲染、思考过程折叠展示、多模型切换、Token 用量统计与 API 调用日志,以及四维 IP 限流。 业务流程:前端发起对话请求 → 后端校验限流 → 组装历史消息并调用大模型 API → SSE 逐字返回前端实时渲染 → 消息落库并记录 Token 与耗时。
基于RAG的多租户AI客服SaaS-wali-ai
立项背景和目标: 小微企业客服人力有限、游戏规则分散、夜间无人值守, 重复咨询淹没客服; 通用大模型不了解业务规则, 会张冠李戴甚至编造规则和价格. wali-ai的目标是让运营者用自己的知识库, 7x24自动回答玩家问题, 答不上来就兜底或转人工, 以及记录,绝不编造. 软件功能与核心模块: 多租户SaaS控制面(注册即获默认租户与工作空间、两级角色权限、按套餐的对话条数/知识库数量/容量/席位/Token额度五维配额); 知识库管理(文件导入, 切片可视化编辑与检索测试); 自研RAG引擎(向量+关键词混合检索、RRF融合、Rerank重排、置信度评估); Agent编排(意图判断、会话上下文、人设提示词、闲聊/固定兜底双模式); 多渠道接入(游戏内Lua桥接、QQ群NapCat、网页悬浮球SDK、开放API); 会话管理与人工接管; 未回答问题沉淀反哺知识库; 运营统计与全量审计. 业务流程: 注册登录->创建游戏服与机器人->建知识库导入文档->自动切分并向量化索引->配置渠道->玩家在游戏内/QQ群/网页提问->统一网关验签、幂等、路由->Agent意图判断->RAG混合检索->大模型生成带来源引用的回答->写回会话、用量与审计->低置信度时兜底或转人工, 管理员在管理端查看会话、反馈、用量与配额.
帮助文档   Copyright @ 2021-2024 程聚宝 | 浙ICP备2021014372号
人工客服