const {
Menu,
shell,
ipcMain,
BrowserWindow
} = require('electron') //从electron引入使用的模块
const {getMyMusic} = require('./ipcMain.js');
const isMac = process.platform === "darwin" //设置是否是mac系统
// 定義頂部菜單
const menuTemplate = [{
label: '文件',
submenu: [{
label: '新建',
accelerator:"Ctrl+N",
click: function() {
// 发送消息给渲染层
BrowserWindow.getFocusedWindow().webContents.send("action","new")
}
},
{
label: '打开',
accelerator:"Ctrl+O",
click: function() {
// 发送消息给渲染层
BrowserWindow.getFocusedWindow().webContents.send("action","open")
}
},
{
label: '保存',
accelerator:"Ctrl+S",
click: function() {
BrowserWindow.getFocusedWindow().webContents.send("action","save")
}
},
{
type: 'separator'
},
{
label: '打印',
click: function() {
}
},
{
label: '退出',
role: isMac ? "close" : "quit"
}
]
},
{
label: '编辑',
submenu: [{
label: '撤销',
role: 'undo'
},
{
label: '恢复',
role: 'redo'
},
{
type: 'separator'
},
{
label: '截切',
role: 'cut'
},
{
label: '复制',
role: 'copy'
},
{
label: '黏贴',
role: 'paste'
},
{
label: '删除',
role: 'delete'
},
{
label: '全选',
role: 'selectall'
}
]
},
{
label: '视图',
submenu: [{
label: '重新加载',
role: 'reload'
},{
label: '缩小',
role: 'zoomout'
},
{
label: '放大',
role: 'zoomin'
},
{
label: '重置缩放',
role: 'resetzoom'
},
{
type: 'separator'
},
{
label: '全屏',
role: 'togglefullscreen'
}
]
},
{
label:"听音乐",
submenu:[
{
label:"打开网站",
click() {
shell.openExternal('http://music.uniapper.com/');
}
},
{
label:"获取远程数据",
click(){
getMyMusic().then(v => {
BrowserWindow.getFocusedWindow().webContents.send("replyMusicData",v)
})
}
}
]
},
{
label: '帮助',
submenu: [{
label: '关于',
click() {
shell.openExternal('https://wangzhen.cc/');
}
},
{
label: '打开调式工具',
role: 'toggleDevTools'
}
]
}
]
var mymenu = Menu.buildFromTemplate(menuTemplate)
Menu.setApplicationMenu(mymenu)
// 定義右鍵菜單
const contextMenu = [{
label: "复制",
role: "copy"
},
{
label: "黏贴",
role: "paste"
}
]
var contextmenu = Menu.buildFromTemplate(contextMenu)
// 彈出右鍵菜單
ipcMain.on("showContextmenu", (event, data) => {
console.log(data)
contextmenu.popup({
window: BrowserWindow.getFocusedWindow()
})
// 这里不传window也可以,就是当前的右键菜单 。
})