Update README.zh-CN.md

This commit is contained in:
xixu-me committed 2025-05-25 20:17:17 +08:00
1 parent e4c904d436
commit d09feeb498
1 file changed
+90 -55
+90 -55
View File
@@ -1,99 +1,134 @@
# CWU7 - 7 点起床困难户
一个用于在早上 7 点准时预约羽毛球场的 Python 自动化工具。
一个用于在早上 7:00 准时预约羽毛球场地的 Python 自动化脚本。该机器人可以自动导航预约界面,处理验证码挑战,并记录整个过程。
## 概述
## 功能特性
CWU7 可以自动在配置的时间(默认 7:00 AM)准时预约羽毛球场。如果你讨厌早起抢场地,这个工具可以帮你:
- **精确计时**: 等到早上 7:00 准时开始预约流程
- **自动导航**: 自动点击预约界面的各个步骤
- **验证码识别**: 使用 OCR 技术识别并解决验证码挑战
- **重试机制**: 失败时自动重试,可配置重试次数
- **完整日志**: 将所有操作和错误记录到文件和控制台
- **鼠标跟踪工具**: 包含用于查找 UI 坐标的辅助工具
- 自动导航预约网站
- 使用 OCR 技术处理验证码
- 精确计时预约操作
- 记录整个过程
## 系统要求
## 功能
- Python 3.6+
- Windows 操作系统
- 所需 Python 包:
- **精确计时**:在配置的时间(默认 7:00 AM)准时执行
- **验证码识别**:使用 OCR 技术自动识别验证码
- **坐标追踪**:包含获取 UI 元素坐标的工具
- **详细日志**:记录预约全过程方便排查问题
```
pyautogui
ddddocr
numpy
Pillow
```
## 安装
## 安装说明
1. 克隆仓库:
1. 克隆此仓库:
```bash
git clone https://github.com/xixu-me/CWU7.git
cd CWU7
```
2. 安装依赖:
2. 安装所需依赖:
```bash
pip install pyautogui pillow numpy ddddocr
pip install pyautogui ddddocr numpy Pillow
```
## 使用
## 使用方法
### 鼠标坐标追踪器
### 运行预约机器人
使用预约机器人前,需要先确定各 UI 元素的屏幕坐标:
1. 如需要,在 `run.py` 中配置预约时间和坐标
2. 运行主脚本:
```bash
python run.py
```
机器人将等到早上 7:00,然后自动尝试预约羽毛球场地。
### 鼠标位置跟踪器
使用跟踪工具来查找 UI 元素的坐标:
```bash
python tracker.py
```
将鼠标移动到重要 UI 元素上并记录坐标,然后在 run.py 文件中更新这些坐标。
这将实时显示当前鼠标位置和像素颜色。按 Ctrl+C 退出。
### 预约机器人
## 配置说明
运行预约机器人:
### 时间设置
```bash
python run.py
```
默认情况下,机器人会等到早上 7:00 开始预约流程。
## 配置
编辑 run.py 中的以下常量来自定义机器人:
- `RESERVATION_HOUR` 和 `RESERVATION_MINUTE`:设置预约的目标时间
- `COORDINATES`:调整各 UI 元素的屏幕坐标
- `WAIT_TIMES`:根据需要修改操作之间的等待时间
修改 `run.py` 中的这些常量来更改预约时间:
```python
# 配置示例
RESERVATION_HOUR = 7 # 目标小时(24 小时制)
RESERVATION_HOUR = 7 # 目标小时(24小时制)
RESERVATION_MINUTE = 0 # 目标分钟
COORDINATES = {
"badminton_button": (1101, 223),
# ...其他坐标
}
```
### 坐标配置
`run.py` 中的 `COORDINATES` 字典包含所有点击位置。使用 `tracker.py` 为您的屏幕分辨率和界面找到正确的坐标。
### 重试设置
```python
MAX_RETRY_ATTEMPTS = 100 # 最大重试次数
```
## 工作原理
1. 脚本等待到配置的时间(默认 7:00 AM)
2. 执行一系列点击操作导航预约界面
3. 如果出现验证码:
- 从屏幕捕获验证码图像
- 使用 OCR 识别文本
- 输入识别出的文本
- 提交表单
4. 整个过程会记录到控制台和文件(`reservation.log`)
1. **等待目标时间**: 脚本等到配置的预约时间
2. **打开小程序**: 点击预约界面
3. **导航界面**: 自动点击完成预约步骤
4. **处理验证码**: 使用 OCR 解决验证码挑战
5. **失败重试**: 任何步骤失败时自动重试
6. **记录结果**: 记录所有操作和结果
## 文件结构
- `run.py` - 主要的预约机器人脚本
- `tracker.py` - 鼠标位置跟踪工具
- `LICENSE` - GNU GPL v3 许可证
- `.gitignore` - Git 忽略文件
- `reservation.log` - 生成的日志文件(执行时创建)
## 故障排除
- 如果机器人点击位置不对,使用 tracker.py 验证并更新坐标
- 检查 `reservation.log` 获取详细错误信息
- 确保屏幕分辨率与配置坐标时使用的分辨率一致
### 常见问题
## 免责声明
1. **坐标错误**: 使用 `tracker.py` 找到正确的点击位置
2. **验证码失败**: OCR 可能需要针对不同的验证码样式进行调整
3. **时序问题**: 调整像素检查函数中的 `check_interval`
4. **屏幕分辨率**: 不同屏幕尺寸可能需要调整坐标
本工具仅用于教育目的。使用自动化机器人可能违反某些预约系统的服务条款。使用风险自负。
### 日志
查看 `reservation.log` 获取详细的执行日志和错误信息。
## 法律声明
本软件仅供教育目的提供。用户有责任遵守预约系统的服务条款。作者不对任何误用或违规行为负责。
## 许可证
采用 [GPL-3.0](LICENSE) 许可证授权。
本项目采用 GNU 通用公共许可证 v3.0 - 详见 [LICENSE](LICENSE) 文件。
## 贡献
1. Fork 仓库
2. 创建功能分支
3. 提交更改
4. 推送到分支
5. 创建 Pull Request
## 免责声明
这是一个旨在帮助合法预约的自动化工具。请负责任地使用,并遵守预约系统的服务条款。