"use strict"; import { logger } from "ee-core/log"; import { getExtraResourcesDir, getLogDir } from "ee-core/ps"; import { join } from "path"; import { is } from "ee-core/utils"; import { cross } from "ee-core/cross"; /** * cross * @class */ class CrossService { info() { const pids = cross.getPids(); logger.info("cross pids:", pids); let num = 1; pids.forEach((pid) => { let entity = cross.getProc(pid); logger.info(`server-${num} name:${entity.name}`); logger.info(`server-${num} config:`, entity.config); num++; }); return "hello electron-egg"; } getUrl(name) { const serverUrl = cross.getUrl(name); return serverUrl; } killServer(type, name) { if (type == "all") { cross.killAll(); } else { cross.killByName(name); } } /** * create java server */ createJavaServer() { const serviceName = "java"; const jarPath = join(getExtraResourcesDir(), "server.jar"); const opt = { name: "javaapp", cmd: join(getExtraResourcesDir(), "jre25/bin/javaw.exe"), directory: getExtraResourcesDir(), args: [ "-jar", "-server", "-Xms128M", "-Xmx512M", `${jarPath}`, ], appExit: false, }; if (is.macOS()) { // Setup Java program opt.cmd = join( getExtraResourcesDir(), "jre1.8.0_201.jre/Contents/Home/bin/java", ); } if (is.linux()) { // Setup Java program } cross.run(serviceName, opt).then((entity) => { logger.info("server name:", entity.name); logger.info("server config:", entity.config); logger.info("server url:", cross.getUrl(entity.name)); }); return; } } CrossService.toString = () => "[class CrossService]"; export default { CrossService, crossService: new CrossService(), };