const { app, BrowserWindow, Menu ,ipcMain} = require('electron'); const path = require('path'); const {writeLog} = require('./src/log/log-writer.js') function createWindow() { const isMac = process.platform === 'darwin'; const win = new BrowserWindow({ show: false, // 先隐藏,避免白屏 frame: !isMac, // 非 macOS 无边框 titleBarStyle: isMac ? 'hiddenInset' : 'default', // macOS 隐藏标题栏但保留控制按钮 webPreferences: { nodeIntegration: true, contextIsolation: false, }, }); // 去掉应用菜单栏 Menu.setApplicationMenu(null); if (!isMac) win.removeMenu(); // Windows / Linux 额外保险 // 启动即最大化 win.maximize(); // 加载 Taro 编译后的 H5 页面 // win.loadFile(path.join(__dirname, './dist/h5/index.html')); // 加载外置 H5 页面 win.loadFile(path.join(process.cwd(), 'h5/index.html')); // 页面准备好再显示,防止视觉闪烁 win.once('ready-to-show', () => win.show()); } app.whenReady().then(createWindow); app.on('window-all-closed', () => { if (process.platform !== 'darwin') app.quit(); }); app.on('activate', () => { if (BrowserWindow.getAllWindows().length === 0) createWindow(); }); ipcMain.handle('write-log', (_, level, msg) => { writeLog(level, msg); });