feat: 增加本地演示流程与网页DOM能力

This commit is contained in:
yu committed 2026-10-27 13:50:03 +08:00
1 parent d4799a4285
commit 6adf772987
19 files changed
+642 -9

No files matched your search

+15 -3
View File
@@ -3,9 +3,10 @@ import path from "node:path";
import type { AppInfo, FlowDefinition } from "../shared/types";
import "./capabilities";
import { catalogPath, loadCatalog } from "./catalog";
import { createFlow, deleteFlow, getFlow, listFlows, saveFlow } from "./flows";
import { createDemoFlow, createFlow, deleteFlow, getFlow, listFlows, saveFlow } from "./flows";
import { capabilityCount, capabilityIds } from "./engine/registry";
import { closeBrowserSession, startRun, stopRun } from "./run/manager";
import { fixtureUrl, startFixtureServer, stopFixtureServer } from "./fixture/server";
let mainWindow: BrowserWindow | null = null;
@@ -57,7 +58,8 @@ function registerIpc(): void {
node: process.versions.node,
userData: app.getPath("userData"),
catalogPath: catalogPath(),
packaged: app.isPackaged
packaged: app.isPackaged,
fixtureUrl: fixtureUrl()
}));
ipcMain.handle("catalog:get", () => loadCatalog());
@@ -69,6 +71,10 @@ function registerIpc(): void {
const flow = createFlow(name);
return saveFlow(flow);
});
ipcMain.handle("flows:create-demo", () => {
const url = fixtureUrl();
return saveFlow(url ? createDemoFlow(url) : createFlow("未命名任务"));
});
ipcMain.handle("flows:get", (_event, id: string) => getFlow(id));
ipcMain.handle("flows:save", (_event, flow: FlowDefinition) => saveFlow(flow));
ipcMain.handle("flows:delete", (_event, id: string) => {
@@ -107,7 +113,12 @@ if (!gotLock) {
mainWindow.focus();
});
app.whenReady().then(() => {
app.whenReady().then(async () => {
try {
await startFixtureServer();
} catch (error) {
console.warn("local fixture server unavailable", error);
}
registerIpc();
createWindow();
app.on("activate", () => {
@@ -121,5 +132,6 @@ if (!gotLock) {
app.on("before-quit", () => {
void closeBrowserSession();
void stopFixtureServer();
});
}