ui+功能一样
This commit is contained in:
@@ -10,6 +10,7 @@ export async function getCrawlTaskState(): Promise<CrawlTaskState | null> {
|
||||
|
||||
export async function setCrawlTaskState(state: CrawlTaskState): Promise<void> {
|
||||
await chrome.storage.local.set({ [CRAWL_TASK_STORAGE_KEY]: state });
|
||||
broadcastToCrawlTab(state);
|
||||
}
|
||||
|
||||
export async function clearCrawlTaskState(): Promise<void> {
|
||||
@@ -29,6 +30,18 @@ export async function updateCrawlTaskState(
|
||||
await setCrawlTaskState(updater(state));
|
||||
}
|
||||
|
||||
function broadcastToCrawlTab(state: CrawlTaskState): void {
|
||||
if (!state.tabId) {
|
||||
return;
|
||||
}
|
||||
|
||||
try {
|
||||
void chrome.tabs.sendMessage(state.tabId, { type: 'crawl_state_update', state }).catch(() => undefined);
|
||||
} catch {
|
||||
// ignore
|
||||
}
|
||||
}
|
||||
|
||||
function isCrawlTaskState(value: unknown): value is CrawlTaskState {
|
||||
return typeof value === 'object' && value !== null && 'id' in value && 'steps' in value;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user