1 Star 0 Fork 2

花非花/postWomen

forked from 中元/postWomen 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
main.js 4.59 KB
一键复制 编辑 原始数据 按行查看 历史
wangrb 提交于 2019-11-27 19:30 . 代码提交
// Modules to control application life and create native browser window
const {app, BrowserWindow,ipcMain, Menu,shell} = require('electron')
const path = require('path')
//const electron = require('electron')
// Keep a global reference of the window object, if you don't, the window will
// be closed automatically when the JavaScript object is garbage collected.
let mainWindow
function createWindow () {
/*获取electron窗体的菜单栏*/
//const Menu = electron.Menu;
/*隐藏electron创听的菜单栏*/
//Menu.setApplicationMenu(null)
initMenu();
// Create the browser window.
mainWindow = new BrowserWindow({
width: 800,
height: 600,
webPreferences: {
preload: path.join(__dirname, 'preload.js'),
nodeIntegration: true //解决 require() is not defined
}
})
// and load the index.html of the app.
mainWindow.loadFile('index.html')
mainWindow.webContents.openDevTools()//注册开发者工具
// Open the DevTools.
// mainWindow.webContents.openDevTools()
// Emitted when the window is closed.
mainWindow.on('closed', function () {
// Dereference the window object, usually you would store windows
// in an array if your app supports multi windows, this is the time
// when you should delete the corresponding element.
mainWindow = null
})
}
function initMenu(){
//菜单Type说明: normal常规菜单项;separator分割线;submenu子菜单;checkbox复选菜单项;radio单选菜单项
const template = [
{
label: '文件',
submenu: [
{
label: '重启',
click() {
app.relaunch({ args: process.argv.slice(1).concat(['--relaunch']) });
app.quit();
},
},
{
label: '退出',
click() { app.quit(); },
},
],
},
{
label: '编辑',
submenu: [
{
label: '撤销',
role: 'undo',
},
{
label: '恢复',
role: 'redo',
},
{
type: 'separator',
},
{
label: '剪切',
role: 'cut',
},
{
label: '复制',
role: 'copy',
},
{
label: '粘贴',
role: 'paste',
},
{
label: '全选',
role: 'selectall',
},
],
},
{
label: '视图',
submenu: [
{
label: '缩小',
role: 'zoomout',
},
{
label: '放大',
role: 'zoomin',
},
{
label: '重置缩放',
role: 'resetzoom',
},
{
type: 'separator',
},
{
label: '全屏',
role: 'togglefullscreen',
},
],
},
{
label: '帮助',
submenu: [
{
label: '关于',
click() {
shell.openExternal('http://www.baidu.com');
},
},
],
},
];
const m = Menu.buildFromTemplate(template);
Menu.setApplicationMenu(m);
// 右键菜单
const contextMenuTemplate = [
{
label: '撤销',
role: 'undo',
},
{
label: '恢复',
role: 'redo',
},
{
type: 'separator',
},
{
label: '剪切',
role: 'cut',
},
{
label: '复制',
role: 'copy',
},
{
label: '粘贴',
role: 'paste',
},
{
type: 'separator',
}, // 分隔线
{
label: '全选',
role: 'selectall',
},
// Select All菜单项
];
const contextMenu = Menu.buildFromTemplate(contextMenuTemplate);
// 监听右键事件
ipcMain.on('contextMenu', () => {
contextMenu.popup(BrowserWindow.getFocusedWindow());
});
}
// This method will be called when Electron has finished
// initialization and is ready to create browser windows.
// Some APIs can only be used after this event occurs.
app.on('ready', createWindow)
// Quit when all windows are closed.
app.on('window-all-closed', function () {
// On macOS it is common for applications and their menu bar
// to stay active until the user quits explicitly with Cmd + Q
if (process.platform !== 'darwin') app.quit()
})
app.on('activate', function () {
// On macOS it's common to re-create a window in the app when the
// dock icon is clicked and there are no other windows open.
if (mainWindow === null) createWindow()
})
// In this file you can include the rest of your app's specific main process
// code. You can also put them in separate files and require them here.
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
NodeJS
1
https://gitee.com/flowers_not_flower/postWomen.git
git@gitee.com:flowers_not_flower/postWomen.git
flowers_not_flower
postWomen
postWomen
master

搜索帮助

D67c1975 1850385 1daf7b77 1850385