Update electron builder and fix mobile terminal background

This commit is contained in:
LukeGus
2025-09-10 01:11:11 -05:00
parent 4b7cb03f7a
commit 9d84469ea3
11 changed files with 5585 additions and 50 deletions

View File

@@ -16,27 +16,68 @@ function startBackendServer() {
return;
}
const backendPath = path.join(__dirname, '../dist/backend/starter.js');
// 在打包环境中,后端文件在 resources/app/dist/backend/backend/ 目录下
const backendPath = isDev
? path.join(__dirname, '../dist/backend/starter.js')
: path.join(process.resourcesPath, 'app', 'dist', 'backend', 'backend', 'starter.js');
console.log('Starting backend server from:', backendPath);
console.log('Working directory:', process.cwd());
// 设置环境变量
const env = {
...process.env,
NODE_ENV: 'production',
DATA_PATH: app.getPath('userData'),
DB_PATH: path.join(app.getPath('userData'), 'database.db'),
VERSION: app.getVersion()
};
// 检查文件是否存在
const fs = require('fs');
if (!fs.existsSync(backendPath)) {
console.error('Backend file not found at:', backendPath);
return;
}
console.log('Backend file exists, starting process...');
console.log('Environment variables:', env);
backendProcess = spawn('node', [backendPath], {
stdio: ['ignore', 'pipe', 'pipe'],
detached: false,
cwd: path.join(__dirname, '..') // Set working directory to app root
cwd: isDev ? path.join(__dirname, '..') : process.resourcesPath,
env: env
});
backendProcess.stdout.on('data', (data) => {
console.log('Backend:', data.toString());
console.log('Backend stdout:', data.toString());
});
backendProcess.stderr.on('data', (data) => {
console.error('Backend Error:', data.toString());
console.error('Backend stderr:', data.toString());
});
backendProcess.on('close', (code) => {
console.log(`Backend process exited with code ${code}`);
backendProcess = null;
});
backendProcess.on('error', (error) => {
console.error('Failed to start backend process:', error);
console.error('Error details:', error.message);
console.error('Error code:', error.code);
backendProcess = null;
});
// 等待一下看看进程是否启动成功
setTimeout(() => {
if (backendProcess && !backendProcess.killed) {
console.log('Backend process appears to be running');
} else {
console.error('Backend process failed to start or died immediately');
}
}, 1000);
}
// 停止后端服务
@@ -144,12 +185,29 @@ ipcMain.handle('get-platform', () => {
return process.platform;
});
// 应用事件处理
app.whenReady().then(() => {
// 在生产环境启动后端服务
if (!isDev) {
ipcMain.handle('get-backend-port', () => {
return 8081; // 后端服务端口
});
ipcMain.handle('restart-backend', async () => {
try {
stopBackendServer();
await new Promise(resolve => setTimeout(resolve, 1000)); // 等待1秒
startBackendServer();
return { success: true };
} catch (error) {
return { success: false, error: error.message };
}
});
// 应用事件处理
app.whenReady().then(async () => {
// 启动后端服务
startBackendServer();
// 等待后端服务启动
await new Promise(resolve => setTimeout(resolve, 2000));
createWindow();
});