修复托盘初始化失败:兼容 systray2 v2.x 的 default 导出形态

systray2 v2.x 将 SysTray 类放在 module.exports.default 上而非命名导出,
原解构方式导致启动时报 SysTray is not a constructor,托盘无法常驻。
This commit is contained in:
2026-08-30 23:48:59 +08:00
parent ebd51bc8f6
commit ca89e27084
+3 -1
View File
@@ -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,