1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- const { app, BrowserWindow, Menu } = 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'));
- // 页面准备好再显示,防止视觉闪烁
- 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);
- });
|