fix: v4.1 修复售罄按钮/支付弹窗/match规则等9项问题

This commit is contained in:
qtaxm
2026-04-08 11:40:18 +08:00
parent da10cf4ad4
commit ba6369699c
2 changed files with 30 additions and 2 deletions

View File

@@ -108,6 +108,34 @@
- 建议在抢购开始前 3 秒点击 **预热** 按钮 - 建议在抢购开始前 3 秒点击 **预热** 按钮
- 如果支付弹窗未出现,脚本会自动尝试多种恢复策略 - 如果支付弹窗未出现,脚本会自动尝试多种恢复策略
## 更新日志
### v4.1 (2026-04-08)
- **修复** 售罄状态下按钮不可点击的问题(恢复全局 JSON.parse patch
- **修复** 支付弹窗不弹出的问题4 层恢复策略:清弹窗→缓存重点击→获取支付链接→兜底提醒)
- **修复** `@match` 规则不匹配 `bigmodel.cn`(无 www的问题
- **修复** 原型链污染风险Object.keys + WeakSet 循环引用保护)
- **修复** HTTP 401/403 会话过期检测(之前永远不会触发)
- **修复** 限流退避使用错误的计数器
- **修复** stats.errors 永远显示 0
- **修复** Alt+H 快捷键在 Shadow DOM 中失效
- **修复** `_glmShadow` 暴露在全局作用域
### v4.0 (2026-04-08)
- 并发重试3 路 Promise.race
- 自适应间隔(爆发→快速→随机抖动)
- 反检测定向拦截、toString 伪装、Shadow DOM
- 高精度定时rAF + performance.now
- 配置/请求持久化localStorage + sessionStorage
- MutationObserver 弹窗监控
- TCP 预热、快捷键、离开保护
### v3.2 (原版)
- 单线程串行重试
- preview + check 双重校验
- 错误弹窗自动恢复
- 浮动控制面板
## License ## License
MIT MIT

View File

@@ -1,7 +1,7 @@
// ==UserScript== // ==UserScript==
// @name 智谱 GLM Coding 抢购助手 v4.0 // @name 智谱 GLM Coding 抢购助手 v4.0
// @namespace http://tampermonkey.net/ // @namespace http://tampermonkey.net/
// @version 4.0 // @version 4.1
// @description 并发重试 + 自适应间隔 + 反检测 + check校验 + 弹窗恢复 + 定时触发 + 配置持久化 // @description 并发重试 + 自适应间隔 + 反检测 + check校验 + 弹窗恢复 + 定时触发 + 配置持久化
// @author Assistant // @author Assistant
// @match *://www.bigmodel.cn/* // @match *://www.bigmodel.cn/*
@@ -706,7 +706,7 @@
.keys{font-size:10px;color:#636e72;text-align:center;margin-top:6px} .keys{font-size:10px;color:#636e72;text-align:center;margin-top:6px}
</style> </style>
<div class="panel"> <div class="panel">
<div class="hd" id="drag"><b>GLM v4.0</b><button class="mn" id="min">-</button></div> <div class="hd" id="drag"><b>GLM v4.1</b><button class="mn" id="min">-</button></div>
<div class="bd" id="bd"> <div class="bd" id="bd">
<div class="st st-idle" id="st">等待中</div> <div class="st st-idle" id="st">等待中</div>
<div class="cap" id="cap">${state.captured ? '已恢复上次捕获的请求' : '请先点一次购买按钮'}</div> <div class="cap" id="cap">${state.captured ? '已恢复上次捕获的请求' : '请先点一次购买按钮'}</div>