35 lines
1.3 KiB
TypeScript
35 lines
1.3 KiB
TypeScript
import { generateSuite, getSuite, planSuite } from '../src/api/client';
|
|
|
|
// Background Service Worker —— 唯一出网口(生成 / 规划 / 轮询任务,绕 CORS)
|
|
export default defineBackground(() => {
|
|
console.log('[电商套图工作台] background started');
|
|
|
|
// 点击扩展图标 → 打开 Side Panel
|
|
chrome.sidePanel.setPanelBehavior({ openPanelOnActionClick: true });
|
|
|
|
chrome.runtime.onMessage.addListener((msg, _sender, sendResponse) => {
|
|
if (msg?.action === 'generateSuite') {
|
|
generateSuite(msg.baseUrl, msg.token, msg.payload)
|
|
.then((data) => sendResponse({ ok: true, data }))
|
|
.catch((err) => sendResponse({ ok: false, error: err instanceof Error ? err.message : String(err) }));
|
|
return true;
|
|
}
|
|
|
|
if (msg?.action === 'planSuite') {
|
|
planSuite(msg.baseUrl, msg.token, msg.payload)
|
|
.then((data) => sendResponse({ ok: true, data }))
|
|
.catch((err) => sendResponse({ ok: false, error: err instanceof Error ? err.message : String(err) }));
|
|
return true;
|
|
}
|
|
|
|
if (msg?.action === 'getSuite') {
|
|
getSuite(msg.baseUrl, msg.token, msg.suiteId)
|
|
.then((data) => sendResponse({ ok: true, data }))
|
|
.catch((err) => sendResponse({ ok: false, error: err instanceof Error ? err.message : String(err) }));
|
|
return true;
|
|
}
|
|
|
|
return false;
|
|
});
|
|
});
|