From 8297829be6337f481412642262b5df2cfc1899be Mon Sep 17 00:00:00 2001 From: Syngnat Date: Sat, 11 Apr 2026 21:53:51 +0800 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20feat(driver):=20=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E9=A9=B1=E5=8A=A8=E7=9B=AE=E5=BD=95=E7=9B=B4=E8=BE=BE=E5=85=A5?= =?UTF-8?q?=E5=8F=A3=E4=B8=8E=E6=89=8B=E5=8A=A8=E5=AF=BC=E5=85=A5=E6=8F=90?= =?UTF-8?q?=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes #306 --- .../src/components/DriverManagerModal.tsx | 23 ++++++++++++++ frontend/src/main.tsx | 1 + frontend/wailsjs/go/app/App.d.ts | 2 ++ frontend/wailsjs/go/app/App.js | 4 +++ internal/app/methods_driver.go | 31 +++++++++++++++++++ 5 files changed, 61 insertions(+) diff --git a/frontend/src/components/DriverManagerModal.tsx b/frontend/src/components/DriverManagerModal.tsx index 9516e31..bb15d9c 100644 --- a/frontend/src/components/DriverManagerModal.tsx +++ b/frontend/src/components/DriverManagerModal.tsx @@ -11,6 +11,7 @@ import { GetDriverVersionPackageSize, GetDriverStatusList, InstallLocalDriverPackage, + OpenDriverDownloadDirectory, RemoveDriverPackage, SelectDriverPackageDirectory, SelectDriverPackageFile, @@ -948,6 +949,18 @@ const DriverManagerModal: React.FC<{ open: boolean; onClose: () => void; onOpenG message.error(`目录导入失败${forceTip}:失败 ${failCount}${skipTip}`); }, [appendOperationLog, downloadDir, forceOverwriteInstalled, installDriverFromLocalPath, refreshStatus, rows]); + const openDriverDirectory = useCallback(async () => { + try { + const res = await OpenDriverDownloadDirectory(downloadDir); + if (!res?.success) { + throw new Error(res?.message || '打开驱动目录失败'); + } + } catch (error) { + const errMsg = error instanceof Error ? error.message : String(error || '未知错误'); + message.error(`打开驱动目录失败: ${errMsg}`); + } + }, [downloadDir]); + const openDriverLog = useCallback((driverType: string) => { const normalized = String(driverType || '').trim().toLowerCase(); if (!normalized) { @@ -1360,10 +1373,14 @@ const DriverManagerModal: React.FC<{ open: boolean; onClose: () => void; onOpenG children: ( 自动下载和手动导入的驱动都会落盘到以下目录;后续版本升级可重复复用已下载驱动。 + 如果应用内下载链路失败,可先手动下载驱动包到该目录,再使用“本地导入”或“导入驱动目录”完成安装。 行内“本地导入”仅用于单个驱动文件/总包(如 `mariadb-driver-agent`、`mariadb-driver-agent.exe`、`GoNavi-DriverAgents.zip`);批量导入请使用上方“导入驱动目录”。 驱动根目录:{downloadDir || '-'} + {networkStatus?.logPath ? ( 运行日志文件:{networkStatus.logPath} @@ -1392,6 +1409,12 @@ const DriverManagerModal: React.FC<{ open: boolean; onClose: () => void; onOpenG onChange={(checked) => setForceOverwriteInstalled(checked)} disabled={batchDirectoryImporting} /> +