50 lines
1.4 KiB
JavaScript
50 lines
1.4 KiB
JavaScript
import { app, BrowserWindow, ipcMain } from "electron";
|
||
import path from 'path'
|
||
import { printUtils } from './printUtils'
|
||
|
||
app.whenReady().then(() => {
|
||
const win = new BrowserWindow({
|
||
title: "银收客",
|
||
width: 1200,
|
||
height: 800,
|
||
fullscreenable: true,
|
||
fullscreen: false,
|
||
simpleFullscreen: true,
|
||
frame: true,
|
||
webPreferences: {
|
||
// 集成网页和 Node.js,也就是在渲染进程中,可以调用 Node.js 方法
|
||
nodeIntegration: true,
|
||
contextIsolation: false,
|
||
},
|
||
});
|
||
|
||
// You can use `process.env.VITE_DEV_SERVER_URL` when the vite command is called `serve`
|
||
if (process.env.VITE_DEV_SERVER_URL) {
|
||
win.loadURL(process.env.VITE_DEV_SERVER_URL);
|
||
// 使用vite开发服务的url路径访问应用
|
||
} else {
|
||
win.loadFile(path.resolve(__dirname, '../dist/index.html')); // 打包后使用文件路径访问应用
|
||
}
|
||
win.webContents.openDevTools();
|
||
|
||
app.on("activate", () => {
|
||
// 在 macOS 系统内, 如果没有已开启的应用窗口
|
||
// 点击托盘图标时通常会重新创建一个新窗口
|
||
if (BrowserWindow.getAllWindows().length === 0) {
|
||
createWindow()
|
||
};
|
||
});
|
||
|
||
ipcMain.on("quitHandler", (_, msg) => {
|
||
app.quit();
|
||
});
|
||
|
||
ipcMain.on('printerInfoSync', async (event, params) => {
|
||
await printUtils(params)
|
||
})
|
||
});
|
||
|
||
app.on("window-all-closed", () => {
|
||
if (process.platform !== "darwin") app.quit();
|
||
});
|