yml2213
|
dce9ce2a5a
|
优化日志系统:网络请求降噪并按接口聚合,补齐双时间说明与实例标识,发布0.3.2
- 逐条网络日志(请求完成 / 接口返回异常 / 响应刷新CSRF已同步)从 info/warn 降为 debug:
实测一次 6 账号的模拟抢购里 233 条日志有 174 条(74%)属于这类;真实抢购会产生几千条,
把界面仅 800 条的内存日志冲掉,反而看不到关键信息。HTTP/解析/传输层错误仍为 error 级
- 新增按接口聚合的网络统计,抢购任务结束时输出一行,替代逐条刷屏:
"接口统计: 锁定兑换商品 ×341 失败341 平均=95ms 最慢=312ms 最后错误=活动火爆,请稍后再试"
- 日志文件开头新增表头:实例名、数据目录、双时间格式说明(本地时间 + D 斗鱼估算时间)、
并说明"校准完成前偏移为 0,只显示本地时间"。双时间一直存在却没有任何地方解释过,
多实例日志复制或汇总后也分不清来源
- 界面日志面板:显示日志级别并按级别着色(此前级别只存在于 CSS class,复制出去就丢);
新增"复制"按钮,按与日志文件一致的单行格式导出(此前直接复制会变成 5 行一条、
1204 行里其实只有 233 条日志)
- 设置页"日志显示等级"补充说明:Info 起只显示关键日志,需要逐请求细节时切到 Debug
- 新增测试:TestRequestStatsAggregatesByLabel、TestLogFileHeaderDocumentsFormat、
TestRunNowLogsAggregateInsteadOfPerRequest(断言必须有聚合行、且不得出现逐条请求日志)
|
2026-10-03 19:33:14 +08:00 |
|
yml2213
|
43270e04a6
|
收紧重试退避并把首发请求改成立即发出,发布0.3.1
- 退避上限从 5 秒压到 1.5 秒(含抖动最长约 1.9 秒),连续失败放大倍数 8→4,抖动 50%→25%:
2026-10-03 实测库存只活了约 1.1 秒(PC2 四个实例 18:00:00.171~18:00:01.101 一直能锁到
同一个礼包),而 PC1 默认实例的 31 个号在 18:00:00.225 失败后一直睡到 18:01:09.379,
唯一有货的那段窗口被退避吃掉;超过 2 秒的等待都可能正好错过库存回流
- 首发请求不再随机等 150-700 毫秒,改为"第 0 个账号立即发出 + 其余按 8ms 步长错开",
整批铺开不超过 300 毫秒(账号再多也不会拖长)。定时器本来就提前约 100ms 触发以补偿 RTT,
再抖几百毫秒等于把这个提前量整个抵消,请求实际落到 t+150ms~t+650ms
- 锁单成功到首次支付的等待从 2-4 秒压到 300-700 毫秒:这段纯属把关键路径上的时间白送出去,
"订单操作进行中"现在按"已受理、结果未定"快重试,不需要靠等待规避
- 支付退避上限同步收紧:频控 3s→2s,其它 2s→1.2s(在途仍为 300ms→1s)
- 新增 TestRetryDelayNeverBacksOffLong:遍历 75 秒 × 40 次连续失败,断言任何一次退避都
小于 2 秒,并覆盖"重试间隔策略被配到 5000ms"的极端配置
- 新增 TestFirstWaveStartsImmediately:单账号步长必须为 0、位次从 0 递增、
2/34/100/500/2000 个账号下步长 ≤8ms 且整批铺开 ≤300ms
- 设置页文案同步:退避"任何一次等待都不超过约 2 秒"、首发错开说明
|
2026-10-03 19:21:26 +08:00 |
|
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
|
1f76c12b48
|
精英手册改为锁单支付并发布0.2.2
- 精英手册兑换改为 createExchangeOrder 锁单后 payExchangeOrder 支付,不再查询商品状态与预兑
- 电竞手册保留直接兑换,标准模式重新取鉴权,激进模式复用鉴权
- csrfToken 优先复用 Cookie,校验失败自动刷新后重试一次
- 锁单支付按频控/通用退避表重试,临近过期不再重试
- 定时复校发现抢购已开始则不再改写触发时刻
- 升级 wails 至 v2.15.0
|
2026-09-30 20:35:44 +08:00 |
|
yml2213
|
911f967463
|
优化账号商品选择并发布0.2.1
|
2026-08-09 20:04:55 +08:00 |
|
yml2213
|
266f4a3da1
|
修复库存监控提前停止并发布0.2.0
|
2026-08-09 19:37:30 +08:00 |
|
yml2213
|
a9ad969b64
|
支持多开实例隔离并默认打开小店
|
2026-08-09 17:25:18 +08:00 |
|
yml2213
|
6c881e9182
|
修正发布包版本元数据
|
2026-08-09 16:11:20 +08:00 |
|
yml2213
|
0c55da1e97
|
新增小店抢购报告导出并优化停止条件
|
2026-08-09 16:06:46 +08:00 |
|
yml2213
|
8cf29598a5
|
升级版本并改用内部账号存储
|
2026-08-09 13:04:54 +08:00 |
|
yml2213
|
dde2b43d82
|
feat: improve xiaodian seckill flow
|
2026-08-08 23:04:40 +08:00 |
|
yml2213
|
16972b41cd
|
升级版本并完善双平台打包
|
2026-08-08 19:52:00 +08:00 |
|
yml2213
|
22dc50196f
|
增加版本号
|
2026-07-29 14:49:37 +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
|
c54d64b2eb
|
提升版本并调整抢购默认设置
|
2026-06-27 08:56:26 +08:00 |
|
yml2213
|
bb24858e2b
|
优化编译格式
|
2026-06-26 15:29:26 +08:00 |
|
yml2213
|
7f5da30698
|
v0.1.0: 新增CK管理功能
功能:
- 新增CK管理页面,支持复验抢购结果和整理账号文件
- 复验功能:查询斗鱼真实兑换记录,统计已抢到/未抢到的账号
- 整理CK功能:分离已抢到的账号到新文件,原文件只保留未抢到的
- 导出文件名优化:使用中文商品名+日期时间格式(如:user_已抢到_雪国2号_20260626_150405.txt)
- 复用左侧商品选择,统一数据源
接口:
- VerifyAndExport: 复验并统计
- ExportAccountsWithProduct: 导出账号(自动命名)
- OrganizeAccounts: 整理账号文件
版本: 0.1.0
|
2026-06-26 12:40:41 +08:00 |
|
yml2213
|
54b5bd90ae
|
优化前端
|
2026-06-26 10:56:25 +08:00 |
|
yml2213
|
4ae587d76b
|
抢购逻辑优化
|
2026-06-26 01:14:23 +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 |
|