diff --git a/pc-sdk-probe.sh b/pc-sdk-probe.sh index cf785e4..8ac863a 100755 --- a/pc-sdk-probe.sh +++ b/pc-sdk-probe.sh @@ -6,13 +6,16 @@ cat <<'EOF' (() => { const stamp = () => new Date().toISOString(); + const counts = {}; const wrap = (name) => { const original = window[name]; - if (typeof original !== "function" || original.__deployTestProbe) { + if (typeof original !== "function") { console.log(`[probe] ${name}:`, typeof original); return; } + counts[name] = 0; const wrapped = function (...args) { + counts[name] += 1; console.log(`[probe ${stamp()}] ${name} called`, args); try { const ret = original.apply(this, args); @@ -24,7 +27,9 @@ cat <<'EOF' } }; wrapped.__deployTestProbe = true; + wrapped.__deployTestOriginal = original; window[name] = wrapped; + console.log(`[probe] ${name}: wrapped`); }; ["initSDK", "login", "commonEventFunc"].forEach(wrap); @@ -42,10 +47,16 @@ cat <<'EOF' commonEventFunc: typeof window.commonEventFunc, openIMRenderApi: typeof window.openIMRenderApi, }); + window.__deployTestProbeCounts = counts; + clearInterval(window.__deployTestProbeTimer); + window.__deployTestProbeTimer = setInterval(() => { + console.log(`[probe ${stamp()}] counts`, { ...counts }); + }, 5000); })(); 然后退出登录/刷新页面重新登录一次,观察是否打印: - initSDK called / returned - login called / returned - window error / unhandledrejection +- counts 里的 initSDK/login 是否从 0 变成 1 EOF