Erste Version: Tauri-Grundgerüst, WinGet-Anbindung, Selbst-Updater und Release-Skript
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
commit
e0773ba299
84 files changed
+12688
No files matched your search
@@ -0,0 +1,35 @@
|
||||
// Dev helper: evaluates JavaScript in the running WebView2 page via the DevTools protocol.
|
||||
// Usage: node scripts/cdp.mjs "<expression>" [--shot out.png]
|
||||
import { writeFileSync } from "node:fs";
|
||||
|
||||
const args = process.argv.slice(2);
|
||||
const shotIdx = args.indexOf("--shot");
|
||||
const shot = shotIdx >= 0 ? args.splice(shotIdx, 2)[1] : null;
|
||||
const expression = args[0] ?? "document.title";
|
||||
|
||||
const targets = await (await fetch("http://127.0.0.1:9222/json")).json();
|
||||
const page = targets.find((t) => t.type === "page");
|
||||
if (!page) throw new Error("Keine Seite gefunden");
|
||||
|
||||
const ws = new WebSocket(page.webSocketDebuggerUrl);
|
||||
let id = 0;
|
||||
const pending = new Map();
|
||||
ws.onmessage = (event) => {
|
||||
const msg = JSON.parse(event.data);
|
||||
if (msg.id && pending.has(msg.id)) pending.get(msg.id)(msg);
|
||||
};
|
||||
const send = (method, params = {}) =>
|
||||
new Promise((resolve) => {
|
||||
const myId = ++id;
|
||||
pending.set(myId, resolve);
|
||||
ws.send(JSON.stringify({ id: myId, method, params }));
|
||||
});
|
||||
await new Promise((resolve) => (ws.onopen = resolve));
|
||||
|
||||
const res = await send("Runtime.evaluate", { expression, awaitPromise: true, returnByValue: true });
|
||||
console.log(JSON.stringify(res.result?.result?.value ?? res.result, null, 2));
|
||||
if (shot) {
|
||||
const img = await send("Page.captureScreenshot", { format: "png" });
|
||||
writeFileSync(shot, Buffer.from(img.result.data, "base64"));
|
||||
}
|
||||
ws.close();
|
||||
Reference in new issue
Block a user