IYUUPlus-Windows/main.js

57 lines
1.4 KiB
JavaScript
Raw Normal View History

2024-06-28 12:21:47 +08:00
const { app, BrowserWindow } = require('electron')
2024-06-27 17:29:25 +08:00
const path = require('node:path')
const server = require('./server/server');
2024-06-28 16:13:57 +08:00
const log = require('electron-log')
2024-06-28 21:57:14 +08:00
if (require('electron-squirrel-startup')) {
app.quit()
return
}
2024-06-27 17:29:25 +08:00
const createWindow = () => {
const win = new BrowserWindow({
width: 800,
height: 600,
webPreferences: {
2024-06-28 16:13:57 +08:00
nodeIntegration: true,
contextIsolation: false,
2024-06-27 17:29:25 +08:00
preload: path.join(__dirname, 'preload.js')
}
})
2024-06-27 18:27:45 +08:00
require("./menu/menu.js")
2024-06-27 17:29:25 +08:00
win.loadURL('http://127.0.0.1:8787')
}
app.whenReady().then(() => {
2024-06-28 16:13:57 +08:00
log.transports.file.encoding = 'utf8';
log.transports.file.file = path.join(app.getPath('userData'), 'logs/iyuu.log');
log.transports.file.format = '{y}-{m}-{d} {h}:{i}:{s} {text}';
log.info('App is starting...');
2024-06-27 17:29:25 +08:00
server.startServer()
2024-06-28 16:13:57 +08:00
log.info("[About] 新疆萌森软件开发工作室提供技术支持");
2024-06-27 17:29:25 +08:00
2024-06-28 12:21:47 +08:00
setTimeout(() => {
createWindow()
app.on('activate', () => {
if (BrowserWindow.getAllWindows().length === 0) createWindow()
})
}, 5000)
2024-06-27 17:29:25 +08:00
})
app.on('window-all-closed', () => {
server.stopServer()
if (process.platform !== 'darwin') app.quit()
2024-06-28 16:13:57 +08:00
})
process.on('uncaughtException', (error) => {
log.error('Uncaught Exception:', error);
});
process.on('unhandledRejection', (reason, promise) => {
log.error('Unhandled Rejection at:', promise, 'reason:', reason);
});