| | |
| | | import { app, BrowserWindow, shell, ipcMain } from 'electron' |
| | | import { app, BrowserWindow, shell, ipcMain,Menu } from 'electron' |
| | | import { release } from 'os' |
| | | import { join } from 'path' |
| | | import fs from 'fs' |
| | |
| | | const Store = require('electron-store'); |
| | | const store = new Store(); |
| | | console.log(store.path) |
| | | |
| | | // 读 |
| | | // console.log(store.get('clientCode')) |
| | | // console.log(store.get('deviceList')) |
| | |
| | | async function createWindow() { |
| | | win = new BrowserWindow({ |
| | | title: 'Main window', |
| | | fullscreen: true, |
| | | autoHideMenuBar:true, |
| | | webPreferences: { |
| | | preload: splash, |
| | | nodeIntegration: true, |
| | | contextIsolation: false, |
| | | }, |
| | | }) |
| | | |
| | | if (app.isPackaged) { |
| | | win.loadFile(join(__dirname, '../../index.html')) |
| | | } else { |
| | |
| | | // Test active push message to Renderer-process |
| | | // 测试推送消息到Renderer进程 |
| | | win.webContents.on('did-finish-load', () => { |
| | | win?.webContents.send('main-process-message', new Date().toLocaleString()) |
| | | win?.webContents.send('getConfigData',store.get('clientCode'),store.get('deviceList'),store.path) |
| | | // win?.webContents.send('main-process-message', new Date().toLocaleString()) |
| | | win?.webContents.send('getScreenTimeout',store.get('screenTimeout')) |
| | | win?.webContents.send('getPcName',store.get('machineName')) |
| | | win?.webContents.send('getConfigData',store.get('clientCode'),store.get('devices'),store.path) |
| | | }) |
| | | |
| | | // Make all links open with the browser, not with the application |
| | |
| | | return { action: 'deny' } |
| | | }) |
| | | } |
| | | |
| | | app.whenReady().then(createWindow) |
| | | |
| | | app.on('window-all-closed', () => { |
| | |
| | | ipcMain.on("main-process-message2",()=>{ |
| | | console.log("33344") |
| | | }) |
| | | // 渲染端发送消息到主进程 |
| | | ipcMain.on('synchronous-message', (event, arg) => { |
| | | console.log(arg) // 在 Node 控制台中打印“ping” |
| | | event.returnValue = store.get('clientCode') |
| | | // 渲染端发送消息到主进程修改confing文件 |
| | | ipcMain.on('setConfingData', (event, arg) => { |
| | | const mode1=store.store |
| | | const mode2={ |
| | | "clientCode": arg.clientCode, |
| | | "machineName": arg.machineName, |
| | | "screenTimeout": arg.screenTimeout, |
| | | "devices":arg.devices |
| | | } |
| | | //对比两端配置文件 |
| | | if(JSON.stringify(mode1)!=JSON.stringify(mode2)){ |
| | | //更新cofing.json |
| | | console.log('update confing.json') |
| | | store.set(mode2) |
| | | // 重新建立sockte 通讯 |
| | | win?.webContents.send('getScreenTimeout',store.get('screenTimeout')) |
| | | win?.webContents.send('getPcName',store.get('machineName')) |
| | | win?.webContents.send('getConfigData',store.get('clientCode'),store.get('devices'),store.path) |
| | | } |
| | | |
| | | |
| | | }) |