v1.5.1: 文传易外链+缩略图改截预览webview+工程整体加密+缩略图压缩

- 配置按钮组新增「文传易」外链(关于之前,系统浏览器打开 http://wenchuanyi.bbitcn.net/)
- 缩略图改为对编辑区预览 webview 直接截图(所见即所得),非当前预览页回退按 URL 截图
- 工程 JSON 整体加密(AES-256-GCM,enc:v1: 覆盖整个 JSON)
- 缩略图压缩 ≤500KB(PNG→JPEG)
- 版本号升至 1.5.1(同步 settings/utils/store/ProjectInfo/AboutPanel 默认值)
- 更新开发进度存档与 MEMORY 至 v1.5.1
This commit is contained in:
2026-08-23 18:40:54 +08:00
parent e0d96051f1
commit ef6075a810
19 changed files with 255 additions and 60 deletions
+8 -8
View File
@@ -18,8 +18,8 @@
- dev.log / dev-err.log 留在 SmartAgriCenter 根目录,受 SafeDelete 保护,无害。
## 架构要点
- 三进程:`src/main/`(index.ts 无边框主窗+单实例锁;ipc.ts 全部 IPC+未保存关闭守卫;screens.ts 屏幕窗口/轮播/WebContentsView 主屏全屏/probesettings.ts 配置持久化 userData/settings.jsoncrypto.ts AES-256-GCM 密码加密页面 URL/参数project.tsshortcuts.tsloader.ts)。
- preload`window.api`win/screens/project/key/syncProject/setDirty/beep/createShortcut/confirm/carousel/page.snapshot/settings)。
- 三进程:`src/main/`(index.ts 无边框主窗+单实例锁;ipc.ts 全部 IPC+未保存关闭守卫,含 page:snapshot/page:compress/clipboard:write/shell:openExternalscreens.ts 屏幕窗口/轮播/WebContentsView 主屏全屏/probesettings.ts 配置持久化 userData/settings.jsoncrypto.ts AES-256-GCM **整体加密整个工程 JSON**v1.5.0 起)project.tsshortcuts.tsloader.ts)。
- preload`window.api`win/screens/project/key/syncProject/setDirty/beep/createShortcut/confirm/carousel/clipboard/shell/page.snapshot/page.compress/settings)。
- rendererzustand storepages/屏幕/视图/settings);视图仅 `'edit' | 'config'`(发布 Tab 已并入编辑 Tab Ribbon);Webview 用 `document.createElement('webview')` 封装。
- 页面 JSON 字段含 `PagePreview`Base64 截图),项目文件存 `.json`
@@ -34,16 +34,16 @@
- 改完 WebFrame 相关代码需重启 devHMR 不重建已存在 webview)。
- **electron-vite dev 修改 src/main/preload 不会自动重启 electron**,需手动杀掉 dev 进程组(npm-cli→electron-vite→electron)再重新启动;仅 renderer 改动走 HMR 无需重启。
## 版本号与打包(2026-08-23 新
- 版本号单一来源 = `package.json version`(当前 **0.2.0**2026-08-23 从 0.1.0 升级,因新增交互发布+多项 bug 修复);主进程 `app.getVersion()`;标题栏显示「系统版本号 vX.Y.Z」;任务栏标题由 `did-finish-load``setTitle` 兜底(页面 `<title>` 会覆盖构造标题)。版本号其他兜底引用:`main/settings.ts` 默认 projectVersion、`renderer/utils.ts` fallback、`AboutPanel`/`ProjectInfo` fallback+placeholder,升级时需同步;**项目 JSON 文件内 version 字段是用户数据不动**。
## 版本号与打包(2026-08-23 新)
- 版本号单一来源 = `package.json version`(当前 **1.5.1**2026-08-23 从 0.1.0→0.2.0→1.5.1);主进程 `app.getVersion()`;标题栏显示「系统版本号 vX.Y.Z」;任务栏标题由 `did-finish-load``setTitle` 兜底(页面 `<title>` 会覆盖构造标题)。版本号其他兜底引用:`main/settings.ts` 默认 projectVersion、`renderer/utils.ts` fallback、`AboutPanel`/`ProjectInfo` fallback+placeholder,升级时需同步;**项目 JSON 文件内 version 字段是用户数据不动**。
- 文档三件套(均在根目录,无扩展名):`项目需求`v3.0,✅/⏳ 标注)、`开发进度存档`**跨会话恢复入口**)、`指令清单`(历史,已全部实现)。
- 已实现功能全景(v0.2.0):Ribbon 三组(项目/页面/发布)、项目组含**新建**(默认 1 个空白页面,另存为才落地)、发布 7 按钮(预览本页/单屏发布[可轮播]/多屏发布[alsoMain]/交互发布[主屏轮流投屏]/停止轮播/关闭所有/检测屏幕,**其中预览/单屏/多屏/交互 4 按钮为统一线性 SVG 显示器族图标**)、配置 6 菜单(项目信息/遥控设置[阈值+锁定键]/快捷方式×3/发布设置/设备测试[键/音/麦/屏]/关于)、快捷键(1-9 长按>阈值、↑↓、Esc、F5、锁定键)、AES-256-GCM 密码加密、标题栏版本号(package.json 单一来源)、编辑预览 WebFrame `key={src}` 重建(防内容错位)、`window.__store` 全局调试接口、属性面板 URL 输入框 3 行/页面参数 4 行无水印
- 已实现功能全景(v1.5.1):Ribbon 三组(项目/页面/发布)、项目组含**新建**(默认 1 个空白页面,另存为才落地)、发布 7 按钮(预览本页/单屏发布[可轮播]/多屏发布[alsoMain]/交互发布[主屏轮流投屏]/停止轮播/关闭所有/检测屏幕,**其中预览/单屏/多屏/交互 4 按钮为统一线性 SVG 显示器族图标**)、配置 6 菜单(项目信息/遥控设置[阈值+锁定键]/快捷方式×3/发布设置/设备测试[键/音/麦/屏]/关于/**文传易外链**)、快捷键(1-9 长按>阈值、↑↓、Esc、F5、锁定键)、AES-256-GCM **整体加密整个工程 JSON**、标题栏版本号(package.json 单一来源)、编辑预览 WebFrame `key={src}` 重建(防内容错位)、`window.__store` 全局调试接口、属性面板 URL 3 行/参数 4 行、新增页面默认值(url/params/desc 空、screen/ctrl=当前最大值+1)、版本号快捷操作(nextMajor/Minor/Patch、保存修订号+1)、**缩略图截预览 webview(所见即所得,`wv.capturePage()`→IPC page:compress→≤500KB JPEG**、复制走 IPC `clipboard:write`、打开工程防抖
- **未实现/规划**:项目导入/导出、代码视图/页面视图切换、遥控器硬件对接、帮助文档入口。
- 绿色版打包已完成(2026-08-23electron-builder@26.15.3 已装,**产物为 v0.1.0**):`npm run dist``release\智慧农业大数据可视化控制中心-0.1.0-win.zip`(绿色免安装,当前 **128.9MB**+ `release\win-unpacked\`。应用图标 `build/icon.ico` 已配置。瘦身:`compression: maximum` + `scripts/afterPack.js` 裁剪 locales55→3zip 139.7→128.9MB。**升级到 0.2.0 后需重新 `npm run dist`**
- **⚠️ 打包必读**:每次 `npm run dist` 前必须 `[System.IO.Directory]::Delete(...,$true)` 删掉旧 `release/`SafeDelete 守卫会拦批量删除并导致打包卡死);打包前设 `$env:ELECTRON_BUILDER_BINARIES_MIRROR="https://npmmirror.com/mirrors/electron-builder-binaries/"`。详见根目录 `开发进度存档` §4。
- 绿色版打包已完成(2026-08-23electron-builder@26.15.3 已装,**产物为 v1.5.1**):`npm run dist``release\智慧农业大数据可视化控制中心-1.5.1-win.zip`(绿色免安装,当前 **135.1MB**+ `release\win-unpacked\`。应用图标 `build/icon.ico` 已配置。瘦身:`compression: maximum` + `scripts/afterPack.js` 裁剪 locales55→3)。
- **⚠️ 打包必读**:每次 `npm run dist` 前必须删旧 `release/``cmd /c rmdir /s /q <release路径>`SafeDelete 守卫会拦批量删除并导致打包卡死`.NET API` 写法的 `$true`/`$_` 会被外层 shell 展开报错,避免用);打包前设 `$env:ELECTRON_BUILDER_BINARIES_MIRROR="https://npmmirror.com/mirrors/electron-builder-binaries/"`。详见根目录 `开发进度存档` §4。
## 待办/候选开发点(截至 2026-08-23
1. 页面预览图实际截图流程实测page:snapshot 依赖 URL 可加载)。
1. 页面预览图截图流程实测通过(2026-08-23 改为截预览 webview,所见即所得)。
2. 遥控器模拟界面视觉美化。
3. 项目 JSON 导入/导出。
4. 代码视图/页面视图切换、遥控器硬件对接、帮助文档入口。