import { app, BrowserWindow } from 'electron'; import express, { Request, Response } from 'express'; import morgan from 'morgan'; import cors from 'cors'; import { loadView, saveView, saveViewAs } from './save-view'; import { createWindow } from './windows'; const corsOptions = { // 一些旧版浏览器(如 IE11、各种 SmartTV)在 204 状态下会有问题 optionsSuccessStatus: 200 }; const backendApp = express(); backendApp.use(express.json()); backendApp.use(cors(corsOptions)); backendApp.use(morgan('dev')); backendApp.get('/', (req: Request, res: Response) => { res.send('

Hello, World!


'); }); backendApp.post('/save-view', saveView); backendApp.post('/save-view-as', saveViewAs); backendApp.post('/load-view', loadView); const PORT = process.env.PORT || 3000; backendApp.listen(PORT, () => { console.log(`Server is running on port ${PORT}`); }); // 下面注册 electron 窗口 app.on('ready', () => { createWindow(); }); app.on('activate', () => { if (BrowserWindow.getAllWindows().length === 0) { createWindow(); } }); app.on('window-all-closed', () => { if (process.platform !== 'darwin') { app.quit(); } });