init
This commit is contained in:
117
src/main/menu/index.ts
Normal file
117
src/main/menu/index.ts
Normal file
@@ -0,0 +1,117 @@
|
||||
import { createEnterPage } from '../window/page/enter';
|
||||
import { BrowserWindow, Menu, app } from 'electron';
|
||||
|
||||
import path from 'path';
|
||||
import { getLogPath, log } from '../logger';
|
||||
import { createAppPackagesPage } from '../window/page/app-packages';
|
||||
import { relunch } from '../window/relunch';
|
||||
export const loadMenu = () => {
|
||||
const template = [
|
||||
{
|
||||
label: app.name,
|
||||
submenu: [
|
||||
{
|
||||
label: '关于',
|
||||
role: 'about',
|
||||
},
|
||||
{
|
||||
label: '退出',
|
||||
click: () => {
|
||||
if (process.platform !== 'darwin') {
|
||||
app.quit();
|
||||
} else {
|
||||
app.exit();
|
||||
}
|
||||
},
|
||||
},
|
||||
// {
|
||||
// label: '检查更新',
|
||||
// click: () => {
|
||||
// autoUpdater.checkForUpdatesAndNotify();
|
||||
// },
|
||||
// },
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '编辑',
|
||||
submenu: [
|
||||
{ label: '复制', accelerator: 'CmdOrCtrl+C', selector: 'copy:' },
|
||||
{ label: '粘贴', accelerator: 'CmdOrCtrl+V', selector: 'paste:' },
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '查看',
|
||||
role: 'view',
|
||||
submenu: [
|
||||
{
|
||||
label: '刷新',
|
||||
role: 'reload',
|
||||
},
|
||||
{
|
||||
label: '强制刷新',
|
||||
role: 'forcereload',
|
||||
},
|
||||
{
|
||||
label: '重启',
|
||||
click: () => {
|
||||
relunch();
|
||||
},
|
||||
},
|
||||
{
|
||||
label: '打开开发者工具',
|
||||
click: () => {
|
||||
const mainWindow = BrowserWindow.getFocusedWindow();
|
||||
if (mainWindow) {
|
||||
openDevTools(mainWindow);
|
||||
}
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '帮助',
|
||||
role: 'help',
|
||||
submenu: [
|
||||
{
|
||||
label: '文档',
|
||||
click: async () => {
|
||||
const { shell } = require('electron');
|
||||
// shell.openExternal('http://adstudio.nisar.ai/docs/');
|
||||
},
|
||||
},
|
||||
{
|
||||
label: '打开日志',
|
||||
click: async () => {
|
||||
const { shell } = require('electron');
|
||||
log.transports.file.fileName;
|
||||
shell.openExternal('file://' + path.join(getLogPath()));
|
||||
},
|
||||
},
|
||||
{
|
||||
label: '打开配置',
|
||||
click: async () => {
|
||||
createEnterPage();
|
||||
},
|
||||
},
|
||||
{
|
||||
label: '打开应用市场',
|
||||
click: async () => {
|
||||
createAppPackagesPage();
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
];
|
||||
// @ts-ignore
|
||||
const menu = Menu.buildFromTemplate(template);
|
||||
Menu.setApplicationMenu(menu);
|
||||
};
|
||||
|
||||
export const openDevTools = (mainWindow: BrowserWindow) => {
|
||||
let window = mainWindow.getBrowserView() ? mainWindow.getBrowserView() : mainWindow;
|
||||
if (window.webContents.isDevToolsOpened()) {
|
||||
window.webContents.closeDevTools();
|
||||
} else {
|
||||
window.webContents.openDevTools();
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user