living-together/source/Electron/Electron.ts
2022-04-15 17:42:29 +08:00

44 lines
886 B
TypeScript

import { app, BrowserWindow } from "electron";
import { Service } from "@Service/Service";
const ENV = process.env ?? {};
class ElectronApp {
public service: Service;
public serviceUrl: string = "http://127.0.0.1";
public constructor() {
this.service = new Service();
}
public async runService() {
let defaultPort: number | undefined = parseInt(ENV.LIVING_TOGETHER_DEFAULT_PORT ?? "");
if (isNaN(defaultPort)) defaultPort = undefined;
this.serviceUrl = await this.service.run(
ENV.LIVING_TOGETHER_BASE_PATH, defaultPort
);
}
public mainWindows?: BrowserWindow;
public async runMainThread() {
await app.whenReady();
await this.runService();
this.mainWindows = new BrowserWindow({
width: 800,
height: 600,
titleBarStyle: 'hidden',
frame: false,
});
this.mainWindows.loadURL(this.serviceUrl);
}
}
new ElectronApp().runMainThread();