按实测修正锁单后支付间隔并在日志表头补充版本号,发布0.3.3

- 锁单后首次支付的等待从 0.3-0.7 秒改回 2.3-3.0 秒。斗鱼对"锁单→支付"存在最短间隔:
  2026-10-03 19:38 的模拟里,+0.50s/+0.60s/+1.37s/+1.68s 发起的支付一律被
  "您点击太快,请稍等再试"拒绝,而 +2.56s/+3.30s 发起的都成功;19:20 那次在
  +2.1s~+3.9s 发起的 6 笔全部一次通过,阈值落在 (1.68s, 2.1s] 之间。
  0.3.1 把等待压到 0.3-0.7 秒踩进该区间,6 个号各白挨两次拒绝,反而多花 2.7 秒、
  多打 12 个请求——上一版"2-4 秒纯属浪费"的判断是错的,那段等待本就是躲这条服务端规则
- 日志文件表头补充版本号与构建时间:此前无法从日志判断用户跑的是哪个包
- 新增测试断言表头包含版本号
This commit is contained in:
yml2213
2026-10-03 19:42:00 +08:00
parent dce9ce2a5a
commit 87f9c7994d
5 changed files with 16 additions and 8 deletions
+1 -1
View File
@@ -3,7 +3,7 @@ package constants
import "time"
// Version 应用版本号,与 wails.json version 同步。
const Version = "0.3.2"
const Version = "0.3.3"
// BuildTime 构建时间,由编译时 ldflags 注入。
var BuildTime = "unknown"
+5
View File
@@ -200,6 +200,11 @@ func logFileHeader(instanceName, dataDir string) string {
var b strings.Builder
b.WriteString("==================================================================\n")
fmt.Fprintf(&b, "实例: %s\n", instanceName)
if constants.BuildTime != "unknown" {
fmt.Fprintf(&b, "版本: %s(构建 %s)\n", constants.Version, constants.BuildTime)
} else {
fmt.Fprintf(&b, "版本: %s\n", constants.Version)
}
if dataDir != "" {
fmt.Fprintf(&b, "数据目录: %s\n", dataDir)
}
+1
View File
@@ -121,6 +121,7 @@ func TestLogFileHeaderDocumentsFormat(t *testing.T) {
content := string(data)
for _, want := range []string{
"实例: 实例 2",
"版本: ",
"数据目录: ",
"时间格式: 本地时间(D斗鱼估算时间)",
"校准完成前偏移为 0",
+7 -5
View File
@@ -49,11 +49,13 @@ var (
)
var (
// 锁单成功后到第一次支付的等待。原来是 2-4 秒,纯属把关键路径上的时间
// 白送出去——"订单操作进行中"现在按"已受理、结果未定"快重试处理,
// 不需要靠等待来规避。
peaceLockPayMin = 300 * time.Millisecond
peaceLockPayMax = 700 * time.Millisecond
// 锁单成功后到第一次支付的等待。斗鱼对"锁单→支付"有最短间隔:
// 2026-10-03 19:38 的模拟里,+0.50s/+0.60s/+1.37s/+1.68s 发起的支付一律被
// "您点击太快,请稍等再试"拒绝,而 +2.56s/+3.30s 发起的都成功;19:20 那次
// 在 +2.1s~+3.9s 发起的 6 笔全部一次通过。阈值落在 (1.68s, 2.1s] 之间,
// 这里取 2.3-3.0 秒留出余量:抢在 2 秒前支付只会白挨拒绝、多花时间。
peaceLockPayMin = 2300 * time.Millisecond
peaceLockPayMax = 3000 * time.Millisecond
)
// 斗鱼订单接口错误码。
+2 -2
View File
@@ -2,7 +2,7 @@
"$schema": "https://wails.io/schemas/config.v2.json",
"name": "douyu_go",
"outputfilename": "douyu_go",
"version": "0.3.2",
"version": "0.3.3",
"frontend:dir": "frontend",
"frontend:install": "npm install",
"frontend:build": "npm run build",
@@ -15,6 +15,6 @@
"email": "yml@example.com"
},
"info": {
"productVersion": "0.3.2"
"productVersion": "0.3.3"
}
}