ac6ba0d98c0145c424791fcbd0014d3c41afd241
此前只有和平小店能在控制台查兑换记录,精英/电竞手册只能去别的页面或客户端看。 现在账号作战表直接带上"兑换记录"列:查询一次就能看到每个账号兑换了什么、什么时候、 花多少积分,点"记录"看该账号全部明细。 - 新增 QueryExchangeRecords 批量查询(手册类活动):复用既有的并发 lookupExchangeRecords, 记录不做任何过滤("看我的兑换记录"不该藏东西),记录自带商品名与积分 - 商品筛选为可选项:不选=看全部记录;选了则额外标记该账号是否兑换过它(已兑换/未兑换) - 手册的商品筛选用本地状态,不写回全局商品选择——免得只是想看记录却把抢购目标改掉; 和平小店沿用原来的全局商品选择 - 账号表"兑换记录"列对所有活动可见;手册侧展示条数与最近一条(商品名 + 时间), 小店的"已兑换/未兑换 + 订单状态"保持原样 - 每行"记录"弹窗:若已批量查询过就直接复用结果不再打接口;否则手册走 VerifyExchange, 小店走原有订单查询。弹窗表格按活动切换列(手册:商品/数量/兑换时间/积分/昵称) - 聚合逻辑抽成纯函数 buildExchangeRecordsResult 并补测试 (记录不过滤、命中按商品统计、空 Cookie 与查询失败分开计数、未选商品不做命中判断)
斗鱼抢购系统
Wails v2 桌面应用。
开发运行
wails dev
构建
# 构建当前平台
wails build
# 交叉编译
GOOS=windows GOARCH=amd64 wails build
GOOS=darwin GOARCH=amd64 wails build
GOOS=darwin GOARCH=arm64 wails build
GOOS=linux GOARCH=amd64 wails build
构建产物在 build/bin/ 目录。
项目结构
├── main.go # Wails 入口
├── app.go # App 结构体 + 前端可调用方法
├── frontend/
│ └── index.html # 前端页面
├── internal/
│ ├── client/ # 斗鱼接口客户端
│ ├── seckill/ # 抢购调度器
│ ├── logger/ # 日志系统
│ ├── trace/ # HTTP 请求追踪
│ ├── image/ # 成功图片生成
│ ├── config/ # 配置管理
│ ├── types/ # 类型定义
│ ├── constants/ # 常量
│ └── utils/ # 工具函数
├── data/
│ └── user.txt # 账号文件
└── build/ # 构建输出(gitignore)
环境变量
| 变量 | 说明 | 默认值 |
|---|---|---|
DOUYU_CONFIG |
配置文件路径 | config.json |
DOUYU_USERS |
账号文件路径 | data/user.txt |
DOUYU_LOG_DIR |
日志目录 | logs |
DOUYU_SUCCESS_DIR |
成功图片目录 | success_images |
DOUYU_FONT |
自定义字体路径 | 自动检测系统字体 |
DOUYU_TRACE |
启用 HTTP 追踪 | 关闭 |
DOUYU_TRACE_MAX_BODY |
trace 正文最大字节数 | 无限制 |
Languages
Go
66%
Vue
23%
TypeScript
6.1%
CSS
3.9%
Shell
0.9%