|
|
|
@ -1,9 +1,12 @@
|
|
|
|
|
"use strict";
|
|
|
|
|
|
|
|
|
|
const { exec } = require("child_process");
|
|
|
|
|
// const fs = require('fs')
|
|
|
|
|
import { app, protocol, BrowserWindow } from "electron";
|
|
|
|
|
import { createProtocol } from "vue-cli-plugin-electron-builder/lib";
|
|
|
|
|
import installExtension, { VUEJS_DEVTOOLS } from "electron-devtools-installer";
|
|
|
|
|
const isDevelopment = process.env.NODE_ENV !== "production";
|
|
|
|
|
// maybe use for modify app menu
|
|
|
|
|
// const contextMenu = require('electron-context-menu');
|
|
|
|
|
|
|
|
|
|
// Keep a global reference of the window object, if you don't, the window will
|
|
|
|
|
// be closed automatically when the JavaScript object is garbage collected.
|
|
|
|
@ -15,14 +18,35 @@ protocol.registerSchemesAsPrivileged([
|
|
|
|
|
]);
|
|
|
|
|
|
|
|
|
|
function createWindow() {
|
|
|
|
|
console.log("Node Version: ", process.version);
|
|
|
|
|
const napi = exec("npm run napi:run");
|
|
|
|
|
let scriptOutput = "";
|
|
|
|
|
napi.stdout.setEncoding('utf8');
|
|
|
|
|
napi.stdout.on('data', (data) => {
|
|
|
|
|
console.log('napi: ' + data);
|
|
|
|
|
data = data.toString();
|
|
|
|
|
scriptOutput += data + '\n';
|
|
|
|
|
// TODO write file with stream
|
|
|
|
|
// const log = fs.createWriteStream(__dirname, '/tmp/' + +new Date + '.log')
|
|
|
|
|
// log.write(scriptOutput)
|
|
|
|
|
});
|
|
|
|
|
// napi.stdout.on('error', (err) => {
|
|
|
|
|
// console.log('napi error: ' + err);
|
|
|
|
|
// data = err.toString();
|
|
|
|
|
// scriptOutput += data + '\n';
|
|
|
|
|
// const log = fs.createWriteStream(__dirname, '/tmp/' + +new Date + 'error.log')
|
|
|
|
|
// log.write(scriptOutput)
|
|
|
|
|
// });
|
|
|
|
|
|
|
|
|
|
// Create the browser window.
|
|
|
|
|
win = new BrowserWindow({
|
|
|
|
|
width: 1920,
|
|
|
|
|
height: 768,
|
|
|
|
|
webPreferences: {
|
|
|
|
|
webSecurity: false,
|
|
|
|
|
// Use pluginOptions.nodeIntegration, leave this alone
|
|
|
|
|
// See nklayman.github.io/vue-cli-plugin-electron-builder/guide/security.html#node-integration for more info
|
|
|
|
|
nodeIntegration: process.env.ELECTRON_NODE_INTEGRATION,
|
|
|
|
|
nodeIntegration: true,
|
|
|
|
|
},
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
@ -34,6 +58,7 @@ function createWindow() {
|
|
|
|
|
createProtocol("app");
|
|
|
|
|
// Load the index.html when not in development
|
|
|
|
|
win.loadURL("app://./index.html");
|
|
|
|
|
win.webContents.openDevTools();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
win.on("closed", () => {
|
|
|
|
|