From c493ccda6ee2dd868c0b645bdd23cb1ff9627c13 Mon Sep 17 00:00:00 2001 From: vet Date: Tue, 14 Apr 2026 15:34:23 +0700 Subject: [PATCH] test --- pc-sdk-probe.sh | 27 ++++++++++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/pc-sdk-probe.sh b/pc-sdk-probe.sh index 6cce557..3810f93 100755 --- a/pc-sdk-probe.sh +++ b/pc-sdk-probe.sh @@ -59,7 +59,7 @@ cat <<'EOF' console.log(`[probe] ${name}: wrapped`); }; - ["initSDK", "login", "commonEventFunc", "initDB", "setSqlWasmPath"].forEach(wrap); + ["initSDK", "login", "logout", "commonEventFunc", "initDB", "setSqlWasmPath"].forEach(wrap); window.addEventListener("error", (event) => { console.error("[probe window error]", event.message, event.filename, event.lineno, event.error); }); @@ -68,9 +68,14 @@ cat <<'EOF' }); console.log("[probe ready]", { electronAPI: Boolean(window.electronAPI), + href: window.location.href, + isSecureContext: window.isSecureContext, + crossOriginIsolated: window.crossOriginIsolated, + SharedArrayBuffer: typeof window.SharedArrayBuffer, Go: typeof Go, initSDK: typeof window.initSDK, login: typeof window.login, + logout: typeof window.logout, commonEventFunc: typeof window.commonEventFunc, initDB: typeof window.initDB, setSqlWasmPath: typeof window.setSqlWasmPath, @@ -114,6 +119,16 @@ cat <<'EOF' const state = { href: window.location.href, hash: window.location.hash, + isSecureContext: window.isSecureContext, + crossOriginIsolated: window.crossOriginIsolated, + SharedArrayBuffer: typeof window.SharedArrayBuffer, + electronAPI: Boolean(window.electronAPI), + Go: typeof Go, + initSDK: typeof window.initSDK, + login: typeof window.login, + logout: typeof window.logout, + initDB: typeof window.initDB, + setSqlWasmPath: typeof window.setSqlWasmPath, userID: await window.__deployTestReadLocalForage("IM_USERID"), hasIMToken: Boolean(await window.__deployTestReadLocalForage("IM_TOKEN")), hasChatToken: Boolean(await window.__deployTestReadLocalForage("IM_CHAT_TOKEN")), @@ -238,13 +253,17 @@ cat <<'EOF' }; clearInterval(window.__deployTestProbeTimer); window.__deployTestProbeTimer = setInterval(() => { - console.log(`[probe ${stamp()}] counts`, { ...counts }); + const snapshot = { ...counts }; + console.log(`[probe ${stamp()}] counts`, snapshot); + if (!snapshot.initSDK && !snapshot.login) { + console.warn("[probe hint] initSDK/login 仍为 0:当前页面没有重新触发 SDK 登录。若 logout > 0 且报 10008,只说明业务层在未初始化 SDK 时触发了退出。请执行 await window.__deployTestAuthState();若仍有 token,可执行 await window.__deployTestManualLogin() 手动验证 SDK 初始化链路。"); + } }, 5000); })(); 然后退出登录/刷新页面重新登录一次,观察是否打印: - new Worker / worker.postMessage / worker error -- initSDK / login / initDB / setSqlWasmPath called / returned +- initSDK / login / logout / initDB / setSqlWasmPath called / returned - window error / unhandledrejection - counts 里的 initSDK/login 是否从 0 变成 1 @@ -278,4 +297,6 @@ await window.__deployTestManualInitDB() 如果 counts 仍为 0,查看业务登录链路状态: await window.__deployTestAuthState() + +其中 isSecureContext / crossOriginIsolated 应为 true,SharedArrayBuffer 应为 "function"。 EOF