Files
AUTO-MAS-test/frontend/electron/main.ts
AoXuan d4f8165b87 feat(frontend): 实现 AUTO_MAA 前端基础结构
- 创建 Vue 3 + TypeScript 项目
- 添加 Electron 支持
- 实现基本页面布局和路由- 添加主题切换功能
- 创建设置页面
- 添加开发者工具支持
2025-08-02 23:10:22 +08:00

55 lines
1.3 KiB
TypeScript

import { app, BrowserWindow, ipcMain } from 'electron'
import * as path from 'path'
let mainWindow: BrowserWindow | null = null
function createWindow() {
mainWindow = new BrowserWindow({
width: 1200,
height: 800,
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.setMenuBarVisibility(false)
const devServer = process.env.VITE_DEV_SERVER_URL
if (devServer) {
mainWindow.loadURL(devServer)
} else {
mainWindow.loadFile(path.join(__dirname, '../dist/index.html'))
}
mainWindow.on('closed', () => {
mainWindow = null
})
}
// 处理开发者工具请求
ipcMain.handle('open-dev-tools', () => {
if (mainWindow) {
mainWindow.webContents.openDevTools()
}
})
app.whenReady().then(createWindow)
app.on('window-all-closed', () => {
if (process.platform !== 'darwin') app.quit()
})
app.on('activate', () => {
if (mainWindow === null) createWindow()
})