From 2c9e536559b49f86ed7ea4c7ad126783b6fde0b5 Mon Sep 17 00:00:00 2001 From: Ruotian Yang Date: Thu, 16 Apr 2026 00:44:20 +0800 Subject: [PATCH] =?UTF-8?q?Fix:=20=E4=BF=AE=E5=A4=8D=20Step=209=20?= =?UTF-8?q?=E6=9C=AC=E5=9C=B0=E5=9B=9E=E8=B0=83=E6=88=90=E5=8A=9F=E7=8A=B6?= =?UTF-8?q?=E6=80=81=E7=9A=84=E5=A4=9A=E8=AF=AD=E8=A8=80=E8=AF=86=E5=88=AB?= =?UTF-8?q?=EF=BC=8C=E4=BB=A5=E5=8F=8A=20log=20=E7=9A=84=E4=B9=B1=E7=A0=81?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- background.js | 2 +- content/vps-panel.js | 29 ++++++++++++++++++++++++----- 2 files changed, 25 insertions(+), 6 deletions(-) diff --git a/background.js b/background.js index 8a37557..10add01 100644 --- a/background.js +++ b/background.js @@ -7905,7 +7905,7 @@ async function executeCpaStep9(state) { inject: injectFiles, timeoutMs: 45000, retryDelayMs: 900, - logMessage: '姝ラ 9锛欳PA 闈㈡澘浠嶅湪鍔犺浇锛屾鍦ㄩ噸璇曡繛鎺ュ唴瀹硅剼鏈?..', + logMessage: '步骤 9:CPA 面板仍在加载,正在重试连接...', }); await addLog('步骤 9:正在填写回调地址...'); diff --git a/content/vps-panel.js b/content/vps-panel.js index df1ef4b..fe3e965 100644 --- a/content/vps-panel.js +++ b/content/vps-panel.js @@ -222,13 +222,32 @@ function summarizeStatusBadgeEntries(entries) { .join(' | '); } +const STEP9_SUCCESS_STATUSES = new Set([ + 'Authentication successful!', + 'Аутентификация успешна!', + '认证成功!', +]); + +function normalizeStep9StatusText(statusText) { + return String(statusText || '').replace(/\s+/g, ' ').trim(); +} + +function isStep9SuccessStatus(statusText) { + return STEP9_SUCCESS_STATUSES.has(normalizeStep9StatusText(statusText)); +} + +function isStep9SuccessLikeStatus(statusText) { + const text = normalizeStep9StatusText(statusText); + return /authentication successful|аутентификац.*успеш|认证成功/i.test(text); +} + function getStatusBadgeDiagnostics() { const entries = getStatusBadgeEntries(); const visibleEntries = entries.filter((entry) => entry.visible); const selectedEntry = visibleEntries[0] || null; const selectedText = selectedEntry?.text || ''; - const successLikeEntries = visibleEntries.filter((entry) => /认证成功/.test(entry.text || '')); - const exactSuccessEntries = visibleEntries.filter((entry) => entry.text === '认证成功!'); + const successLikeEntries = visibleEntries.filter((entry) => isStep9SuccessLikeStatus(entry.text)); + const exactSuccessEntries = visibleEntries.filter((entry) => isStep9SuccessStatus(entry.text)); const visibleSummary = summarizeStatusBadgeEntries(visibleEntries); const pageSnippet = getPageTextSnippet(); @@ -312,7 +331,7 @@ async function waitForExactSuccessBadge(timeout = STEP9_SUCCESS_BADGE_TIMEOUT_MS if (typeof isRecoverableStep9AuthFailure === 'function' && isRecoverableStep9AuthFailure(statusText)) { throw new Error(`STEP9_OAUTH_RETRY::${statusText}`); } - if (statusText === '认证成功!') { + if (isStep9SuccessStatus(statusText)) { return statusText; } await sleep(200); @@ -328,8 +347,8 @@ async function waitForExactSuccessBadge(timeout = STEP9_SUCCESS_BADGE_TIMEOUT_MS throw new Error(`STEP9_OAUTH_RETRY::${finalText}${diagnosticsSuffix}`); } throw new Error(finalText - ? `CPA 面板状态不是“认证成功!”,当前为“${finalText}”。${diagnosticsSuffix}` - : `CPA 面板长时间未出现“认证成功!”状态徽标。${diagnosticsSuffix}`); + ? `CPA 面板状态未进入成功状态,当前为“${finalText}”。${diagnosticsSuffix}` + : `CPA 面板长时间未出现成功状态徽标。${diagnosticsSuffix}`); } function findManagementKeyInput() {