Initial commit: Fengxiang order monitor with WeChat & Xiaomi speaker push

This commit is contained in:
houhuan
2026-04-30 14:25:34 +08:00
commit 1bb7bba970
10 changed files with 970 additions and 0 deletions
+106
View File
@@ -0,0 +1,106 @@
# 丰享订单监控
自动监控丰享商家端(fs.szfx.com)的新订单,同时推送到**企业微信群**和**小爱音箱语音播报**。
## 功能特性
- **自动轮询**:高峰期(11-13点、17-19点)10-20秒/次,闲时30-60秒/次
- **双通道推送**:新订单同时推送企业微信消息 + 小爱音箱 TTS 语音播报
- **Cookie 复用**:首次登录后保存 Cookie,后续启动无需重复登录
- **夜间暂停**21:00 ~ 07:40 自动暂停轮询,节省资源
- **Session 保活**:每5分钟自动发请求维持 Cookie 活性
- **过期自动恢复**:Cookie 过期时弹浏览器提示重新登录,并推送企业微信通知
- **开机自启**:支持 Windows 计划任务,登录系统后自动运行
## 快速开始
### 1. 安装依赖
```bash
pip install playwright requests miservice_fork aiohttp
playwright install chromium
```
### 2. 配置小米音箱(可选)
首次使用需要获取小米 passToken:
```bash
python setup_xiaomi.py
```
浏览器打开后手动登录小米账号,Token 自动保存到 `~/.mi.token`
### 3. 运行监控
```bash
python order_monitor.py
```
首次运行会打开浏览器,手动完成丰享平台登录(有腾讯验证码,需人工操作)。登录成功后 Cookie 自动保存,之后重启无需再登录。
### 4. 测试推送
```bash
python test_push.py
```
拉取最新一条订单,测试企业微信和小爱音箱是否正常。
## 文件说明
| 文件 | 用途 |
|------|------|
| `order_monitor.py` | 主监控程序,轮询订单 + 推送 + 播报 |
| `test_push.py` | 测试脚本,验证企业微信和音箱通道 |
| `push_latest_order.py` | 单次获取最新订单并推送企业微信 |
| `fetch_orders.py` | 命令行获取订单数据(JSON 输出) |
| `fengxiang_scraper.py` | Playwright 半自动登录获取 Cookie |
| `setup_xiaomi.py` | 小米账号登录获取 serviceToken |
| `run_monitor.bat` | Windows 启动批处理 |
| `setup_autostart.ps1` | Windows 开机自启配置脚本 |
## 已逆向的 API
### 丰享平台
- **登录**`POST https://fspass.szfx.com/api/login`
- 参数:`uname`(手机号)、`upass`(密码 Base64 反转)、`ticket``randstr`(腾讯验证码)
- Cookie`USS``PTOKEN``CPTOKEN``STOKEN`
- **订单列表**`POST https://fs.szfx.com/saasmerchant/pcweb/order/quickpayorder/list`
- Content-Type: application/json
- Body: `{"shopId": "...", "page": 1, "pageSize": 20}`
- 返回:`{errno: 0, data: {total, list: [...], count}}`
### 小米/小爱音箱
- 使用 [miservice_fork](https://github.com/nicepkg/miservice_fork) Python 库
- TTS 播报:`MiNAService.text_to_speech(deviceId, text)`
- Token 保存在 `~/.mi.token`
## 消息格式
企业微信和小爱音箱使用统一格式:
> 【丰享丰食】订单收款成功,收款24.00元
## 开机自启(Windows
已配置计划任务 `FXOrderMonitor`,用户登录时自动运行。
```powershell
# 手动配置
.\setup_autostart.ps1
```
## 注意事项
- 丰享登录有腾讯验证码 TCaptcha,无法纯接口绕过,首次必须用浏览器登录
- Cookie 有效期较长,持续使用可维持;过期会自动弹窗提示重新登录
- 小米 passToken 会过期,过期后需重新运行 `setup_xiaomi.py`
- 配置文件(cookies.json、xiaomi_config.json)含敏感信息,已加入 .gitignore
## License
MIT