From 9fd80c4fb275058b1fe62e6cb656bea2cf92c1db Mon Sep 17 00:00:00 2001
From: kaineooo <980141374@qq.com>
Date: Fri, 10 Jul 2026 21:32:59 +0800
Subject: [PATCH] =?UTF-8?q?Update=20plugin=20ZTools=20=E6=8F=90=E4=BE=9B?=
=?UTF-8?q?=E5=95=86=20v1.0.1?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
- feat: ZTools OCR + 翻译提供商插件(截图识别 / 代码翻译 / manage)
- chore: 调整插件命名空间
- chore: 调整资源url
- feat: 微信 OCR 原生模块支持 macOS(libwxocr.dylib)
- feat: 截图识别结果改为独立窗口展示(左图右文 + 拖动缩放)
---
plugins/f-provider/public/plugin.json | 10 +-
plugins/f-provider/public/preload/services.js | 30 +
plugins/f-provider/screen-ocr-result.html | 12 +
plugins/f-provider/src/env.d.ts | 6 +
plugins/f-provider/src/screenOcrResult.ts | 23 +
plugins/f-provider/src/views/ScreenOcr.vue | 398 ++++++---
.../f-provider/src/views/ScreenOcrResult.vue | 841 ++++++++++++++++++
plugins/f-provider/vite.config.js | 22 +-
8 files changed, 1205 insertions(+), 137 deletions(-)
create mode 100644 plugins/f-provider/screen-ocr-result.html
create mode 100644 plugins/f-provider/src/screenOcrResult.ts
create mode 100644 plugins/f-provider/src/views/ScreenOcrResult.vue
diff --git a/plugins/f-provider/public/plugin.json b/plugins/f-provider/public/plugin.json
index 4dcaa083..820887b6 100644
--- a/plugins/f-provider/public/plugin.json
+++ b/plugins/f-provider/public/plugin.json
@@ -4,7 +4,7 @@
"title": "ZTools 提供商",
"description": "OCR + 翻译提供商集合(百度/谷歌/有道/微软翻译、微信 OCR)",
"author": "kaineooo",
- "version": "1.0.0",
+ "version": "1.0.1",
"main": "index.html",
"preload": "preload/services.js",
"logo": "logo.png",
@@ -44,9 +44,7 @@
"explain": "OCR 识别与翻译(关键词进入管理;图片/选中文本进入识别或翻译)",
"icon": "logo.png",
"cmds": [
- {
- "label": "ZTools 提供商"
- },
+ "ZTools 提供商",
{
"type": "img",
"label": "识别图片文字"
@@ -84,9 +82,7 @@
"icon": "logo.png",
"platform": ["win32", "darwin"],
"cmds": [
- {
- "label": "截图识别文字"
- }
+ "截图识别文字"
]
}
],
diff --git a/plugins/f-provider/public/preload/services.js b/plugins/f-provider/public/preload/services.js
index df206595..13e65e76 100644
--- a/plugins/f-provider/public/preload/services.js
+++ b/plugins/f-provider/public/preload/services.js
@@ -71,6 +71,36 @@ window.services = {
return filePath
},
+ // 插件 logo 绝对路径(用于 createBrowserWindow 的 icon,让子窗口任务栏/标题栏用插件图标)。
+ // logo.png 位于插件根目录(plugin.json 的 logo 字段)。
+ pluginLogoPath() {
+ return path.join(__dirname, '..', 'logo.png')
+ },
+
+ // 插件 logo 的 data URI(用于子窗口 展示图标,注入到渲染层)。
+ pluginLogoDataUrl() {
+ try {
+ const p = path.join(__dirname, '..', 'logo.png')
+ const buf = fs.readFileSync(p)
+ return 'data:image/png;base64,' + buf.toString('base64')
+ } catch (_) {
+ return ''
+ }
+ },
+
+ // 插件 logo 的 NativeImage 对象(用于 createBrowserWindow 的 icon)。
+ // Windows 下传字符串路径时任务栏按钮仍按 AppID 取宿主 exe 图标,
+ // 传 NativeImage 才能让任务栏真正显示插件图标。
+ pluginLogoNativeImage() {
+ try {
+ // ZTools 在 preload 提供 require('electron').nativeImage
+ const { nativeImage } = require('electron')
+ return nativeImage.createFromPath(path.join(__dirname, '..', 'logo.png'))
+ } catch (_) {
+ return null
+ }
+ },
+
// ─── 微信 OCR(基于 wechat_ocr.node 原生模块)─────────────────────────
// 原生模块懒加载:首次调用时才 require + init,避免插件加载即拉起
// WeChatOCR.exe 子进程(Windows)。
diff --git a/plugins/f-provider/screen-ocr-result.html b/plugins/f-provider/screen-ocr-result.html
new file mode 100644
index 00000000..c38207d9
--- /dev/null
+++ b/plugins/f-provider/screen-ocr-result.html
@@ -0,0 +1,12 @@
+
+
+