From 4ee373fe6d08d4ca6a7bfdadcbcd9c520c0e76d4 Mon Sep 17 00:00:00 2001 From: vet Date: Tue, 14 Apr 2026 12:33:04 +0700 Subject: [PATCH] test --- pc-sdk-probe.sh | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/pc-sdk-probe.sh b/pc-sdk-probe.sh index 128ed7d..52b905d 100755 --- a/pc-sdk-probe.sh +++ b/pc-sdk-probe.sh @@ -81,6 +81,46 @@ cat <<'EOF' } return undefined; }; + window.__deployTestListBrowserDBs = async () => { + const dbs = indexedDB.databases ? await indexedDB.databases() : []; + console.log("[probe] indexedDB databases", dbs); + if (window.caches?.keys) { + console.log("[probe] cache keys", await caches.keys()); + } + return dbs; + }; + window.__deployTestResetBrowserStorage = async () => { + console.warn("[probe] 清理当前站点浏览器存储:localStorage / CacheStorage / IndexedDB"); + localStorage.clear(); + if (window.caches?.keys) { + for (const key of await caches.keys()) { + console.warn("[probe] delete cache", key, await caches.delete(key)); + } + } + if (indexedDB.databases) { + for (const db of await indexedDB.databases()) { + if (!db.name) continue; + await new Promise((resolve) => { + const req = indexedDB.deleteDatabase(db.name); + req.onsuccess = () => { + console.warn("[probe] deleted indexedDB", db.name); + resolve(); + }; + req.onerror = () => { + console.warn("[probe] delete indexedDB failed", db.name, req.error); + resolve(); + }; + req.onblocked = () => { + console.warn("[probe] delete indexedDB blocked, close other tabs then retry", db.name); + resolve(); + }; + }); + } + } else { + console.warn("[probe] indexedDB.databases() 不可用,请在 DevTools Application 面板手动清理 IndexedDB"); + } + console.warn("[probe] 清理完成,请关闭其它同源标签页后刷新页面并重新登录"); + }; window.__deployTestManualLogin = async ({ userID, token, apiAddr, wsAddr } = {}) => { userID = userID || await window.__deployTestReadLocalForage("IM_USERID"); token = token || await window.__deployTestReadLocalForage("IM_TOKEN"); @@ -127,4 +167,11 @@ window.__deployTestManualLogin({ userID: "6087132211", token: "把 console 里 SDK login args 的 token 粘到这里" }) + +若报 10006 init database invoke javascript timeout,先查看并清理当前站点浏览器数据库: + +await window.__deployTestListBrowserDBs() +await window.__deployTestResetBrowserStorage() + +清理后刷新页面,重新登录,再观察 /var/log/nginx/openim-pc-proxy-access.log 是否出现 /msg_gateway。 EOF