chore: initial commit - maqt-desktop v0.2
- Phase 1-5: UI framework, auth, weapon schemes, color filters, system optimization - Industrial/tech design style with Chinese localization - Points to gch3n.online/delta backend API - Hardware monitor, filter editor, and all module pages
This commit is contained in:
65
electron/main.js
Normal file
65
electron/main.js
Normal file
@@ -0,0 +1,65 @@
|
||||
"use strict";
|
||||
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
||||
if (k2 === undefined) k2 = k;
|
||||
var desc = Object.getOwnPropertyDescriptor(m, k);
|
||||
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
||||
desc = { enumerable: true, get: function() { return m[k]; } };
|
||||
}
|
||||
Object.defineProperty(o, k2, desc);
|
||||
}) : (function(o, m, k, k2) {
|
||||
if (k2 === undefined) k2 = k;
|
||||
o[k2] = m[k];
|
||||
}));
|
||||
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
||||
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
||||
}) : function(o, v) {
|
||||
o["default"] = v;
|
||||
});
|
||||
var __importStar = (this && this.__importStar) || (function () {
|
||||
var ownKeys = function(o) {
|
||||
ownKeys = Object.getOwnPropertyNames || function (o) {
|
||||
var ar = [];
|
||||
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
||||
return ar;
|
||||
};
|
||||
return ownKeys(o);
|
||||
};
|
||||
return function (mod) {
|
||||
if (mod && mod.__esModule) return mod;
|
||||
var result = {};
|
||||
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
||||
__setModuleDefault(result, mod);
|
||||
return result;
|
||||
};
|
||||
})();
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const electron_1 = require("electron");
|
||||
const path = __importStar(require("path"));
|
||||
let mainWindow = null;
|
||||
function createWindow() {
|
||||
mainWindow = new electron_1.BrowserWindow({
|
||||
width: 1400,
|
||||
height: 900,
|
||||
minWidth: 1100,
|
||||
minHeight: 700,
|
||||
frame: false, // 无边框自定义标题栏
|
||||
transparent: false,
|
||||
backgroundColor: '#0A0E17',
|
||||
webPreferences: {
|
||||
preload: path.join(__dirname, 'preload.js'),
|
||||
contextIsolation: true,
|
||||
nodeIntegration: false,
|
||||
devTools: true,
|
||||
},
|
||||
});
|
||||
if (process.env.VITE_DEV_SERVER_URL) {
|
||||
mainWindow.loadURL(process.env.VITE_DEV_SERVER_URL);
|
||||
mainWindow.webContents.openDevTools();
|
||||
}
|
||||
else {
|
||||
mainWindow.loadFile(path.join(__dirname, '../dist/index.html'));
|
||||
}
|
||||
}
|
||||
electron_1.app.whenReady().then(createWindow);
|
||||
electron_1.app.on('window-all-closed', () => { if (process.platform !== 'darwin')
|
||||
electron_1.app.quit(); });
|
||||
32
electron/main.ts
Normal file
32
electron/main.ts
Normal file
@@ -0,0 +1,32 @@
|
||||
import { app, BrowserWindow, ipcMain } from 'electron';
|
||||
import * as path from 'path';
|
||||
|
||||
let mainWindow: BrowserWindow | null = null;
|
||||
|
||||
function createWindow() {
|
||||
mainWindow = new BrowserWindow({
|
||||
width: 1400,
|
||||
height: 900,
|
||||
minWidth: 1100,
|
||||
minHeight: 700,
|
||||
frame: false, // 无边框自定义标题栏
|
||||
transparent: false,
|
||||
backgroundColor: '#0A0E17',
|
||||
webPreferences: {
|
||||
preload: path.join(__dirname, 'preload.js'),
|
||||
contextIsolation: true,
|
||||
nodeIntegration: false,
|
||||
devTools: true,
|
||||
},
|
||||
});
|
||||
|
||||
if (process.env.VITE_DEV_SERVER_URL) {
|
||||
mainWindow.loadURL(process.env.VITE_DEV_SERVER_URL);
|
||||
mainWindow.webContents.openDevTools();
|
||||
} else {
|
||||
mainWindow.loadFile(path.join(__dirname, '../dist/index.html'));
|
||||
}
|
||||
}
|
||||
|
||||
app.whenReady().then(createWindow);
|
||||
app.on('window-all-closed', () => { if (process.platform !== 'darwin') app.quit(); });
|
||||
26
electron/preload.js
Normal file
26
electron/preload.js
Normal file
@@ -0,0 +1,26 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const electron_1 = require("electron");
|
||||
electron_1.contextBridge.exposeInMainWorld('electronAPI', {
|
||||
// 通用
|
||||
getAppVersion: () => electron_1.ipcRenderer.invoke('get-app-version'),
|
||||
getPlatform: () => process.platform,
|
||||
// Overlay
|
||||
startOverlay: (options) => electron_1.ipcRenderer.invoke('overlay:start', options),
|
||||
stopOverlay: () => electron_1.ipcRenderer.invoke('overlay:stop'),
|
||||
// 硬件监控
|
||||
startMonitor: () => electron_1.ipcRenderer.invoke('monitor:start'),
|
||||
stopMonitor: () => electron_1.ipcRenderer.invoke('monitor:stop'),
|
||||
// 文件/路径
|
||||
openExternal: (url) => electron_1.ipcRenderer.invoke('open-external', url),
|
||||
getResourcesPath: () => electron_1.ipcRenderer.invoke('get-resources-path'),
|
||||
existsSync: (path) => electron_1.ipcRenderer.invoke('fs:exists', path),
|
||||
// 系统优化
|
||||
optimizeItem: (id) => electron_1.ipcRenderer.invoke('optimize:item', id),
|
||||
restoreItem: (id) => electron_1.ipcRenderer.invoke('optimize:restore', id),
|
||||
getOptimizeItems: () => electron_1.ipcRenderer.invoke('optimize:list'),
|
||||
// 窗口
|
||||
minimizeWindow: () => electron_1.ipcRenderer.invoke('window:minimize'),
|
||||
maximizeWindow: () => electron_1.ipcRenderer.invoke('window:maximize'),
|
||||
closeWindow: () => electron_1.ipcRenderer.invoke('window:close'),
|
||||
});
|
||||
30
electron/preload.ts
Normal file
30
electron/preload.ts
Normal file
@@ -0,0 +1,30 @@
|
||||
import { contextBridge, ipcRenderer } from 'electron';
|
||||
|
||||
contextBridge.exposeInMainWorld('electronAPI', {
|
||||
// 通用
|
||||
getAppVersion: () => ipcRenderer.invoke('get-app-version'),
|
||||
getPlatform: () => process.platform,
|
||||
|
||||
// Overlay
|
||||
startOverlay: (options: any) => ipcRenderer.invoke('overlay:start', options),
|
||||
stopOverlay: () => ipcRenderer.invoke('overlay:stop'),
|
||||
|
||||
// 硬件监控
|
||||
startMonitor: () => ipcRenderer.invoke('monitor:start'),
|
||||
stopMonitor: () => ipcRenderer.invoke('monitor:stop'),
|
||||
|
||||
// 文件/路径
|
||||
openExternal: (url: string) => ipcRenderer.invoke('open-external', url),
|
||||
getResourcesPath: () => ipcRenderer.invoke('get-resources-path'),
|
||||
existsSync: (path: string) => ipcRenderer.invoke('fs:exists', path),
|
||||
|
||||
// 系统优化
|
||||
optimizeItem: (id: string) => ipcRenderer.invoke('optimize:item', id),
|
||||
restoreItem: (id: string) => ipcRenderer.invoke('optimize:restore', id),
|
||||
getOptimizeItems: () => ipcRenderer.invoke('optimize:list'),
|
||||
|
||||
// 窗口
|
||||
minimizeWindow: () => ipcRenderer.invoke('window:minimize'),
|
||||
maximizeWindow: () => ipcRenderer.invoke('window:maximize'),
|
||||
closeWindow: () => ipcRenderer.invoke('window:close'),
|
||||
});
|
||||
Reference in New Issue
Block a user