修复手机号注册登录密码页与成功清理

This commit is contained in:
QLHazyCoder
2026-05-28 06:52:35 +08:00
parent 2992cc88ac
commit fae7b9bffd
9 changed files with 797 additions and 12 deletions
+2 -1
View File
@@ -49,7 +49,7 @@
## `background/`
- `background/account-run-history.js`:账号记录模块,负责以统一账号标识维护最新记录;邮箱注册以邮箱为主身份,手机号注册以手机号为主身份,同一轮后续绑定的手机号或邮箱会并入同一条记录并覆盖旧占位状态;模块统一归一化成功/失败/停止三态并落地到 `chrome.storage.local`,兼容 phone-only 与 email+phone 组合记录、空密码,并按默认本地 helper 地址自动尝试把完整快照同步到本地 helper;若 helper 未启动,则静默跳过。
- `background/auto-run-controller.js`:自动运行主控制器,封装多轮执行、重试、轮次摘要、线程间隔与倒计时恢复逻辑;当前自动流程会绑定 `autoRunSessionId`,手动停止后旧的倒计时计划、旧重试链路和旧恢复入口不会再复活已失效的自动运行;fresh-attempt reset 时会额外保留 Plus 模式与 PayPal 配置、`gmailBaseEmail``mail2925BaseEmail`、当前 2925 账号选择与 `stepExecutionRangeByFlow`,避免自动流程重置后丢失关键持久配置。
- `background/auto-run-controller.js`:自动运行主控制器,封装多轮执行、重试、轮次摘要、线程间隔与倒计时恢复逻辑;当前自动流程会绑定 `autoRunSessionId`,手动停止后旧的倒计时计划、旧重试链路和旧恢复入口不会再复活已失效的自动运行;fresh-attempt reset 时会额外保留 Plus 模式与 PayPal 配置、`gmailBaseEmail``mail2925BaseEmail`、当前 2925 账号选择与 `stepExecutionRangeByFlow`,避免自动流程重置后丢失关键持久配置;手机号注册自动轮次只有在完整 workflow 全部完成后,才会清空手机号和绑定邮箱运行态,避免下一轮复用旧身份
- `background/contribution-oauth.js`:贡献模式的公开 OAuth 流程模块,负责调用 `flowpilot.qlhazycoder.top` 的公开贡献接口、保存贡献会话运行态、在主 10 步流程里为步骤 7 提供贡献登录地址、在步骤 9/10 衔接 callback 捕获与兼容提交 `/oauth/api/submit-callback`,并把真实服务端状态映射回 sidepanel 运行态。
- `background/cpa-api.js`:CPA 管理接口直连模块,负责请求 CPA OAuth 地址、提交 localhost callback,以及把当前 ChatGPT 已登录会话转换为 CPA `auth-files` 导入格式并直接写入管理接口。
- `background/cloudmail-provider.js`Cloud Mail / SkyMail 后台 provider 模块,负责 Token 获取、邮箱创建、邮件列表读取、验证码轮询和生成/转发收件目标邮箱选择;新生成的 Cloud Mail 地址会统一走共享注册邮箱状态持久化,既回写带来源标记的注册邮箱运行态,也能在 Step 8 `add-email` 的手机号身份链路中保留 `signupPhone* / accountIdentifier*`
@@ -245,6 +245,7 @@
- `tests/auth-japanese-localization.test.js`:测试登录、验证码、OAuth 同意页与资料页对日文按钮和文案的本地化识别。
- `tests/auto-run-fresh-attempt-reset.test.js`:测试自动运行在新一轮开始前会重置旧运行时上下文,并补充 `gmailBaseEmail` / `mail2925BaseEmail` 在 fresh reset 后仍被保留的回归验证。
- `tests/auto-run-hotmail-preflight.test.js`:测试自动运行控制器在每轮 fresh attempt 前会先预检 Hotmail 邮箱可用性。
- `tests/auto-run-phone-signup-success-email-cleanup.test.js`:测试手机号注册自动流程只有在完整 workflow 全部完成后才清理手机号和绑定邮箱运行态,并确认下一轮不会复用上一轮手机号或邮箱。
- `tests/auto-run-step4-restart.test.js`:测试步骤 4 失败后的同邮箱重开、`user_already_exists` 终止分支、注册链跳过与手机号状态清理。
- `tests/auto-run-step4-mail2925-thread-terminate.test.js`:测试步骤 4 命中 2925“结束当前尝试”错误时,不会再沿用当前邮箱回到步骤 1 重开,而是直接把错误抛给自动重试控制器。
- `tests/auto-run-timer-session-guard.test.js`:测试自动运行的旧计时计划在 Stop 使 session 失效后,不能再把已停止的自动流程重新拉起。