75eb0e8ce2d1929f356208797926fad91decdc64
后端在"导入账号/手动查询/抢购后核对"时都会写入积分基线,但界面一直没有读它: 积分列的 scoreMap 只由"查询积分"按钮填充,所以自动核对完余额后主界面不动, 用户必须再点一次"查询积分"才看到新余额。 - 新增 GetScoreBaselines 绑定:一次性返回各账号最近一次已记录的积分余额 (Scheduler.ScoreBaselines → ScoreBaselineStore.Snapshot),界面直接读取, 不必再为每个账号单独发请求 - 前端 useAccounts 新增 syncScoresFromBackend:把后端基线写入 scoreMap 与 localStorage(与手动查询同一份状态);导入场景下会短暂轮询等待后端异步查询写完 - 抢购状态回到 idle 时自动同步一次(对应抢购结束后的核对结果) - 导入账号成功后按导入的账号名同步一次 - 新增断言:核对后 ScoreBaselines 返回最新余额
斗鱼抢购系统
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%