mirror of
https://gitee.com/dromara/electron-egg.git
synced 2026-05-14 19:52:10 +08:00
63 lines
1.3 KiB
JavaScript
63 lines
1.3 KiB
JavaScript
'use strict';
|
|
|
|
const {app, Tray, Menu} = require('electron');
|
|
const path = require('path');
|
|
const helper = require('./helper');
|
|
const config = require('../config');
|
|
|
|
/**
|
|
* 安装模块
|
|
*/
|
|
exports.setup = function () {
|
|
console.log('[electron-lib-tray] [setup]');
|
|
const cfg = config.get('tray');
|
|
|
|
// 托盘图标
|
|
let iconPath = path.join(app.getAppPath(), cfg.icon);
|
|
|
|
// 托盘菜单功能列表
|
|
let trayMenuTemplate = [
|
|
{
|
|
label: '显示',
|
|
click: function () {
|
|
MAIN_WINDOW.show();
|
|
}
|
|
},
|
|
{
|
|
label: '退出',
|
|
click: function () {
|
|
helper.appQuit();
|
|
}
|
|
}
|
|
]
|
|
|
|
// 点击关闭,最小化到托盘
|
|
MAIN_WINDOW.on('close', (event) => {
|
|
if (!CAN_QUIT) {
|
|
MAIN_WINDOW.hide();
|
|
MAIN_WINDOW.setSkipTaskbar(true);
|
|
event.preventDefault();
|
|
}
|
|
});
|
|
MAIN_WINDOW.show();
|
|
|
|
APP_TRAY = new Tray(iconPath);
|
|
APP_TRAY.setToolTip(cfg.title); // 托盘标题
|
|
const contextMenu = Menu.buildFromTemplate(trayMenuTemplate);
|
|
APP_TRAY.setContextMenu(contextMenu);
|
|
|
|
// 监听 显示/隐藏
|
|
APP_TRAY.on('click', function(){
|
|
if (MAIN_WINDOW.isVisible()) {
|
|
MAIN_WINDOW.hide();
|
|
MAIN_WINDOW.setSkipTaskbar(false);
|
|
} else {
|
|
MAIN_WINDOW.show();
|
|
MAIN_WINDOW.setSkipTaskbar(true);
|
|
}
|
|
});
|
|
|
|
return APP_TRAY;
|
|
}
|
|
|
|
exports = module.exports; |