80 lines
2.1 KiB
JavaScript
80 lines
2.1 KiB
JavaScript
const { app, BrowserWindow, Menu } = require('electron')
|
|
|
|
function createWindow() {
|
|
let mainWin = new BrowserWindow({
|
|
width: 800,
|
|
height: 600,
|
|
show: false,
|
|
title: "标题", // 要在网页里的标题去除
|
|
icon: "w.png", // 设置图标
|
|
webPreferences: {
|
|
nodeIntegration: true, // Node集成环境
|
|
enableRemoteModule: true, // 开启远程模块 remote
|
|
}
|
|
})
|
|
|
|
// 01 自定义菜单的内容
|
|
let menuTemp = [
|
|
{
|
|
label: '角色',
|
|
submenu: [
|
|
{ label: '复制', role: 'copy' },
|
|
{ label: '剪切', role: 'cut' },
|
|
{ label: '粘贴', role: 'paste' },
|
|
{ label: '最小化', role: 'minimize' }
|
|
]
|
|
},
|
|
{
|
|
label: '类型',
|
|
submenu: [
|
|
{ label: '选项1', type: 'checkbox' },
|
|
{ label: '选项2', type: 'checkbox' },
|
|
{ label: '选项3', type: 'checkbox' },
|
|
{ type: 'separator' },
|
|
{ label: 'item1', type: 'radio' },
|
|
{ label: 'item2', type: 'radio' },
|
|
{ type: 'separator' },
|
|
{ label: 'windows', type: 'submenu', role: 'windowMenu'}
|
|
]
|
|
},
|
|
{
|
|
label: '其他',
|
|
submenu: [
|
|
{
|
|
label: '打开',
|
|
icon: 'open.png',
|
|
accelerator: 'ctrl + o',
|
|
click() {
|
|
console.log('open 执行了')
|
|
}
|
|
}
|
|
]
|
|
}
|
|
]
|
|
|
|
// 02 依据上述数据创建一个 menu
|
|
let menu = Menu.buildFromTemplate(menuTemp)
|
|
|
|
// 03 将上述的菜单添加至 app 中
|
|
Menu.setApplicationMenu(menu)
|
|
|
|
mainWin.loadFile('index.html')
|
|
|
|
|
|
// 防止首页白屏,否则不显示
|
|
mainWin.on('ready-to-show', () => {
|
|
mainWin.show()
|
|
})
|
|
mainWin.on('close', () => {
|
|
mainWin = null // 删除引用,释放空间
|
|
})
|
|
}
|
|
|
|
app.on('ready', () => {
|
|
createWindow()
|
|
})
|
|
|
|
app.on('window-all-closed', () => {
|
|
app.quit()
|
|
})
|