From 47259509336eb5e94f263cdb254850f4ae744548 Mon Sep 17 00:00:00 2001 From: yuchenglong Date: Fri, 5 Dec 2025 16:36:56 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=BA=94=E7=94=A8=E9=80=80?= =?UTF-8?q?=E5=87=BA=E5=8A=9F=E8=83=BD=EF=BC=8C=E6=94=AF=E6=8C=81=E9=80=9A?= =?UTF-8?q?=E8=BF=87=E9=95=BF=E6=8C=89=E8=A7=A6=E6=91=B8=E4=BA=8B=E4=BB=B6?= =?UTF-8?q?=E8=A7=A6=E5=8F=91=E9=80=80=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- electron/main.js | 8 ++++++++ electron/preload.js | 1 + src/App.tsx | 3 ++- src/electron.d.ts | 1 + 4 files changed, 12 insertions(+), 1 deletion(-) diff --git a/electron/main.js b/electron/main.js index 8cc49f2..17703ef 100644 --- a/electron/main.js +++ b/electron/main.js @@ -372,6 +372,14 @@ app.whenReady().then(() => { app.relaunch(); app.exit(0); }); + ipcMain.on("quit-app", () => { + try { + app.quit(); + } catch (err) { + // 最后手段:强制退出 + app.exit(0); + } + }); app.on("activate", () => { if (BrowserWindow.getAllWindows().length === 0) { diff --git a/electron/preload.js b/electron/preload.js index ee1b5ab..40a3353 100644 --- a/electron/preload.js +++ b/electron/preload.js @@ -20,4 +20,5 @@ contextBridge.exposeInMainWorld("electronAPI", { ipcRenderer.removeAllListeners("idcard-error"); }, restartApp: () => ipcRenderer.send("restart-app"), + quitApp: () => ipcRenderer.send("quit-app"), }); diff --git a/src/App.tsx b/src/App.tsx index 2be3291..f8196bd 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -39,7 +39,8 @@ function App() { const handleTouchStart = () => { restartTimerRef.current = window.setTimeout(() => { - window.electronAPI.restartApp(); + // 长按 5 秒改为关闭应用 + window.electronAPI.quitApp(); }, 5000); }; diff --git a/src/electron.d.ts b/src/electron.d.ts index 27ae0d3..ec3a779 100644 --- a/src/electron.d.ts +++ b/src/electron.d.ts @@ -28,6 +28,7 @@ interface ElectronAPI { log: (level: string, message: any) => void; removeIdCardListeners: () => void; restartApp: () => void; + quitApp: () => void; } interface Window {