Files
weidian/README.md
Jeason 822a4636c0 feat: Web管理系统 + Docker支持
- 多账号管理(异步登录、状态轮询)
- 购物车预售商品同步(倒计时/定时开售)
- 定时抢购(自动刷新、SKU选择、重试机制)
- 账号隔离调度(同账号顺序、跨账号并行)
- Web面板(任务分组、实时倒计时、批量操作)
- Dockerfile + docker-compose
2026-03-18 13:38:17 +08:00

59 lines
2.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 微店抢购管理系统
基于 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