@@ -1 +1,201 @@
"use strict" ; const o = require ( "path" ) , e = require ( "electron" ) , p = require ( "os" ) ; let i ; e . app . whenReady ( ) . then ( ( ) => { i = new e . BrowserWindow ( { title : "银收客" , width : 1024 , height : 768 , fullscreenable : ! 0 , fullscreen : ! process . env . VITE _DEV _SERVER _URL , simpleFullscreen : ! 0 , frame : ! ! process . env . VITE _DEV _SERVER _URL , webPreferences : { nodeIntegration : ! 0 , contextIsolation : ! 1 } } ) , process . env . VITE _DEV _SERVER _URL ? i . loadURL ( process . env . VITE _DEV _SERVER _URL ) : i . loadFile ( o . resolve ( _ _dirname , "../dist/index.html" ) ) , e . app . on ( "activate" , ( ) => { e . BrowserWindow . getAllWindows ( ) . length === 0 && createWindow ( ) } ) , e . ipcMain . on ( "quitHandler" , ( n , t ) => { i = null , e . app . exit ( ) } ) , e . ipcMain . on ( "getPrintList" , ( ) => { i . webContents . getPrintersAsync ( ) . then ( n => { i . webContents . send ( "printList" , n ) } ) } ) , e . ipcMain . on ( "getOSmacSync" , ( ) => { let n = "" ; p . networkInterfaces ( ) . WLAN ? ( n = p . networkInterfaces ( ) . WLAN [ 0 ] . mac , console . log ( "wlan.mac===" , n ) ) : ( n = p . networkInterfaces ( ) . 以太网 [ 0 ] . mac , console . log ( "以太网.mac===" , n ) ) , i . webContents . send ( "getOSmacRes" , n ) } ) ; const r = new e . BrowserWindow ( { show : ! 1 , width : 464 , height : 1726 , webPreferences : { nodeIntegration : ! 0 , contextIsolation : ! 1 } } ) ; process . env . VITE _DEV _SERVER _URL ? r . loadFile ( o . join ( _ _dirname , "../public/print.html" ) ) : r . loadFile ( o . resolve ( _ _dirname , "../dist/print.html" ) ) , e . ipcMain . on ( "printerInfoSync" , ( n , t ) => { r . webContents . send ( "getParams" , t ) } ) , e . ipcMain . on ( "printStart" , ( n , t ) => { console . log ( t ) ; let a = JSON . parse ( t ) . deviceName ; r . webContents . print ( { silent : ! 0 , deviceName : a , pageSize : { width : 58e3 , height : 216e3 } , scaleFactor : 80 , landscape : ! 1 , margins : { marginType : "none" , top : 0 , bottom : 0 , left : 0 , right : 0 } , dpi : { horizontal : 203 , vertical : 203 } } ) } ) ; const s = new e . BrowserWindow ( { show : ! 1 , width : 464 , height : 1726 , webPreferences : { nodeIntegration : ! 0 , contextIsolation : ! 1 } } ) ; process . env . VITE _DEV _SERVER _URL ? s . loadFile ( o . join ( _ _dirname , "../public/work_print.html" ) ) : s . loadFile ( o . resolve ( _ _dirname , "../dist/work_print.html" ) ) , e . ipcMain . on ( "printerWorkSync" , ( n , t ) => { s . webContents . send ( "getParams" , t ) } ) , e . ipcMain . on ( "printWorkStart" , ( n , t ) => { let a = JSON . parse ( t ) . deviceName ; s . webContents . print ( { silent : ! 0 , deviceName : a , pageSize : { width : 58e3 , height : 216e3 } , scaleFactor : 80 , landscape : ! 1 , margins : { marginType : "none" , top : 0 , bottom : 0 , left : 0 , right : 0 } , dpi : { horizontal : 203 , vertical : 203 } } ) } ) ; const l = new e . BrowserWindow ( { show : ! 1 , width : 360 , height : 240 , webPreferences : { nodeIntegration : ! 0 , contextIsolation : ! 1 } } ) ; process . env . VITE _DEV _SERVER _URL ? l . loadFile ( o . join ( _ _dirname , "../public/tag_print.html" ) ) : l . loadFile ( o . resolve ( _ _dirname , "../dist/tag_print.html" ) ) , e . ipcMain . on ( "printerTagSync" , ( n , t ) => { console . log ( t ) , l . webContents . send ( "getParams" , t ) } ) , e . ipcMain . on ( "printTagStart" , ( n , t ) => { let a = JSON . parse ( t ) . deviceName ; l . webContents . print ( { silent : ! 0 , deviceName : a , pageSize : { width : 45e3 , height : 3e4 } , scaleFactor : 80 , landscape : ! 1 , margins : { marginType : "none" , top : 0 , bottom : 0 , left : 0 , right : 0 } , dpi : { horizontal : 203 , vertical : 203 } } ) } ) , e . app . requestSingleInstanceLock ( ) ? e . app . on ( "second-instance" , ( n , t , c ) => { i && ( i . isMinimized ( ) && i . restore ( ) , i . focus ( ) , i . show ( ) ) } ) : e . app . quit ( ) , i . on ( "close" , n => { n . preventDefault ( ) , i . webContents . send ( "showCloseDialog" ) } ) } ) ; e . app . on ( "window-all-closed" , ( ) => { process . platform !== "darwin" && e . app . quit ( ) } ) ;
"use strict" ;
const path = require ( "path" ) ;
const electron = require ( "electron" ) ;
const os = require ( "os" ) ;
let win ;
electron . app . whenReady ( ) . then ( ( ) => {
win = new electron . BrowserWindow ( {
title : "银收客" ,
width : 1024 ,
height : 768 ,
fullscreenable : true ,
fullscreen : process . env . VITE _DEV _SERVER _URL ? false : true ,
simpleFullscreen : true ,
frame : process . env . VITE _DEV _SERVER _URL ? true : false ,
webPreferences : {
// 集成网页和 Node.js, 也就是在渲染进程中, 可以调用 Node.js 方法
nodeIntegration : true ,
contextIsolation : false
}
} ) ;
if ( process . env . VITE _DEV _SERVER _URL ) {
win . loadURL ( process . env . VITE _DEV _SERVER _URL ) ;
} else {
win . loadFile ( path . resolve ( _ _dirname , "../dist/index.html" ) ) ;
}
electron . app . on ( "activate" , ( ) => {
if ( electron . BrowserWindow . getAllWindows ( ) . length === 0 ) {
createWindow ( ) ;
}
} ) ;
electron . ipcMain . on ( "quitHandler" , ( _ , msg ) => {
win = null ;
electron . app . exit ( ) ;
} ) ;
electron . ipcMain . on ( "getPrintList" , ( ) => {
win . webContents . getPrintersAsync ( ) . then ( ( res ) => {
win . webContents . send ( "printList" , res ) ;
} ) ;
} ) ;
electron . ipcMain . on ( "getOSmacSync" , ( ) => {
let mac = "" ;
if ( os . networkInterfaces ( ) . WLAN ) {
mac = os . networkInterfaces ( ) . WLAN [ 0 ] . mac ;
console . log ( "wlan.mac===" , mac ) ;
} else {
mac = os . networkInterfaces ( ) [ "以太网" ] [ 0 ] . mac ;
console . log ( "以太网.mac===" , mac ) ;
}
win . webContents . send ( "getOSmacRes" , mac ) ;
} ) ;
const printWin = new electron . BrowserWindow ( {
show : false ,
width : 464 ,
height : 1726 ,
webPreferences : {
// 集成网页和 Node.js, 也就是在渲染进程中, 可以调用 Node.js 方法
nodeIntegration : true ,
contextIsolation : false
}
} ) ;
if ( process . env . VITE _DEV _SERVER _URL ) {
printWin . loadFile ( path . join ( _ _dirname , "../public/print.html" ) ) ;
} else {
printWin . loadFile ( path . resolve ( _ _dirname , "../dist/print.html" ) ) ;
}
electron . ipcMain . on ( "printerInfoSync" , ( event , arg ) => {
printWin . webContents . send ( "getParams" , arg ) ;
} ) ;
electron . ipcMain . on ( "printStart" , ( event , arg ) => {
console . log ( arg ) ;
const _parmas = JSON . parse ( arg ) ;
let name = _parmas . deviceName ;
printWin . webContents . print ( {
silent : true ,
deviceName : name ,
pageSize : {
width : 58e3 ,
height : 216e3
} ,
scaleFactor : 80 ,
landscape : false ,
margins : {
marginType : "none" ,
top : 0 ,
bottom : 0 ,
left : 0 ,
right : 0
} ,
dpi : {
horizontal : 203 ,
vertical : 203
}
} ) ;
} ) ;
const workPrintWin = new electron . BrowserWindow ( {
show : false ,
width : 464 ,
height : 1726 ,
webPreferences : {
nodeIntegration : true ,
contextIsolation : false
}
} ) ;
if ( process . env . VITE _DEV _SERVER _URL ) {
workPrintWin . loadFile ( path . join ( _ _dirname , "../public/work_print.html" ) ) ;
} else {
workPrintWin . loadFile ( path . resolve ( _ _dirname , "../dist/work_print.html" ) ) ;
}
electron . ipcMain . on ( "printerWorkSync" , ( event , arg ) => {
workPrintWin . webContents . send ( "getParams" , arg ) ;
} ) ;
electron . ipcMain . on ( "printWorkStart" , ( event , arg ) => {
const _parmas = JSON . parse ( arg ) ;
let name = _parmas . deviceName ;
workPrintWin . webContents . print ( {
silent : true ,
deviceName : name ,
pageSize : {
width : 58e3 ,
height : 216e3
} ,
scaleFactor : 80 ,
landscape : false ,
margins : {
marginType : "none" ,
top : 0 ,
bottom : 0 ,
left : 0 ,
right : 0
} ,
dpi : {
horizontal : 203 ,
vertical : 203
}
} ) ;
} ) ;
const tagPrintWin = new electron . BrowserWindow ( {
show : false ,
width : 360 ,
height : 240 ,
webPreferences : {
nodeIntegration : true ,
contextIsolation : false
}
} ) ;
if ( process . env . VITE _DEV _SERVER _URL ) {
tagPrintWin . loadFile ( path . join ( _ _dirname , "../public/tag_print.html" ) ) ;
} else {
tagPrintWin . loadFile ( path . resolve ( _ _dirname , "../dist/tag_print.html" ) ) ;
}
electron . ipcMain . on ( "printerTagSync" , ( event , arg ) => {
console . log ( arg ) ;
tagPrintWin . webContents . send ( "getParams" , arg ) ;
} ) ;
electron . ipcMain . on ( "printTagStart" , ( event , arg ) => {
const _parmas = JSON . parse ( arg ) ;
let name = _parmas . deviceName ;
tagPrintWin . webContents . print ( {
silent : true ,
deviceName : name ,
pageSize : {
width : 45e3 ,
height : 3e4
} ,
scaleFactor : 80 ,
landscape : false ,
margins : {
marginType : "none" ,
top : 0 ,
bottom : 0 ,
left : 0 ,
right : 0
} ,
dpi : {
horizontal : 203 ,
vertical : 203
}
} ) ;
} ) ;
const gotTheLock = electron . app . requestSingleInstanceLock ( ) ;
if ( ! gotTheLock ) {
electron . app . quit ( ) ;
} else {
electron . app . on ( "second-instance" , ( event , commandLine , workingDirectory ) => {
if ( win ) {
if ( win . isMinimized ( ) )
win . restore ( ) ;
win . focus ( ) ;
win . show ( ) ;
}
} ) ;
}
win . on ( "close" , ( e ) => {
e . preventDefault ( ) ;
win . webContents . send ( "showCloseDialog" ) ;
} ) ;
} ) ;
electron . app . on ( "window-all-closed" , ( ) => {
if ( process . platform !== "darwin" )
electron . app . quit ( ) ;
} ) ;