feat 菜单功能

This commit is contained in:
萌森 2024-06-27 18:27:45 +08:00
parent e089376c09
commit e8aad4690c
3 changed files with 97 additions and 3 deletions

View File

@ -1,4 +1,4 @@
const { app, BrowserWindow } = require('electron') const { app, BrowserWindow, Menu } = require('electron')
const path = require('node:path') const path = require('node:path')
const server = require('./server/server'); const server = require('./server/server');
@ -11,6 +11,8 @@ const createWindow = () => {
} }
}) })
require("./menu/menu.js")
win.loadURL('http://127.0.0.1:8787') win.loadURL('http://127.0.0.1:8787')
} }

82
menu/menu.js Normal file
View File

@ -0,0 +1,82 @@
const { Menu, BrowserWindow } = require("electron")
const server = require('../server/server');
let template = [
{
label: "IYUU",
submenu: [
{
label: "重启服务",
click: () => {
server.restartServer()
setTimeout(() => {
BrowserWindow.getAllWindows().forEach(win => {
win.reload()
})
}, 1000)
}
},
{
label: "文档中心",
click: () => {
let win = new BrowserWindow({
width: 800,
height: 600,
webPreferences: {
nodeIntegration: true,
contextIsolation: false,
}
});
win.loadURL("https://doc.iyuu.cn/");
win.on("closed", () => {
win = null;
});
}
},
]
},
{
label: "帮助",
submenu: [
{
label: "新疆萌森软件开发工作室提供技术支持",
click: () => {
let win = new BrowserWindow({
width: 800,
height: 600,
webPreferences: {
nodeIntegration: true,
contextIsolation: false,
}
});
win.loadURL("https://lifebus.top/");
win.on("closed", () => {
win = null;
});
}
},
{
label: "问题反馈",
click: () => {
let win = new BrowserWindow({
width: 800,
height: 600,
webPreferences: {
nodeIntegration: true,
contextIsolation: false,
}
});
win.loadURL("https://gitee.com/qyg2297248353/iyuuplus-windows/issues");
win.on("closed", () => {
win = null;
});
}
}
]
}
]
const m = Menu.buildFromTemplate(template)
Menu.setApplicationMenu(m)

View File

@ -22,9 +22,14 @@ function startServer() {
const args = ['./iyuu/windows.php']; const args = ['./iyuu/windows.php'];
const workingDirectory = path.resolve(__dirname, '..'); const workingDirectory = path.resolve(__dirname, '..');
const env = { ...process.env };
const phpDir = path.dirname(cmdPath);
env.PATH = `${phpDir}${path.delimiter}${env.PATH}`;
serverProcess = spawn(cmdPath, args, { serverProcess = spawn(cmdPath, args, {
cwd: workingDirectory, cwd: workingDirectory,
stdio: ['inherit', 'pipe', 'inherit'] stdio: ['inherit', 'pipe', 'inherit'],
env: env
}); });
serverProcess.stdout.setEncoding('utf8'); serverProcess.stdout.setEncoding('utf8');
@ -53,4 +58,9 @@ function stopServer() {
} }
} }
module.exports = { startServer, stopServer }; function restartServer() {
stopServer();
startServer();
}
module.exports = { startServer, stopServer, restartServer };