diff --git a/apps/desktop/electron-builder.json5 b/apps/desktop/electron-builder.json5 index 6f76c70..9fd568c 100644 --- a/apps/desktop/electron-builder.json5 +++ b/apps/desktop/electron-builder.json5 @@ -24,13 +24,10 @@ nsis: { oneClick: false, perMachine: false, - allowElevation: true, allowToChangeInstallationDirectory: true, createDesktopShortcut: true, runAfterFinish: true, - shortcutName: "CvpilotAI", - guid:"cvpilot", - include: "./script/installer.nsh", + include: "./scripts/installer.nsh", deleteAppDataOnUninstall: false, }, linux: { diff --git a/apps/desktop/electron/main.ts b/apps/desktop/electron/main.ts index 41ff107..8037307 100644 --- a/apps/desktop/electron/main.ts +++ b/apps/desktop/electron/main.ts @@ -63,20 +63,21 @@ function createWindow() { if (VITE_DEV_SERVER_URL) { win.loadURL(VITE_DEV_SERVER_URL); } else { - win.loadFile(path.join(RENDERER_DIST, "index.html")); + win.loadFile(path.join(RENDERER_DIST, "index.html")).then(() => { + win?.webContents.openDevTools() + // 检查是否传递了路径 + if (process.argv.length >= 2) { + const folderPath = process.argv[1]; // 这是选中的目录路径 + console.log("Opened directory path:", folderPath); + win?.webContents.send('open-folder', process.argv); + } + }) } // pythonManager = new PythonManager(win, "http://127.0.0.1:15001", 3000); // registerIpcMainHandlers(win, pythonManager); - // 如果有传递路径,通过IPC传递给渲染进程 - if (process.argv.length >= 2) { - const folderPath = process.argv[1]; // 第二个参数是文件或文件夹路径 - console.log("Opened folder path:", folderPath); - // 你可以将路径发送到渲染进程 - win.webContents.send("open-folder", folderPath); - } } function createTray() { diff --git a/apps/desktop/package.json b/apps/desktop/package.json index b5fab2f..d812c78 100644 --- a/apps/desktop/package.json +++ b/apps/desktop/package.json @@ -31,7 +31,6 @@ "@types/react-icons": "^3.0.0", "@xenova/transformers": "^2.17.2", "antd": "^5.20.0", - "better-sqlite3": "^11.1.2", "class-variance-authority": "^0.7.0", "clsx": "^2.1.1", "cmdk": "^1.0.0", diff --git a/apps/desktop/scripts/installer.nsh b/apps/desktop/scripts/installer.nsh index d1af137..1555f30 100644 --- a/apps/desktop/scripts/installer.nsh +++ b/apps/desktop/scripts/installer.nsh @@ -1,8 +1,10 @@ +;安装时写入 !macro customInstall -WriteRegStr HKCR "*\shell\cvpilot" "" "Upload dicom w&ith cvpilot" -WriteRegStr HKCR "*\shell\cvpilot" "Icon" "$INSTDIR\cvpilot.exe" -WriteRegStr HKCR "*\shell\cvpilot\command" "" '"$INSTDIR\cvpilot.exe" "upload" "%1"' + WriteRegStr HKCR "Directory\shell\cvpilot" "" "使用cvpilot分析" + WriteRegStr HKCR "Directory\shell\cvpilot" "Icon" "$INSTDIR\cvpilot.exe" + WriteRegStr HKCR "Directory\shell\cvpilot\command" "" '"$INSTDIR\cvpilot.exe" "read" "%1"' !macroend +;卸载时清除 !macro customUninstall -DeleteRegKey HKCR "*\shell\cvpilot" + DeleteRegKey HKCR "Directory\shell\cvpilot" !macroend diff --git a/apps/desktop/src/App.tsx b/apps/desktop/src/App.tsx index 0fcdb47..21295fe 100644 --- a/apps/desktop/src/App.tsx +++ b/apps/desktop/src/App.tsx @@ -1,6 +1,6 @@ import { ThemeProvider } from "@/components/theme-provider"; import LayoutMain from "@/pages/Layout"; -import { BrowserRouter as Router, Routes, Route } from "react-router-dom"; +import { HashRouter as Router, Routes, Route } from "react-router-dom"; import Boot from "@/pages/Boot"; import { Setting } from "./pages/Setting"; import { useEffect } from "react"; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e045d86..edf193a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -70,9 +70,6 @@ importers: antd: specifier: ^5.20.0 version: 5.20.3(date-fns@3.6.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - better-sqlite3: - specifier: ^11.1.2 - version: 11.2.1 class-variance-authority: specifier: ^0.7.0 version: 0.7.0 @@ -1806,9 +1803,6 @@ packages: base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - better-sqlite3@11.2.1: - resolution: {integrity: sha512-Xbt1d68wQnUuFIEVsbt6V+RG30zwgbtCGQ4QOcXVrOH0FE4eHk64FWZ9NUfRHS4/x1PXqwz/+KOrnXD7f0WieA==} - big.js@6.2.1: resolution: {integrity: sha512-bCtHMwL9LeDIozFn+oNhhFoq+yQ3BNdnsLSASUxLciOb1vgvpHsIO1dsENiGMgbb4SkP5TrzWzRiLddn8ahVOQ==} @@ -1819,9 +1813,6 @@ packages: resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} engines: {node: '>=8'} - bindings@1.5.0: - resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} - bl@4.1.0: resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} @@ -2354,9 +2345,6 @@ packages: resolution: {integrity: sha512-QlZ5yJC0VxHxQQsQhXvBaC7VRJ2uaxTf+Tfpu4Z/OcVQJVpZO+DGU0rkoVW5ce2SccxugvpBJoMvUs59iILYdw==} engines: {node: '>= 12'} - file-uri-to-path@1.0.0: - resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} - filelist@1.0.4: resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==} @@ -5742,7 +5730,7 @@ snapshots: app-builder-bin@4.0.0: {} - app-builder-lib@24.13.3(dmg-builder@24.13.3(electron-builder-squirrel-windows@24.13.3(dmg-builder@24.13.3)))(electron-builder-squirrel-windows@24.13.3(dmg-builder@24.13.3)): + app-builder-lib@24.13.3(dmg-builder@24.13.3(electron-builder-squirrel-windows@24.13.3))(electron-builder-squirrel-windows@24.13.3(dmg-builder@24.13.3)): dependencies: '@develar/schema-utils': 2.6.5 '@electron/notarize': 2.2.1 @@ -5756,7 +5744,7 @@ snapshots: builder-util-runtime: 9.2.4 chromium-pickle-js: 0.2.0 debug: 4.3.6 - dmg-builder: 24.13.3(electron-builder-squirrel-windows@24.13.3(dmg-builder@24.13.3)) + dmg-builder: 24.13.3(electron-builder-squirrel-windows@24.13.3) ejs: 3.1.10 electron-builder-squirrel-windows: 24.13.3(dmg-builder@24.13.3) electron-publish: 24.13.1 @@ -5892,21 +5880,12 @@ snapshots: base64-js@1.5.1: {} - better-sqlite3@11.2.1: - dependencies: - bindings: 1.5.0 - prebuild-install: 7.1.2 - big.js@6.2.1: {} bignumber.js@9.1.2: {} binary-extensions@2.3.0: {} - bindings@1.5.0: - dependencies: - file-uri-to-path: 1.0.0 - bl@4.1.0: dependencies: buffer: 5.7.1 @@ -6243,9 +6222,9 @@ snapshots: dlv@1.1.3: {} - dmg-builder@24.13.3(electron-builder-squirrel-windows@24.13.3(dmg-builder@24.13.3)): + dmg-builder@24.13.3(electron-builder-squirrel-windows@24.13.3): dependencies: - app-builder-lib: 24.13.3(dmg-builder@24.13.3(electron-builder-squirrel-windows@24.13.3(dmg-builder@24.13.3)))(electron-builder-squirrel-windows@24.13.3(dmg-builder@24.13.3)) + app-builder-lib: 24.13.3(dmg-builder@24.13.3(electron-builder-squirrel-windows@24.13.3))(electron-builder-squirrel-windows@24.13.3(dmg-builder@24.13.3)) builder-util: 24.13.1 builder-util-runtime: 9.2.4 fs-extra: 10.1.0 @@ -6313,7 +6292,7 @@ snapshots: electron-builder-squirrel-windows@24.13.3(dmg-builder@24.13.3): dependencies: - app-builder-lib: 24.13.3(dmg-builder@24.13.3(electron-builder-squirrel-windows@24.13.3(dmg-builder@24.13.3)))(electron-builder-squirrel-windows@24.13.3(dmg-builder@24.13.3)) + app-builder-lib: 24.13.3(dmg-builder@24.13.3(electron-builder-squirrel-windows@24.13.3))(electron-builder-squirrel-windows@24.13.3(dmg-builder@24.13.3)) archiver: 5.3.2 builder-util: 24.13.1 fs-extra: 10.1.0 @@ -6323,11 +6302,11 @@ snapshots: electron-builder@24.13.3(electron-builder-squirrel-windows@24.13.3(dmg-builder@24.13.3)): dependencies: - app-builder-lib: 24.13.3(dmg-builder@24.13.3(electron-builder-squirrel-windows@24.13.3(dmg-builder@24.13.3)))(electron-builder-squirrel-windows@24.13.3(dmg-builder@24.13.3)) + app-builder-lib: 24.13.3(dmg-builder@24.13.3(electron-builder-squirrel-windows@24.13.3))(electron-builder-squirrel-windows@24.13.3(dmg-builder@24.13.3)) builder-util: 24.13.1 builder-util-runtime: 9.2.4 chalk: 4.1.2 - dmg-builder: 24.13.3(electron-builder-squirrel-windows@24.13.3(dmg-builder@24.13.3)) + dmg-builder: 24.13.3(electron-builder-squirrel-windows@24.13.3) fs-extra: 10.1.0 is-ci: 3.0.1 lazy-val: 1.0.5 @@ -6557,8 +6536,6 @@ snapshots: dependencies: tslib: 2.7.0 - file-uri-to-path@1.0.0: {} - filelist@1.0.4: dependencies: minimatch: 5.1.6