From ca89e27084d49f7ceac54e6ed325c603a22841cf Mon Sep 17 00:00:00 2001 From: LiRuoChen <571244399@qq.com> Date: Sun, 30 Aug 2026 23:48:59 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=89=98=E7=9B=98=E5=88=9D?= =?UTF-8?q?=E5=A7=8B=E5=8C=96=E5=A4=B1=E8=B4=A5=EF=BC=9A=E5=85=BC=E5=AE=B9?= =?UTF-8?q?=20systray2=20v2.x=20=E7=9A=84=20default=20=E5=AF=BC=E5=87=BA?= =?UTF-8?q?=E5=BD=A2=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit systray2 v2.x 将 SysTray 类放在 module.exports.default 上而非命名导出, 原解构方式导致启动时报 SysTray is not a constructor,托盘无法常驻。 --- token-meter/tray.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/token-meter/tray.js b/token-meter/tray.js index a4a773f..4612bb0 100644 --- a/token-meter/tray.js +++ b/token-meter/tray.js @@ -52,7 +52,9 @@ function startTray(callbacks) { try { const iconPath = path.join(__dirname, 'assets', 'token-meter.ico'); const iconBase64 = fs.readFileSync(iconPath).toString('base64'); - const { SysTray } = require('systray2'); + // systray2 v2.x 把 SysTray 类放在 module.exports.default 上,兼容旧版命名导出与直接函数导出 + const mod = require('systray2'); + const SysTray = typeof mod === 'function' ? mod : (typeof mod.SysTray === 'function' ? mod.SysTray : mod.default); systray = new SysTray({ menu: { icon: iconBase64,