LaiTool_PRO/src/main/index.ts
2025-08-19 14:33:59 +08:00

62 lines
1.8 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import { app, BrowserWindow } from 'electron'
import { electronApp, optimizer } from '@electron-toolkit/utils'
import { CreatWindow } from '../define/window/windowManager'
import { Logger } from '../define/Tools/logger'
import { successMessage } from '@/public/generalTools'
// import { machineId } from 'node-machine-id'
// 在文件顶部添加这段代码
process.on('unhandledRejection', (reason, promise) => {
console.error('未处理的Promise拒绝:', promise, '原因:', reason)
// 可以选择记录到日志文件或者向用户显示错误
})
// 在应用启动前,设置正确的编码
process.env.LANG = 'zh_CN.UTF-8'
async function createWindow() {
try {
// 创建主窗口
global.wm = new CreatWindow()
let win = global.wm.createWin('main', { openDevTools: false, minWidth: 1000, minHeight: 750 })
global.wins = [win]
global.wm.ipcMainListen()
// 先初始化日志
global.logger = new Logger()
// 再初始化文件夹和配置
await global.wm.initConfigFolderOrFile()
await global.wm.InitConfig()
successMessage(
null,
'软件初始化成功,创建窗体成功,初始化配置,初始化日志成功',
'SoftWare.Init'
)
} catch (error: any) {
console.error('应用初始化失败:', error)
// 移除throw error改为返回一个自定义错误消息
throw error
}
}
app.whenReady().then(async () => {
electronApp.setAppUserModelId('com.electron')
app.on('browser-window-created', (_, window) => {
optimizer.watchWindowShortcuts(window)
})
await createWindow()
app.on('activate', async function () {
if (BrowserWindow.getAllWindows().length === 0) await createWindow()
})
})
app.on('window-all-closed', () => {
if (process.platform !== 'darwin') {
app.quit()
}
})