yml2213
|
46c06180a5
|
重构锁单支付重试内核并修复多实例启动,发布0.3.0
- 抢购内核改为"每账号独立重试循环",移除轮次屏障:旧实现在 3 个中签账号卡住
60 秒支付退避时,另外 31 个账号空转 39 秒,还出现过"某一轮只跑 1 个账号、其余整轮没被尝试"
- 锁单退避改为读取配置的"重试间隔策略"(同一账号连续失败成倍放大,封顶 5 秒),
删掉硬编码 30 秒退避与"只重试一次"
- 锁单失败不再提前停止:限流(活动火爆/网络繁忙)继续重试;售罄也继续降频探测
(别人锁单后支付失败或锁单过期,库存会回流),只在窗口结束时按售罄/限流/普通失败分类上报
- 支付重试按斗鱼错误码决策:1644430001/1644400002/1644400014 视为"订单已受理、结果未定"
并快重试(300ms 起),取代按文案把"订单操作进行中"误判成频控的 60 秒退避;
不再设次数上限,只受 120 秒预算与锁单过期约束,超出预算如实报"支付结果未知"
- 已锁订单在 75 秒窗口结束后仍会支付完,不再受窗口约束
- 多实例:为每个实例分配独占的 WebView2 用户数据目录。Wails 默认所有实例共用
%APPDATA%\<可执行文件名>,而一个数据目录只能有一个浏览器进程,导致偶发开不出新实例、
必须全部关掉重开;实例占位因此提前到 wails.Run 之前完成
- 多实例:占位失败不再静默退回默认目录(会让两个进程共享 accounts.txt/config.json、
同秒启动还会写同一个日志文件),改为进程唯一的临时实例目录并记录降级原因
- 多实例:单个槽位锁被瞬时占用(杀软/索引器)时短暂重试,仍失败则继续试下一个槽位
而不是整个分配失败;日志文件改为独占创建,同秒启动自动追加 -2/-3 后缀
- 新增 %LOCALAPPDATA%\douyu-go\startup.log,记录每次启动与失败原因,
便于排查"窗口起不来"这类连应用日志都不会生成的问题
- 修复预热缓存日志每个账号打两遍、"账号尝试"计数误导(改为真实锁单/支付/直接兑换次数)
- 修复前端把含"成功"字样的失败文案显示成抢到(改为只认"成功|"前缀)
- 修复 jitterDuration 在基准小于 10ms 时 rand.Int63n(0) 会 panic 的隐患
- 设置页文案与作用域同步:重试间隔策略明确作用于锁单重试、"尝试包数"明确仅用于和平小店
|
2026-10-03 19:09:19 +08:00 |
|
yml2213
|
a9ad969b64
|
支持多开实例隔离并默认打开小店
|
2026-08-09 17:25:18 +08:00 |
|
yml2213
|
87cb1dc3f0
|
新增库存监控并优化开发日志
|
2026-08-09 14:06:55 +08:00 |
|
yml2213
|
8cf29598a5
|
升级版本并改用内部账号存储
|
2026-08-09 13:04:54 +08:00 |
|
yml2213
|
379a9d58d3
|
小店商品列表shujuok
|
2026-08-08 17:40:16 +08:00 |
|
yml2213
|
5631f579ea
|
重构: 按领域拆分大文件,清理死代码和空目录
app.go (768行) 拆分为 6 个文件:
- app.go: App struct/辅助方法/NewApp/startup/shutdown/GetVersion
- app_products.go: 商品加载/账号查询
- app_seckill.go: 抢购控制/日志/时间
- app_verify.go: 积分查询/兑换记录复验
- app_export.go: 账号导出/整理
- app_activity.go: 活动切换/配置保存
scheduler.go (1141行) 拆分为 4 个文件:
- scheduler.go: struct/常量/设置/RunNow主循环/executeRound/辅助函数
- attempt.go: runAttempt/runAttemptFast/激进模式缓存
- warmup.go: 预热管理/warmupAttempts
- schedule_timer.go: 定时抢购/时间校准/定时器管理
其他清理:
- CollectFontCandidates 从 config 包移到 image 包(职责归属)
- 删除 logger 死代码: ParseLogLine/ParseLogMeta/DetectLogLevel/
IsLogLevel/LogMeta/LogDebug/cutBracket 等反解析函数及对应测试
(日志结构化后不再有生产调用方)
- 删除 static/ 空目录残留
|
2026-07-29 13:19:43 +08:00 |
|
yml2213
|
8e52e12005
|
fix: 时间校准接口全局复用旧 peace/storedetail,修正活动名称
- 从 Activity 结构体移除 TimeAPIURL 字段,时间校准与活动无关,
统一用 constants.DefaultTimeAPI(peace/storedetail 能稳定返回 currentTime)
- 旧活动 peace DisplayName 从"和平手册"修正为"精英手册"
- 更改项目默认端口避免冲突:Vite 5173→15173,Wails dev 34115→34215
|
2026-07-29 10:48:42 +08:00 |
|
yml2213
|
f4d33d19c0
|
增加电竞手册
|
2026-07-29 10:36:44 +08:00 |
|
yml2213
|
8029333613
|
默认激进模式
|
2026-06-27 15:56:19 +08:00 |
|
yml2213
|
c54d64b2eb
|
提升版本并调整抢购默认设置
|
2026-06-27 08:56:26 +08:00 |
|
yml2213
|
c90f80045e
|
优化抢购流程日志和复验性能
|
2026-06-27 08:07:21 +08:00 |
|
yml2213
|
e9621df0b9
|
修复激进模式错误
|
2026-06-26 15:20:18 +08:00 |
|
yml2213
|
e8f101d0b8
|
修复错误
|
2026-06-26 14:21:54 +08:00 |
|
yml2213
|
59bd34b004
|
feat: 新增激进抢购模式
- 添加 SeckillMode 类型(标准/激进)
- 激进模式:第一轮完整校验,后续复用 CSRF 直接兑换
- 每轮开始时清空缓存,强制重新获取 CSRF
- 设置面板添加模式切换
- 缓存 30 秒有效期,CSRF 错误时自动回退标准模式
|
2026-06-26 13:58:54 +08:00 |
|
yml2213
|
9bff652c66
|
feat: 自定义重试间隔策略 + 修复按钮hover样式
- 新增重试间隔阶段配置,支持自定义时间分界点和频率
- 默认配置: 0-8秒=130ms, 8-25秒=260ms, 25-75秒=900ms
- 设置面板添加可增删的阶段配置 UI
- 修复按钮 hover 时文字变白的问题
|
2026-06-26 13:46:46 +08:00 |
|
yml2213
|
8790c4ca33
|
增加设置界面、debug日志等级、版本号展示、构建脚本
- 新增设置弹窗: trace开关/正文上限、日志等级(debug/info/warn/error)、并发数、重试次数
- 配置运行时生效,持久化到 config.json
- 日志系统支持 debug 级别过滤
- 工具栏展示版本号(v0.0.2),来源 wails.json + constants.go
- 抢购并发数和重试次数改为读取配置,不再写死常量
- 新增 build.sh 构建脚本,Windows exe 文件名带版本号
- config.json 加入 .gitignore
|
2026-06-24 20:18:33 +08:00 |
|
yml2213
|
154e55d484
|
初步优化成全部go+wails
|
2026-06-24 19:11:02 +08:00 |
|