You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
64 lines
2.0 KiB
64 lines
2.0 KiB
// 引入Electron的核心模块
|
|
const { app, BrowserWindow, Menu } = require("electron");
|
|
|
|
const path = require("path");
|
|
|
|
// 创建窗口的函数
|
|
function createWindow() {
|
|
// 定义图标路径
|
|
const iconPath = path.join(__dirname, "./public/app.png");
|
|
|
|
// 新建一个窗口(就像打开一个浏览器窗口)
|
|
const mainWindow = new BrowserWindow({
|
|
width: 800, // 窗口宽度
|
|
height: 600, // 窗口高度
|
|
icon: iconPath,
|
|
...(process.platform === "linux" ? { icon } : {}),
|
|
webPreferences: {
|
|
// 允许在Vue页面中使用Node.js的功能(可选,按需开启)
|
|
nodeIntegration: true,
|
|
contextIsolation: false,
|
|
},
|
|
});
|
|
|
|
// 告诉窗口要显示的内容:
|
|
// 开发阶段,显示Vue3的本地服务地址(就是刚才npm run dev的地址)
|
|
mainWindow.loadURL("http://localhost:5173");
|
|
|
|
// 创建一个简单的菜单(包含前进/后退按钮)
|
|
// const menu = Menu.buildFromTemplate([
|
|
// {
|
|
// label: "", // 菜单名称
|
|
// icon: path.join(__dirname, './public/left.png'), // 16x16
|
|
// submenu: [
|
|
// {
|
|
// label: "后退", // 后退按钮
|
|
// click: () => mainWindow.webContents.goBack(), // 调用后退API
|
|
// },
|
|
// {
|
|
// label: "前进", // 前进按钮
|
|
// click: () => mainWindow.webContents.goForward(), // 调用前进API
|
|
// },
|
|
// ],
|
|
// },
|
|
// ]);
|
|
const menu = null;
|
|
Menu.setApplicationMenu(menu); // 把菜单应用到窗口
|
|
// 打开开发者工具(类似浏览器的F12,方便调试,可选)
|
|
// mainWindow.webContents.openDevTools()
|
|
}
|
|
|
|
// 当Electron准备好后,创建窗口
|
|
app.whenReady().then(() => {
|
|
createWindow();
|
|
|
|
// 对于Mac系统的兼容(不用深究,照抄即可)
|
|
app.on("activate", () => {
|
|
if (BrowserWindow.getAllWindows().length === 0) createWindow();
|
|
});
|
|
});
|
|
|
|
// 关闭所有窗口时退出应用(Windows和Linux的习惯)
|
|
app.on("window-all-closed", () => {
|
|
if (process.platform !== "darwin") app.quit();
|
|
});
|