From c2b09f39e6d9e6437a5b901f727e4fcf977c4187 Mon Sep 17 00:00:00 2001 From: yu <191972707@qq.com> Date: Thu, 29 Oct 2026 16:38:11 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=A1=8C=E9=9D=A2=E6=8B=BE=E5=8F=96?= =?UTF-8?q?=E6=8C=89=E9=92=AE=E5=88=A4=E5=AE=9A=E4=B8=8E=E9=87=8D=E5=A4=8D?= =?UTF-8?q?=E5=87=BD=E6=95=B0=E6=B8=85=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/renderer/src/panels/Properties.tsx | 31 +++++++++++++++++++++++--- 1 file changed, 28 insertions(+), 3 deletions(-) diff --git a/src/renderer/src/panels/Properties.tsx b/src/renderer/src/panels/Properties.tsx index 149baa2..cc28ca0 100644 --- a/src/renderer/src/panels/Properties.tsx +++ b/src/renderer/src/panels/Properties.tsx @@ -443,8 +443,10 @@ function FieldControl({ }) { const raw = node.values[field.key] ?? field.defaultValue; const [picking, setPicking] = useState(false); - const isVisionTarget = /^(OcrOffline_|CV_)/.test(node.componentId); + const isGroundTarget = node.componentId.endsWith("Ground"); + const isVisionSource = /^(OcrOffline_|CV_|Image_)/.test(node.componentId); const isWindowTarget = /^(Window_|System_ConnectRemoteDesktop)/.test(node.componentId); + const isVisionTarget = /^(OcrOffline_|CV_)/.test(node.componentId); const insertVariable = (expression: string) => { const current = textOf(raw).trim(); @@ -452,6 +454,23 @@ function FieldControl({ onChange(field.key, current === "" || known ? expression : `${textOf(raw)}${expression}`); }; + const pickDesktop = async () => { + setPicking(true); + try { + const picked = await window.rpa.desktop.pickElement(); + if (picked.cancelled) { + onToast("已取消拾取"); + return; + } + onChange(field.key, picked.selector); + onToast("已拾取:" + (picked.name || picked.controlType || "元素")); + } catch (error) { + onToast(error instanceof Error ? error.message : String(error), "error"); + } finally { + setPicking(false); + } + }; + const pickPath = async (directories: boolean) => { try { const selected = await window.rpa.dialog.open({ @@ -616,9 +635,15 @@ function FieldControl({ placeholder="css:#submit / aria:button" onChange={(event) => onChange(field.key, event.target.value)} /> - + ) : ( + + + )} ) : field.widget === "secret" ? (