Commit Graph

213 Commits

Author SHA1 Message Date
yu
8dc2b60c6d feat: datePicker加原生日期选择器; openWindowMultipleSelect/openWindowEditor加选窗口按钮; dateRangeFilter加日期范围输入 2026-11-03 14:14:01 +08:00
yu
9e9617256d Merge branch 'main' of http://43.140.215.244:7040/wangyukun/PRA-only-demo 2026-11-03 14:11:52 +08:00
yu
6bf8e90c63 fix: 窗口选择器从循环confirm改为弹出列表modal, 用户可一次看到所有窗口并点击选择 2026-11-03 14:11:38 +08:00
yu
41b999115e fix: 屏幕截图保存路径字段正名(目标文件路径->截图保存路径), 备用输出目录/文件名折叠进高级参数, 描述写清保存回退链 2026-11-03 14:07:06 +08:00
yu
4a3e6e38c7 fix: overlay窗口closable:false导致close()被忽略, 改用destroy()强制销毁 2026-11-03 14:05:29 +08:00
yu
b6829cbaab Merge branch 'main' of http://43.140.215.244:7040/wangyukun/PRA-only-demo 2026-11-03 14:01:58 +08:00
yu
0d429e5175 fix: overlay真正集成(CRLF换行导致正则替换全部失效) showRunOverlay/hideRunOverlay/overlayBroadcast实际调用, nodeLabel/total字段补上 2026-11-03 14:01:45 +08:00
yu
38b2199d4b fix: 裁剪图像脚本New-Object不能置于.NET方法参数表(组件从未跑通的根因), 改用[Type]::new() 2026-11-03 13:59:02 +08:00
yu
9bfa4ac107 fix: overlay改loadFile(不用data URL) + nodeIntegration开启 + taskbar进度条兜底 2026-11-03 13:57:49 +08:00
yu
bc4b349771 fix: overlay窗口 require改ESM import, nodeIntegration开启使ipcRenderer可用, script标签模板转义修复 2026-11-03 13:55:28 +08:00
yu
0651bc995c Merge branch 'main' of http://43.140.215.244:7040/wangyukun/PRA-only-demo 2026-11-03 13:52:45 +08:00
yu
f163c8d0b6 feat: 运行时主窗口最小化+悬浮进度窗(alwaysOnTop不可拖动/resize,显示步骤名/进度/耗时/停止按钮,结束后自动恢复主窗口) 2026-11-03 13:52:25 +08:00
yu
fe0c6c2790 fix: 裁剪图像参数校验与字段说明(源图片路径/坐标语义), 空路径与无效区域给明确报错 2026-11-03 13:50:57 +08:00
yu
6b54decfb0 Merge branch 'main' of http://43.140.215.244:7040/wangyukun/PRA-only-demo 2026-11-03 13:46:49 +08:00
yu
346e2ad342 fix: 补充用户不便输入的displayType控件(mouseRecord/clickPosition坐标拾取、excelRange文本、USB串口下拉、键鼠驱动下拉、邮箱email输入、previewDataTable只读、customModal/itemGroup JSON textarea); pickPointToField函数; flowValidation match_type优先级修复 2026-11-03 13:46:27 +08:00
yu
d4f27cdaab refactor: 找图族组件统一新管线(Exists/Location/Wait/Move迁至虚拟桌面+相似度语义), 面板只留V1/V2最新版 2026-11-03 13:44:59 +08:00
yu
6027895d4d refactor: 点击图像组件合(V2并入V3): 精简为查找范围/窗口对象/目标图像/按键/位置/相似度七字段 2026-11-03 13:34:42 +08:00
yu
12b97315f2 fix: 窗口对象语义字段(window_obj/窗口对象)统一渲染选窗口按钮, 不再依赖组件前缀 2026-11-03 13:28:49 +08:00
yu
241c598b10 fix: 匹配阈值判定移到精化后并取消初始剪枝, 修复高相似度(0.95)误判未找到 2026-11-03 13:16:45 +08:00
yu
4824ac85f2 Merge branch 'main' of http://43.140.215.244:7040/wangyukun/PRA-only-demo 2026-11-03 13:15:00 +08:00
yu
b5d6bef369 fix: 窗口组件条件字段渲染+选窗口按钮; imageSelector加文件浏览与屏幕截取; prompt()改confirm(); 后端窗口selector统一读取所有标题字段; 新增桌面键鼠人工验收流程与E2E脚本 2026-11-03 13:12:29 +08:00
yu
3922447689 fix: 全桌面查找结果加回拼接画布物理原点, 修复副屏点击垂直偏移 2026-11-03 13:07:12 +08:00
yu
e7669acd16 feat: 图像查找搜索整个虚拟桌面(多屏拼接), 窗口矩形与区域JSON统一DPI换算 2026-11-03 11:48:41 +08:00
yu
68e16282de fix: 点击脚本声明DPI感知避免物理坐标被二次缩放; 缩放兜底返回实际框尺寸 2026-11-03 11:39:17 +08:00
yu
9868f5d51c fix: 图像匹配改相似度语义并修三处准确度缺陷(尺度对齐/早退阈值/噪声死区) 2026-11-03 11:31:34 +08:00
yu
38af534f70 fix: 图片识别支持JPG等非PNG模板, 文件缺失与大图给出明确报错 2026-11-03 11:04:04 +08:00
yu
52423d46a4 fix: 图片路径类字段屏幕框选改为存模板截图路径, 仅搜索区域字段存区域JSON 2026-11-03 10:54:35 +08:00
yu
0960be88e5 fix: 框选轮询脚本免 System.Drawing 引用, 采样队列化并取消阻塞等待 2026-11-03 10:35:00 +08:00
yu
82765a7f19 fix: 框选所有退出路径恢复应用窗口; 轮询提前启动并同源采样按键与光标坐标 2026-11-03 10:28:24 +08:00
yu
817ea21c9a fix: 框选改为主进程轮询物理按键状态, 覆盖层最高层级置顶, 全路径清理 2026-11-03 10:15:41 +08:00
yu
257fdc7358 fix: 框选截图顺序与多覆盖层状态聚合\n\n- 主屏截到应用窗口: 之前框选结束后先恢复应用窗口再截图, 应用弹回盖住选区; 改为先销毁覆盖层并截图, 最后恢复应用窗口\n- 副屏拖拽无响应/Esc 无效: 轮询只读第一个(主屏)覆盖层状态; 改为聚合所有覆盖层, 任一屏 Esc 可取消、任一屏拖拽可识别\n- 多显示器截图源匹配增加按下→右排序对位回退(display_id 缺失时) 2026-11-03 09:59:57 +08:00
yu
5e6b7cd878 fix: 框选坐标改由主进程采样光标绝对位置\n\n- 混合 DPI 下窗口 clientX/clientY 与屏幕位置映射不可靠, 导致选区偏离鼠标实际位置\n- 渲染层只上报按下/松开状态, 主进程轮询 getCursorScreenPoint 取屏幕绝对 DIP 坐标计算选区\n- 选区正确性不再依赖覆盖层窗口几何, 裁剪与返回值均基于绝对坐标 2026-11-03 09:46:36 +08:00
yu
0641c5b91b fix: 副屏框选覆盖层尺寸不对\n\n- 混合 DPI 多显示器下, BrowserWindow 构造参数直接传副屏 bounds 会按主屏 DPI 虚拟化, 导致副屏覆盖层盖不满或超出\n- 改为先创建隐藏窗口再 setBounds 副屏 bounds, 此时窗口已关联副屏 DPI 2026-11-03 09:39:58 +08:00
yu
b40c15d5b2 feat: 框选与 CV 查找支持多显示器副屏
- pickScreenRegion 每个显示器各开一个框选覆盖层, 副屏可直接框选; 返回屏幕绝对 DIP 坐标+该屏 scaleFactor
- cv-vision 全屏查找改为逐显示器 desktopCapturer 截屏(含负坐标副屏), 命中换算为绝对 DIP 坐标; 区域截图命中按 scaleFactor 换算
- 点击/悬停/输入坐标经 screen.dipToScreenPoint 转物理像素, 修复缩放非 100% 时点击偏移
- 新增 2 个多显示器测试用例(副屏命中映射/区域图缩放换算), 11/11 通过
2026-11-03 09:35:15 +08:00
yu
22054fed37 fix: 截屏改用 desktopCapturer, 修复截 Electron 窗口全黑
- GDI CopyFromScreen 截不到 GPU 合成渲染的窗口内容, 用户框选 Electron 编辑器界面时截图全黑, OCR 无从识别
- pickScreenRegion 改用 desktopCapturer 截屏后按 scaleFactor 裁剪(与 AI 拾取 capturePaneForAi 同款方案)
- cv-vision grabScreen 同步改为 desktopCapturer 优先, 不可用时回退 GDI 脚本
2026-11-03 09:17:23 +08:00
yu
d98185d1cf feat: CV 组件搜索区域 UI 接入完成
- catalog 为 CV_MouseClick/GetText/SetText/MouseHover 新增可选「搜索区域」字段(region widget)
- 属性面板 region 字段渲染「屏幕框选」按钮, 框选后存 {x,y,width,height,imagePath}
- 运行时框选截图内 OCR 定位 + 偏移换算屏幕绝对坐标; 纯坐标范围则全屏截屏后过滤区域内命中
- 新增 2 个区域过滤测试用例(区域内命中/区域外拒绝)
2026-11-03 09:10:00 +08:00
yu
5aa113ea0e feat: CV 组件支持可选搜索区域(第一阶段)
- locateTextOnScreen 支持区域参数: 框选截图(imagePath)+屏幕偏移(x,y) 或纯坐标范围过滤
- locateFor 读取 searchRegion/region 参数; parseRegionArg 兼容 JSON 与图片路径
- 框选截图时 OCR 只识别该图, 命中坐标加偏移得到屏幕绝对坐标, 避免同名文本干扰
- pickRegionToField: region 类型字段存完整 {x,y,width,height,imagePath}
- 明日继续: catalog 给 CV 四组件加 searchRegion 字段 + region 分支屏幕框选按钮
2026-11-02 17:55:18 +08:00
yu
c93543be1c fix: 移除 CV 组件重复注册与非法单行 here-string
- remaining-core.ts 曾重复注册 CV_GetText/SetText/MouseHover/MouseClick 并覆盖 cv-vision.ts 的实现
- 其中 CV_MouseClick/MouseHover 内联的 Add-Type @'...'@ 单行 here-string 是非法语法(@' 后必须紧跟换行), 必然解析失败报 CLIXML 错误
- 移除重复注册, CV 组件统一走 cv-vision.ts 的 -MemberDefinition 实现
- 顺手修复 Image_Move 系列同款单行 here-string bug(改为 -MemberDefinition)
2026-11-02 17:46:14 +08:00
yu
58c23591a5 feat: 属性面板参数说明优化, 让用户清楚每个参数该填什么
- catalog-overrides 为 vision 组 88 个组件补充 229 个字段的 description/placeholder
  (目标/偏移量/图片路径/引擎选择等高频易混字段), catalog.json 同步应用
- Properties.tsx: 元数据缺描述时按控件类型兜底提示(element/file/folder/region)
  vision 组件 element 字段提示「填写屏幕上可见的目标文本, OCR 定位」
- 必填标识从红星 * 改为「必填」徽标, 更直白
- 字段说明文案样式增强(.field-desc): 10px muted 色置于输入框下方
2026-11-02 17:37:43 +08:00
yu
dfc5041a67 fix: CV 截屏声明 DPI 感知并覆盖虚拟桌面, 失败保留截屏证据
- 缩放非 100% 时未声明 DPI 感知的截屏进程只覆盖主屏左上角逻辑区域, 右侧/副屏内容丢失
- grabScreen 先 SetProcessDpiAwarenessContext(-4), 与点击脚本坐标空间一致
- 截屏范围从主屏 PrimaryScreen 改为 VirtualScreen 全部显示器
- cv_not_found 时保留截屏并在错误详情附路径, 便于排查
2026-11-02 17:27:37 +08:00
yu
afa32133ec Merge branch 'main' of http://43.140.215.244:7040/wangyukun/PRA-only-demo 2026-11-02 17:20:37 +08:00
yu
bf5ad56063 fix: 属性面板拾取按钮错位
- vision 组件(CV_/OcrOffline_)的 element 字段不再显示浏览器拾取按钮, 目标为手填屏幕文本并更新占位提示
- 修复 file/folder 分支按钮嵌套错误(框选/选窗口按钮误嵌在浏览按钮内且重复两份), 还原为平级按钮
2026-11-02 17:16:17 +08:00
yu
3bc8b60e83 fix: 画布点阵背景重影
- .flow-canvas .react-flow 的 CSS radial-gradient 点阵与 React Flow Background 组件叠加
- 平移时两层点阵以不同速度移动产生重影; 移除 CSS 层只保留 Background 组件
2026-11-02 17:12:53 +08:00
yu
f0b9d1beec fix: CV 视觉组件截屏脚本补加载 System.Windows.Forms
- grabScreen 只 Add-Type 了 System.Drawing, 引用 Windows.Forms.Screen 却未加载该程序集
- 导致 PrimaryScreen.Bounds 取值为 Null, 截屏链路 InvokeMethodOnNull, 所有 CV_* 组件运行失败
- 与 remaining-core.ts 中正常工作的同款脚本对齐
2026-11-02 17:02:42 +08:00
yu
f9b980ab5c fix: 搜索框聚焦时不再出现双层边框
- search-box/task-search 内层 input 关闭自身 focus-visible 光圈, 只保留容器聚焦效果
2026-11-02 16:24:35 +08:00
yu
22e3c191a8 fix: 组件库分类默认全部收起
- 新建任务进入编辑器时不再自动展开前两个分组
- 仅在搜索时自动展开匹配分组, 清空搜索恢复收起
2026-11-02 16:21:41 +08:00
yu
32ac14a36f fix: Excel sheet Move fails on zh-CN Excel due to null optional COM args 2026-11-02 16:00:26 +08:00
yu
f8859fed77 test: validate capability property schemas and options 2026-11-02 15:55:23 +08:00
yu
541908961b feat: 任务列表去掉状态列, 新增更新时间列
- 移除「已启用/未启用」状态列及全部 status-dot/task-status 样式
- 新增「更新时间」列, 显示任务最近修改时间(History 图标)
- 表格栅格 5 列重排, 清理 1250px 媒体查询对应覆盖
2026-11-02 15:54:50 +08:00
yu
03e3d31a83 feat: 移除右侧任务概览面板,任务列表占满整屏
- 删除 TasksPage 的 aside 任务概览区块及其全部 CSS
- 空状态并入列表: 无任务时在列表内显示「还没有任务+新建按钮」, 搜索无结果显示原提示
- .tasks-content 改为单列布局, 任务列表占满可用宽度
2026-11-02 15:45:35 +08:00