diff --git a/frontend/dist-electron/main.js b/frontend/dist-electron/main.js index 4a48150..ced6ec1 100644 --- a/frontend/dist-electron/main.js +++ b/frontend/dist-electron/main.js @@ -42,11 +42,11 @@ function createWindow() { height: 900, minWidth: 800, minHeight: 600, - icon: path.join(__dirname, '../public/AUTO_MAA.ico'), // 设置应用图标 + icon: path.join(__dirname, '../src/assets/AUTO_MAA.ico'), // 设置应用图标 webPreferences: { preload: path.join(__dirname, 'preload.js'), nodeIntegration: false, - contextIsolation: true + contextIsolation: true, }, // 隐藏菜单栏 autoHideMenuBar: true, @@ -60,7 +60,8 @@ function createWindow() { mainWindow.loadURL(devServer); } else { - mainWindow.loadFile(path.join(__dirname, '../dist/index.html')); + const indexHtmlPath = path.join(electron_1.app.getAppPath(), 'dist', 'index.html'); + mainWindow.loadFile(indexHtmlPath); } mainWindow.on('closed', () => { mainWindow = null; @@ -79,7 +80,7 @@ electron_1.ipcMain.handle('select-folder', async () => { return null; const result = await electron_1.dialog.showOpenDialog(mainWindow, { properties: ['openDirectory'], - title: '选择文件夹' + title: '选择文件夹', }); if (result.canceled) { return null; @@ -93,9 +94,7 @@ electron_1.ipcMain.handle('select-file', async (event, filters = []) => { const result = await electron_1.dialog.showOpenDialog(mainWindow, { properties: ['openFile'], title: '选择文件', - filters: filters.length > 0 ? filters : [ - { name: '所有文件', extensions: ['*'] } - ] + filters: filters.length > 0 ? filters : [{ name: '所有文件', extensions: ['*'] }], }); if (result.canceled) { return null; diff --git a/frontend/electron/main.ts b/frontend/electron/main.ts index 9d549f8..12aa23a 100644 --- a/frontend/electron/main.ts +++ b/frontend/electron/main.ts @@ -4,87 +4,86 @@ import * as path from 'path' let mainWindow: BrowserWindow | null = null function createWindow() { - mainWindow = new BrowserWindow({ - width: 1600, - height: 900, - minWidth: 800, - minHeight: 600, - icon: path.join(__dirname, '../public/AUTO_MAA.ico'), // 设置应用图标 - webPreferences: { - preload: path.join(__dirname, 'preload.js'), - nodeIntegration: false, - contextIsolation: true - }, - // 隐藏菜单栏 - autoHideMenuBar: true, - // 或者完全移除菜单栏(推荐) - // menuBarVisible: false - }) + mainWindow = new BrowserWindow({ + width: 1600, + height: 900, + minWidth: 800, + minHeight: 600, + icon: path.join(__dirname, '../src/assets/AUTO_MAA.ico'), // 设置应用图标 + webPreferences: { + preload: path.join(__dirname, 'preload.js'), + nodeIntegration: false, + contextIsolation: true, + }, + // 隐藏菜单栏 + autoHideMenuBar: true, + // 或者完全移除菜单栏(推荐) + // menuBarVisible: false + }) - // 完全移除菜单栏 - mainWindow.setMenuBarVisibility(false) + // 完全移除菜单栏 + mainWindow.setMenuBarVisibility(false) - const devServer = process.env.VITE_DEV_SERVER_URL - if (devServer) { - mainWindow.loadURL(devServer) - } else { - mainWindow.loadFile(path.join(__dirname, '../dist/index.html')) - } + const devServer = process.env.VITE_DEV_SERVER_URL + if (devServer) { + mainWindow.loadURL(devServer) + } else { + const indexHtmlPath = path.join(app.getAppPath(), 'dist', 'index.html') + mainWindow.loadFile(indexHtmlPath) + } - mainWindow.on('closed', () => { - mainWindow = null - }) + mainWindow.on('closed', () => { + mainWindow = null + }) } // 处理开发者工具请求 ipcMain.handle('open-dev-tools', () => { - if (mainWindow) { - // 在新窗口中打开开发者工具 - mainWindow.webContents.openDevTools({ mode: 'undocked' }) - } + if (mainWindow) { + // 在新窗口中打开开发者工具 + mainWindow.webContents.openDevTools({ mode: 'undocked' }) + } }) // 处理文件夹选择请求 ipcMain.handle('select-folder', async () => { - if (!mainWindow) return null - - const result = await dialog.showOpenDialog(mainWindow, { - properties: ['openDirectory'], - title: '选择文件夹' - }) - - if (result.canceled) { - return null - } - - return result.filePaths[0] + if (!mainWindow) return null + + const result = await dialog.showOpenDialog(mainWindow, { + properties: ['openDirectory'], + title: '选择文件夹', + }) + + if (result.canceled) { + return null + } + + return result.filePaths[0] }) // 处理文件选择请求 ipcMain.handle('select-file', async (event, filters = []) => { - if (!mainWindow) return null - - const result = await dialog.showOpenDialog(mainWindow, { - properties: ['openFile'], - title: '选择文件', - filters: filters.length > 0 ? filters : [ - { name: '所有文件', extensions: ['*'] } - ] - }) - - if (result.canceled) { - return null - } - - return result.filePaths[0] + if (!mainWindow) return null + + const result = await dialog.showOpenDialog(mainWindow, { + properties: ['openFile'], + title: '选择文件', + filters: filters.length > 0 ? filters : [{ name: '所有文件', extensions: ['*'] }], + }) + + if (result.canceled) { + return null + } + + return result.filePaths[0] }) app.whenReady().then(createWindow) app.on('window-all-closed', () => { - if (process.platform !== 'darwin') app.quit() + if (process.platform !== 'darwin') app.quit() }) app.on('activate', () => { - if (mainWindow === null) createWindow() + if (mainWindow === null) createWindow() }) diff --git a/frontend/vite.config.ts b/frontend/vite.config.ts index 394361b..ffa79f7 100644 --- a/frontend/vite.config.ts +++ b/frontend/vite.config.ts @@ -5,6 +5,7 @@ import path from 'path' // https://vite.dev/config/ export default defineConfig({ plugins: [vue()], + base: './', resolve: { extensions: ['.js', '.ts', '.vue', '.json'], alias: {