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() } })