From f6d62eaf70440d3183cad494d08a9e8c96c3d9d8 Mon Sep 17 00:00:00 2001
From: chenyc <501753378@qq.com>
Date: 星期五, 08 九月 2023 12:02:36 +0800
Subject: [PATCH] 增加体重秤串口通讯
---
electron/main/index.ts | 49 ++++++++++++++++++++++++++++++-------------------
1 files changed, 30 insertions(+), 19 deletions(-)
diff --git a/electron/main/index.ts b/electron/main/index.ts
index b1f4295..771a6e6 100644
--- a/electron/main/index.ts
+++ b/electron/main/index.ts
@@ -1,6 +1,8 @@
import { app, BrowserWindow, shell, ipcMain,Menu } from 'electron'
import { release } from 'os'
import { join } from 'path'
+// import updater from "../preload/autoUpdate.js"
+import logger from '../preload/logger.js'
import fs from 'fs'
import iconv from 'iconv-lite'
//koa----
@@ -39,11 +41,6 @@
const store = new Store();
console.log(store.path)
-// 读
-// console.log(store.get('clientCode'))
-// console.log(store.get('deviceList'))
-// 写
-// store.set("testr","test001")
// Disable GPU Acceleration for Windows 7
if (release().startsWith('6.1')) app.disableHardwareAcceleration()
@@ -64,16 +61,21 @@
const url = `http://${process.env['VITE_DEV_SERVER_HOST']}:${process.env['VITE_DEV_SERVER_PORT']}`
async function createWindow() {
+
win = new BrowserWindow({
title: 'Main window',
- fullscreen: false,
- // autoHideMenuBar:true,
+ transparent: true,
+ frame:store.get('debug'),//关闭菜单栏
+ fullscreen: true,// 开启默认全屏
+ kiosk: true,
+ // autoHideMenuBar:store.get('debug'),
webPreferences: {
preload: splash,
nodeIntegration: true,
contextIsolation: false,
},
})
+
if (app.isPackaged) {
win.loadFile(join(__dirname, '../../index.html'))
} else {
@@ -103,6 +105,9 @@
if (process.platform !== 'darwin') app.quit()
})
+
+
+
app.on('second-instance', () => {
if (win) {
// 如果用户试图打开另一个窗口,则将焦点放在主窗口上
@@ -110,6 +115,14 @@
win.focus()
}
})
+app.on('render-process-gone',(e,w,d)=>{
+ logger.info(`${new Date()}渲染进程被杀死${d.reason}\n`)
+ // 基于我在开发的程序本身的设定,此处重启应用就可以了
+ app.relaunch({args: process.argv.slice(1).concat(['--relaunch'])});
+ // 尝试关闭所有窗口
+ app.quit();
+})
+
app.on('activate', () => {
const allWindows = BrowserWindow.getAllWindows()
@@ -119,6 +132,10 @@
createWindow()
}
})
+// 自动更新
+// app.on('ready', async () => {
+// updater()
+// })
// 新窗口示例arg:新的Windows url
ipcMain.handle("open-win", (event, arg) => {
@@ -137,6 +154,12 @@
// childWindow.webContents.openDevTools({ mode: "undocked", activate: true })
}
})
+// 主进程处理日志定义
+ipcMain.handle('logger', async(event, arg) => { //与渲染进程通信
+ return new Promise((resolve, reject) => {
+ logger.info(arg)
+ })
+})
// 渲染端发送消息到主进程
ipcMain.on("winClose",()=>{
win?.close()
@@ -149,16 +172,4 @@
"machineName": arg.machineName,
"screenTimeout": arg.screenTimeout,
}
- // //对比两端配置文件
- // 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.path)
- // }
-
-
})
\ No newline at end of file
--
Gitblit v1.8.0