封装 公共 window

const { BrowserWindow } = require('electron')
class AppWindow extends BrowserWindow {     constructor(config,urlLocation){         const basicConfig = {             width:1024,             height:680,             webPreferences:{                 nodeIntegration: true             },             show:false,             background:'#efefef'         }
        const finalConfig = { ...basicConfig, ...config}         super(finalConfig)         this.loadURL(urlLocation)         this.once('ready-to-show',()=>{             this.show()         })     } }
module.exports = AppWindow ------------------- const { app,BrowserWindow,Menu,ipcMain } = require('electron') const isDev = require('electron-is-dev') const path = require('path')
const menuTemplate = require('./src/menuTemplate') const AppWindow = require('./src/AppWindow')
let mainWindow, settingsWindow;
app.on('ready',() => {     const mainWindowConfig = {         width:1024,         height:680,     }     const urlLocation = isDev ? 'http://localhost:3000/' : 'dummyurl'     mainWindow = new AppWindow(mainWindowConfig,urlLocation)     mainWindow.on('closed',()=>{         mainWindow = null     })
    ipcMain.on('open-settings-window',()=>{
        const settingsWindowConfig = {             width:500,             height:400,             parent:mainWindow         }
        const settingsFileLocation = `file://${path.join(__dirname,'./settings/settings.html')}`         settingsWindow = new AppWindow(settingsWindowConfig,settingsFileLocation)         settingsWindow.on('closed',()=>{             settingsWindow = null         })     })

    // 设置菜单     const menu = Menu.buildFromTemplate(menuTemplate)     Menu.setApplicationMenu(menu) })

app.allowRendererProcessReuse = true
上一篇:Window磁盘100%处理方法


下一篇:消息通知