feat: 增加本地演示流程与网页DOM能力
This commit is contained in:
1 parent
d4799a4285
commit
6adf772987
19 files changed
+642
-9
No files matched your search
+15
-3
@@ -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();
|
||||
});
|
||||
}
|
||||
Reference in new issue
Block a user