'use strict'; const Addon = require('ee-core/addon'); const { Controller } = require('ee-core'); /** * example * @class */ class WindowsController extends Controller { constructor(ctx) { super(ctx); } async openMain (config) { if( this.app.electron[config.id]) return; const win = new BrowserWindow({ ...config, webPreferences: { webSecurity: false, contextIsolation: false, // false -> 可在渲染进程中使用electron的api,true->需要bridge.js(contextBridge) nodeIntegration: true, preload: path.join('../preload/preload.js','../preload/bridge.js'), }, }); win.loadURL(config.url); // 设置窗口的 URL // 监听窗口关闭事件 win.webContents.openDevTools(config.openDevTools); win.on('close', () => { delete this.app.electron[config.id]; // 删除窗口引用 }); this.app.electron[config.id] = win ; } /** * 打开新窗口 */ closeWindows (id) { } /** * 窗口最小化 */ miniWindows (id) { } } WindowsController.toString = () => '[class WindowsController]'; module.exports = WindowsController;