- 多账号管理(异步登录、状态轮询) - 购物车预售商品同步(倒计时/定时开售) - 定时抢购(自动刷新、SKU选择、重试机制) - 账号隔离调度(同账号顺序、跨账号并行) - Web面板(任务分组、实时倒计时、批量操作) - Dockerfile + docker-compose
59 lines
2.0 KiB
Markdown
59 lines
2.0 KiB
Markdown
# 微店抢购管理系统
|
||
|
||
基于 Playwright + Flask 的微店自动抢购工具,提供 Web 管理界面,支持多账号、购物车同步、定时抢购。
|
||
|
||
## 功能
|
||
|
||
- **多账号管理** — 添加账号后台自动登录,状态实时轮询
|
||
- **购物车同步** — 自动识别预售商品(倒计时 / 定时开售),一键创建抢购任务
|
||
- **定时抢购** — 精确计时,到点自动刷新 → 点击购买 → 选 SKU → 提交订单,支持重试
|
||
- **账号隔离** — 同账号任务顺序执行,不同账号并行,互不干扰
|
||
- **Web 面板** — 任务按账号分组,实时倒计时,一键启动 / 停止
|
||
|
||
## 快速开始
|
||
|
||
### 本地运行
|
||
|
||
```bash
|
||
pip install -r requirements.txt
|
||
playwright install chromium
|
||
python run.py
|
||
```
|
||
|
||
访问 http://localhost:9000
|
||
|
||
### Docker 运行
|
||
|
||
```bash
|
||
docker compose up -d
|
||
```
|
||
|
||
数据持久化在 `./data` 目录(SQLite 数据库 + 登录态文件)。
|
||
|
||
## 项目结构
|
||
|
||
```
|
||
├── run.py # 启动入口
|
||
├── main.py # 独立抢购脚本(命令行模式)
|
||
├── config.yaml # 命令行模式配置
|
||
├── server/
|
||
│ ├── app.py # Flask 应用
|
||
│ ├── database.py # SQLite 数据库
|
||
│ ├── routers/ # 路由(accounts / tasks / orders)
|
||
│ └── services/
|
||
│ ├── snatcher.py # 抢购核心逻辑
|
||
│ ├── cart_service.py # 购物车预售商品抓取
|
||
│ ├── scheduler.py # 任务调度(按账号隔离)
|
||
│ └── auth_service.py # 登录态管理
|
||
├── templates/ # Jinja2 页面模板
|
||
├── utils/ # 工具(stealth / timer / auth)
|
||
├── Dockerfile
|
||
└── docker-compose.yml
|
||
```
|
||
|
||
## 注意事项
|
||
|
||
- 抢购成功率受网络延迟、库存、平台风控等因素影响,本工具仅辅助操作
|
||
- SKU 选择器的 CSS 类名基于当前微店 H5 页面结构,如页面改版可能需要调整
|
||
- Docker 容器内以 headless 模式运行 Chromium
|