From 053a950518196695fd4d043b63f2275ac73bf030 Mon Sep 17 00:00:00 2001 From: beierweiwei <364704059@qq.com> Date: Thu, 12 Nov 2026 11:56:00 +0800 Subject: [PATCH] =?UTF-8?q?Update=20plugin=20=E5=A4=A7=E5=8F=A4=E6=88=AA?= =?UTF-8?q?=E5=9B=BE=20v1.2.3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - feat: restore OCR translation support - feat: add translation provider language profiles - feat: improve OCR window layout and editor sizing - feat: improve OCR plugin flows and window handling - fix: repair editor window close flow and add preview collapse - feat: add provider setup guide to settings panel - feat: add first-use setup command and auto-open config panel - fix: improve OCR editor workflows - feat: rename plugin and update logo - chore: prepare plugin for ZTools submission - docs: add plugin submission screenshots - feat: add editor download & zoom/pan, English commands, user README - test: add SettingsStore cross-machine sync coverage - chore: bump plugin version to 1.1.0 and update changelog - chore: publish plugin from source root and ship user README - feat: 重写截图为沉浸式标注器,主题色收敛(v1.2.0) - chore: 移除无引用的旧界面截图,README 改引用当前标注界面 - fix: 截图导出按视口坐标裁剪,修复高分屏选区内容错位 - chore: bump plugin version to 1.2.1 and update changelog - chore: 沉淀 ztools publish 本机网络故障排查与代理注入脚本 - fix: HDR 截图全白时回退系统截图 - chore: 排除插件包内发布辅助文件 - docs: keep official release guide in plugin package - chore: preserve official release guide bytes - docs: record full fork cache recovery flow - feat: 增强固定截图右键操作 - chore: bump plugin version to 1.2.3 - docs: 展示固定截图右键菜单 - fix: 保留固定图子窗口直到识别完成 - fix: 固定期间保留插件主视图 --- plugins/dagu-ocr/CHANGELOG.md | 11 +++ plugins/dagu-ocr/README.md | 6 +- .../docs/screenshots/pin-context-menu.png | Bin 0 -> 94646 bytes plugins/dagu-ocr/pin.html | 28 ++++++- plugins/dagu-ocr/plugin.json | 2 +- plugins/dagu-ocr/src/capture/pin.js | 69 +++++++++++++++++- plugins/dagu-ocr/src/main.js | 58 +++++++++++++-- 7 files changed, 163 insertions(+), 11 deletions(-) create mode 100644 plugins/dagu-ocr/docs/screenshots/pin-context-menu.png diff --git a/plugins/dagu-ocr/CHANGELOG.md b/plugins/dagu-ocr/CHANGELOG.md index a61fb84e2..21330837f 100644 --- a/plugins/dagu-ocr/CHANGELOG.md +++ b/plugins/dagu-ocr/CHANGELOG.md @@ -1,5 +1,16 @@ # Changelog +## 1.2.3 - 2026-11-12 + +### 新增 + +- 固定截图支持右键菜单:复制、删除、编辑、OCR 与翻译;编辑以当前固定图片重新进入标注器,OCR / 翻译会回到主页面处理。 + +### 修复 + +- 修复固定截图被普通窗口遮挡和拖动不跟随的问题:创建固定窗口后重新声明置顶,并禁用图片原生拖拽,让指针拖动始终移动窗口。 +- 修复固定截图右键 OCR / 翻译可能无响应的问题:固定期间不再退出插件主视图,并等待识别处理完成后再关闭固定子窗口,避免宿主回收插件进程或把主窗口保持在 0 高度。 + ## 1.2.2 - 2026-11-11 ### 修复 diff --git a/plugins/dagu-ocr/README.md b/plugins/dagu-ocr/README.md index e92e70bbf..5dcb8d67e 100644 --- a/plugins/dagu-ocr/README.md +++ b/plugins/dagu-ocr/README.md @@ -5,7 +5,7 @@ 常见用法举几个例子: - 想给别人圈重点 → 截图后直接在全屏画面上框选、画矩形/箭头、加文字,再复制成图片发出去。 -- 想把截图钉在屏幕上做参考 → 截图后点「固定」,图片会置顶显示,可拖动、滚轮缩放。 +- 想把截图钉在屏幕上做参考 → 截图后点「固定」,图片会置顶显示,可拖动、滚轮缩放,右键还能继续复制、编辑、OCR 或翻译。 - 随手截了张图想裁剪、打马赛克 → 用「编辑图片」就地处理。 - 截图里的字看不清,想变成可复制文本 → 截图后点「图片 OCR」。 - 遇到一段英文/日文,想看懂 → 选中图片点「翻译」,或直接在输入框里粘贴文字翻译。 @@ -20,6 +20,10 @@ ![图片编辑:同一套标注界面](./docs/screenshots/editor.png) +固定截图:右键可直接复制、删除、编辑、OCR 或翻译;「编辑」会以这张固定图重新进入标注器。 + +![固定截图右键菜单](./docs/screenshots/pin-context-menu.png) + 主工作区:左边是当前图片(可滚轮放大、拖动查看),右边是识别结果(可直接编辑),左右等宽;图片标题行可复制图片,下方可以复制结果、重新识别或翻译。 ![主工作区:图片识别与结果](./docs/screenshots/main-ocr.png) diff --git a/plugins/dagu-ocr/docs/screenshots/pin-context-menu.png b/plugins/dagu-ocr/docs/screenshots/pin-context-menu.png new file mode 100644 index 0000000000000000000000000000000000000000..947ccebe77cd0c85e3d97c5bf5e017421a86508f GIT binary patch literal 94646 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 + diff --git a/plugins/dagu-ocr/plugin.json b/plugins/dagu-ocr/plugin.json index 623e3b9b9..4ae7cead0 100644 --- a/plugins/dagu-ocr/plugin.json +++ b/plugins/dagu-ocr/plugin.json @@ -1,7 +1,7 @@ { "name": "dagu-ocr", "title": "大古截图", - "version": "1.2.2", + "version": "1.2.3", "description": "截图、OCR 文字识别与图片翻译,从图片中提取并翻译文字", "author": "beierweiwei", "logo": "icon.png", diff --git a/plugins/dagu-ocr/src/capture/pin.js b/plugins/dagu-ocr/src/capture/pin.js index 8c6245f28..ff7a4c6c1 100644 --- a/plugins/dagu-ocr/src/capture/pin.js +++ b/plugins/dagu-ocr/src/capture/pin.js @@ -1,6 +1,7 @@ // 固定到屏幕的图片窗口:拖动移动、滚轮缩放、双击/Esc 关闭。 import { readEditorImage } from '../editor-image-handoff.js'; +import { copyImageDataUrl } from '../clipboard-image.js'; const win = globalThis.window; const params = new URLSearchParams(win.location.search); @@ -10,10 +11,14 @@ const pinKey = params.get('pinKey') || ''; const image = document.getElementById('pin-image'); const closeButton = document.getElementById('pin-close'); const hint = document.getElementById('pin-hint'); +const menu = document.getElementById('pin-menu'); let dragging = false; let dragOffset = { x: 0, y: 0 }; let hintTimer = null; +let imageDataUrl = ''; + +image.draggable = false; function send(event, payload = {}) { const host = win.ztools || win.utools; @@ -46,11 +51,47 @@ function showHint(message) { hintTimer = setTimeout(() => hint.classList.remove('visible'), 1800); } +function hideMenu() { + menu.hidden = true; +} + +function showMenu(x, y) { + if (!imageDataUrl) return; + menu.hidden = false; + const rect = menu.getBoundingClientRect(); + const left = Math.max(4, Math.min(x, win.innerWidth - rect.width - 4)); + const top = Math.max(4, Math.min(y, win.innerHeight - rect.height - 4)); + menu.style.left = `${left}px`; + menu.style.top = `${top}px`; + menu.querySelector('button')?.focus?.(); +} + +async function handleMenuAction(action) { + hideMenu(); + if (action === 'copy') { + showHint(await copyImageDataUrl(win, imageDataUrl) ? '已复制到剪贴板' : '复制失败'); + return; + } + if (action === 'delete') { + closeSelf(); + return; + } + if (action === 'edit' || action === 'ocr' || action === 'translate') { + send('pinAction', { action }); + } +} + image.addEventListener('pointerdown', (event) => { if (event.button !== 0) return; + // Chromium 里 img 默认可原生拖拽;不阻止默认行为会抢占 pointermove,表现为拖图片而不是拖窗口。 + event.preventDefault(); dragging = true; dragOffset = { x: event.screenX - win.screenX, y: event.screenY - win.screenY }; - image.setPointerCapture?.(event.pointerId); + try { + image.setPointerCapture?.(event.pointerId); + } catch { + // 合成指针没有活动指针时允许测试/辅助技术触发同样逻辑。 + } }); win.addEventListener('pointermove', (event) => { @@ -65,7 +106,28 @@ win.addEventListener('pointerup', () => { dragging = false; }); +image.addEventListener('contextmenu', (event) => { + event.preventDefault(); + showMenu(event.clientX, event.clientY); +}); + +win.addEventListener('contextmenu', (event) => { + if (event.target === image) return; + event.preventDefault(); + hideMenu(); +}); + +document.addEventListener('pointerdown', (event) => { + if (!menu.hidden && !menu.contains(event.target)) hideMenu(); +}, true); + +menu.addEventListener('click', (event) => { + const action = event.target instanceof Element ? event.target.dataset.action : ''; + if (action) void handleMenuAction(action); +}); + win.addEventListener('wheel', (event) => { + if (!menu.hidden) return; event.preventDefault(); send('pinZoom', { factor: event.deltaY < 0 ? 1.1 : 1 / 1.1, @@ -77,6 +139,10 @@ win.addEventListener('wheel', (event) => { win.addEventListener('dblclick', () => closeSelf()); win.addEventListener('keydown', (event) => { + if (event.key === 'Escape' && !menu.hidden) { + hideMenu(); + return; + } if (event.key === 'Escape') closeSelf(); }); @@ -87,6 +153,7 @@ readEditorImage(pinKey, false).then((dataUrl) => { closeSelf(); return; } + imageDataUrl = dataUrl; image.src = dataUrl; showHint('滚轮缩放 · 拖动移动 · 双击或 Esc 关闭'); }); diff --git a/plugins/dagu-ocr/src/main.js b/plugins/dagu-ocr/src/main.js index 611147445..055cdd8c0 100644 --- a/plugins/dagu-ocr/src/main.js +++ b/plugins/dagu-ocr/src/main.js @@ -24,6 +24,7 @@ let controller; // ── 覆盖层窗口:截图与图片编辑共用同一套窗口生命周期 ── let activeOverlay = null; const pinWindows = new Map(); +let pinMainWindowRestored = false; function editorWindowSize(imageUrl) { const clamp = (width, height) => ({ @@ -213,7 +214,8 @@ function openPinWindow({ imageUrl, bounds }) { fullscreenable: false, skipTaskbar: true, hasShadow: false, - alwaysOnTop: true, + // Windows/Electron 从构造参数进入置顶态可能不落 native z-order,先显式关闭再打开。 + alwaysOnTop: false, title: '固定截图', webPreferences: { preload: 'preload.js', @@ -224,9 +226,18 @@ function openPinWindow({ imageUrl, bounds }) { console.warn('创建固定窗口失败:', error); } if (!child) return false; + try { + // ZTools 插件子窗口会弱化创建参数里的置顶状态,创建后需重新声明。 + child.setAlwaysOnTop?.(false); + child.setAlwaysOnTop?.(true); + child.moveTop?.(); + } catch (error) { + console.warn('固定窗口置顶失败:', error); + } pinWindows.set(pinId, { child, + imageUrl, base: { width, height }, zoom: 1, bounds: { ...position, width, height } @@ -243,6 +254,17 @@ function applyPinBounds(entry, nextBounds) { } } +function closePinWindow(pinId) { + const entry = pinWindows.get(pinId); + if (!entry) return; + try { + entry.child?.close?.(); + } catch { + // 窗口已关闭时忽略。 + } + pinWindows.delete(pinId); +} + function handlePinMessage(message) { const entry = pinWindows.get(message.pinId); if (!entry) return; @@ -273,17 +295,39 @@ function handlePinMessage(message) { return; } if (message.event === 'pinClose') { - try { - entry.child?.close?.(); - } catch { - // 窗口已关闭时忽略。 + closePinWindow(message.pinId); + if (pinWindows.size === 0 && !pinMainWindowRestored) controller.exitPlugin(); + return; + } + if (message.event === 'pinAction') { + const action = message.action; + if (action === 'edit') { + void openEditorWindow(entry.imageUrl).finally(() => closePinWindow(message.pinId)); + return; + } + if (action === 'ocr' || action === 'translate') { + // OCR / 翻译会异步调用 Provider;固定子窗口必须等主页面处理完成后再关闭, + // 否则最后一个子窗口销毁后宿主可能回收插件进程,让识别请求静默中断。 + void (async () => { + const restore = win?.ztools?.showMainWindow || win?.utools?.showMainWindow; + if (typeof restore === 'function') { + try { + await restore(); + pinMainWindowRestored = true; + } catch (error) { + console.warn('恢复主窗口失败:', error); + } + } + await controller.handleEditedImage(entry.imageUrl, action); + })().finally(() => closePinWindow(message.pinId)); + return; } - pinWindows.delete(message.pinId); } } // ── 截图:沉浸式覆盖层直接在全屏冻结画面上框选、标注 ── function startScreenshotFlow() { + pinMainWindowRestored = false; hideMainWindow(); controller.showStatus('正在准备截图...'); closeOverlayWindow(); @@ -418,7 +462,7 @@ function handleEditorMessage(message) { if (message.event === 'closed') { closeOverlayWindow(); if (message.returnInput || message.returnToInput) showMainWindow(); - else controller.exitPlugin(); + else if (pinWindows.size === 0) controller.exitPlugin(); return true; } return false;

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 MyoOx0jCtt)0o)`lD*ylh literal 0 HcmV?d00001 diff --git a/plugins/dagu-ocr/pin.html b/plugins/dagu-ocr/pin.html index 49e63a34d..7d43e354b 100644 --- a/plugins/dagu-ocr/pin.html +++ b/plugins/dagu-ocr/pin.html @@ -12,7 +12,10 @@ cursor: move; user-select: none; } - #pin-image { width: 100%; height: 100%; display: block; object-fit: fill; } + #pin-image { + width: 100%; height: 100%; display: block; object-fit: fill; + touch-action: none; -webkit-user-drag: none; + } #pin-close { position: fixed; top: 6px; right: 6px; width: 26px; height: 26px; @@ -32,12 +35,35 @@ opacity: 0; transition: opacity .18s ease; pointer-events: none; } #pin-hint.visible { opacity: 1; } + #pin-menu { + position: fixed; z-index: 20; min-width: 108px; padding: 4px; + max-height: calc(100% - 8px); overflow-y: auto; + display: flex; flex-direction: column; gap: 2px; + border: 1px solid rgba(148, 163, 184, .32); border-radius: 10px; + background: rgba(17, 20, 24, .94); box-shadow: 0 12px 30px rgba(15, 23, 42, .32); + backdrop-filter: blur(8px); + } + #pin-menu[hidden] { display: none; } + #pin-menu button { + display: flex; align-items: center; min-height: 26px; padding: 0 10px; + border: none; border-radius: 7px; background: transparent; color: #e5e7eb; + font: 400 12px/1 Inter, "Segoe UI", "Microsoft YaHei", sans-serif; + cursor: pointer; text-align: left; + } + #pin-menu button:hover, #pin-menu button:focus-visible { background: #0ea5e9; color: #fff; outline: none; } 固定截图