feat: 增加对自动运行状态的管理,优化轮数同步逻辑及相关测试

This commit is contained in:
QLHazyCoder
2026-05-04 14:20:38 +08:00
parent 104e629394
commit 5d70d2b681
5 changed files with 185 additions and 9 deletions
+3 -3
View File
@@ -40,7 +40,7 @@
- 管理顶部“贡献”按钮与贡献模式主面板;贡献模式本身是 sidepanel 的运行态 UI 模式,不是新的 `panelMode` 来源
- 在贡献模式下复用同一套主自动流程启动,并在面板内展示贡献链路的 `OAUTH / 回调 / 总状态` 三块实时状态
- 在顶部“贡献/使用”按钮下方展示一个非强制的内容更新轻提示;提示来源于 `apikey.qzz.io` 的公开公告 / 教程摘要,用户关闭后仅对当前 `promptVersion` 静默,下次内容版本变化后会重新出现
- 在 sidepanel 初始化和点击“自动”按钮前刷新一次贡献站公开内容摘要;如果刷新失败,不阻塞主自动流程
- 在 sidepanel 初始化和点击“自动”按钮前刷新一次贡献站公开内容摘要;点击“自动”时会先冻结当时输入或号池锁定的目标轮数,后续刷新、保存和后台状态回灌不能把启动目标改回旧的 1 轮;如果刷新失败,不阻塞主自动流程
- 在日志区通过“记录”按钮打开独立的账号记录覆盖层,并展示成功/失败/停止/重试统计与分页列表;phone-only 记录会回退展示手机号
- 查询 GitHub Releases 并展示更新卡片;当前更新服务会区分 `Ultra`、历史 `Pro` 与 legacy `v` 三个版本族,排序时固定以 `Ultra` 为最高正式系列,同时会在读取缓存后重新排序,避免历史 `Pro``v` 版本误显示为比 `Ultra` 更新
- 展示一个单独的“接码”开关、注册方式 `signupMethod` 与“接码平台”下拉;接码平台当前支持 HeroSMS / 5sim / NexSMS。普通模式下开启接码后可把注册方式切到手机号注册,并在 OAuth 登录链路命中手机号登录验证码页时继续复用同一手机号续跑短信验证
@@ -249,7 +249,7 @@ IP 代理模块在同步、切换、Change、出口探测和自动运行成功
4. `sidepanel.js` 在 sidepanel 初始化时会先拉一次摘要;如果当前 `promptVersion` 没被本地关闭过,就显示提示
5. 用户点击提示右侧 `X` 后,只会把当前 `promptVersion` 记入 `localStorage`,不会永久关闭整个能力
6. 当公告或教程再次更新,服务端返回新的 `promptVersion`,提示会重新出现
7. 用户点击“自动”按钮时,sidepanel 会在真正启动自动流程前刷新一次摘要,尽量让提示状态更及时
7. 用户点击“自动”按钮时,sidepanel 会先冻结当时输入或号池锁定的目标轮数,再在真正启动自动流程前刷新一次摘要,尽量让提示状态更及时;刷新、保存或后台旧状态回灌期间不会重新读取输入框导致轮数回退
8. 如果这次刷新失败,sidepanel 只记录警告并继续自动流程,不会因为提示链路故障阻塞主功能
这条链路的关键边界是:
@@ -845,7 +845,7 @@ Hide My Email 获取与管理链路:
流程:
1. 读取总轮数与模式
1. 读取总轮数与模式;sidepanel 在点击“自动”瞬间先冻结目标轮数,后台确认进入同一目标轮数前会忽略旧 active 状态里的过期 `autoRunTotalRuns`
2. 为本轮自动流程分配唯一 `autoRunSessionId`
3. 计算是否从中断点继续
4. 每轮执行前重置必要运行态