1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- const { app, BrowserWindow } = require("electron");
- const path = require("path");
- const port = 3000;
- let mainWindow = null;
- const debug = /--debug/.test(process.argv[2]);
- function makeSingleInstance() {
- if (process.mas) return;
- app.requestSingleInstanceLock();
- app.on("second-instance", () => {
- if (mainWindow) {
- if (mainWindow.isMinimized()) mainWindow.restore();
- mainWindow.focus();
- }
- });
- }
- function createWindow() {
- const windowOptions = {
- width: 1024,
- height: 768,
- };
- mainWindow = new BrowserWindow(windowOptions);
- mainWindow.loadURL(`http://localhost:${port}`);
- // mainWindow.loadURL(path.join("file://", __dirname, "/build/index.html"));
- const ipc = require("electron").ipcMain;
- ipc.on("min", function () {
- mainWindow.minimize();
- });
- ipc.on("max", function () {
- mainWindow.maximize();
- });
- ipc.on("login", function () {
- mainWindow.maximize();
- });
- //如果是--debug 打开开发者工具,窗口最大化,
- if (debug) {
- mainWindow.webContents.openDevTools();
- require("devtron").install();
- }
- mainWindow.on("closed", () => {
- mainWindow = null;
- });
- }
- const express = require("express");
- const appExpress = express();
- const distPath = path.join(__dirname, "./build");
- appExpress.use("/", express.static(distPath));
- appExpress.listen(port, () => {
- console.log(`Example app listening at http://localhost:${port}`);
- makeSingleInstance();
- //app主进程的事件和方法
- app.on("ready", () => {
- createWindow();
- });
- app.on("window-all-closed", () => {
- if (process.platform !== "darwin") {
- app.quit();
- }
- });
- app.on("activate", () => {
- if (mainWindow === null) {
- createWindow();
- }
- });
- });
- module.exports = mainWindow;
|