Electron-Vue-template 系统托盘完整代码
时间: 2024-11-15 13:23:05 浏览: 4
electron-vue-template:electron vue 模板
`Electron-Vue-template`是一个基于Vue.js和Electron框架的项目模板,它允许你轻松地创建跨平台的桌面应用,包括系统托盘功能。以下是一个基本的系统托盘设置的完整代码片段:
```javascript
// main.js (Electron主文件)
import { app, Tray, Menu } from 'electron';
import path from 'path';
// ...
async function createTray() {
const trayIcon = await new Promise((resolve) => {
const iconPath = path.join(__dirname, 'assets/icon.png'); // 你的图标路径
new Tray(iconPath).on('ready', resolve);
});
const menu = Menu.buildFromTemplate([
{ label: '显示/隐藏', click: () => trayIcon.toggle() },
{ type: 'separator' },
{ label: '退出', click: () => app.quit() }
]);
trayIcon.setContextMenu(menu);
}
// 当Electron准备好后运行
app.on('ready', async () => {
createTray();
});
// 更多的事件监听...
```
在这个例子中,首先导入了需要的模块,然后定义了一个异步函数`createTray`,在其中创建了一个`Tray`实例并设置了图标。菜单也被创建,并通过`setContextMenu`方法绑定到托盘上。当`app`准备就绪时,会自动调用`createTray`。
如果你想要在Vue组件中控制托盘的行为,你可以通过事件总线或Vuex管理状态。
阅读全文