39 lines
963 B
JavaScript
39 lines
963 B
JavaScript
|
|
window.addEventListener("message", (event) => {
|
||
|
|
if (event.source !== window) return;
|
||
|
|
|
||
|
|
if (event.data?.type === "HAIXUN_PING_EXTENSION") {
|
||
|
|
window.postMessage({ type: "HAIXUN_EXTENSION_READY" }, "*");
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (event.data?.type !== "HAIXUN_REQUEST_THREADS_SYNC") return;
|
||
|
|
|
||
|
|
chrome.runtime
|
||
|
|
.sendMessage({
|
||
|
|
action: "sync",
|
||
|
|
serverUrl: event.data.serverUrl ?? window.location.origin,
|
||
|
|
accountId: event.data.accountId,
|
||
|
|
})
|
||
|
|
.then((result) => {
|
||
|
|
window.postMessage(
|
||
|
|
{
|
||
|
|
type: "HAIXUN_THREADS_SYNC_RESULT",
|
||
|
|
...result,
|
||
|
|
},
|
||
|
|
"*"
|
||
|
|
);
|
||
|
|
})
|
||
|
|
.catch((error) => {
|
||
|
|
window.postMessage(
|
||
|
|
{
|
||
|
|
type: "HAIXUN_THREADS_SYNC_RESULT",
|
||
|
|
success: false,
|
||
|
|
valid: false,
|
||
|
|
message: error instanceof Error ? error.message : "同步失敗",
|
||
|
|
},
|
||
|
|
"*"
|
||
|
|
);
|
||
|
|
});
|
||
|
|
});
|
||
|
|
|
||
|
|
window.postMessage({ type: "HAIXUN_EXTENSION_READY" }, "*");
|