mirror of
https://gitee.com/dromara/electron-egg.git
synced 2026-05-15 04:02:10 +08:00
93 lines
1.9 KiB
JavaScript
93 lines
1.9 KiB
JavaScript
const server = require("./server");
|
|
const { app: electronApp } = require('electron');
|
|
const Log = require('ee-core/log');
|
|
const Conf = require('ee-core/config');
|
|
const GetPort = require('ee-core/utils/get-port');
|
|
|
|
/**
|
|
* java server插件
|
|
* @class
|
|
*/
|
|
class JavaServerAddon {
|
|
|
|
constructor() {
|
|
this.cfg;
|
|
this.javaServer;
|
|
}
|
|
|
|
/**
|
|
* 创建java服务
|
|
*
|
|
* @function
|
|
* @since 1.0.0
|
|
*/
|
|
async createServer () {
|
|
|
|
this.cfg = Conf.getValue('addons.javaServer');
|
|
await this.createJavaPorts();
|
|
|
|
this.javaServer = new server();
|
|
await this.javaServer.create(this.cfg);
|
|
|
|
// kill
|
|
electronApp.on("before-quit", async () => {
|
|
Log.info("[addon:javaServer] before-quit: kill-----------");
|
|
await this.javaServer.kill();
|
|
});
|
|
|
|
return;
|
|
}
|
|
|
|
/**
|
|
* todo 检查服务是否启动
|
|
*
|
|
* @function
|
|
* @since 1.0.0
|
|
*/
|
|
async check () {
|
|
Log.info("进入-----检查服务是否启动------"+this.javaServer);
|
|
if(this.javaServer == undefined){
|
|
Log.info("[addon:javaServer:check] status-----------"+false);
|
|
return false;
|
|
}
|
|
|
|
const flag = await this.javaServer.isRun(Conf.getValue('addons.javaServer'));
|
|
Log.info("[addon:javaServer:check] status-----------"+flag);
|
|
|
|
return flag;
|
|
}
|
|
|
|
/**
|
|
* 创建服务端口
|
|
*
|
|
* @function
|
|
* @since 1.0.0
|
|
*/
|
|
async createJavaPorts() {
|
|
if (!this.cfg.enable) {
|
|
return;
|
|
}
|
|
const javaPort = await GetPort({ port: this.cfg.port });
|
|
process.env.EE_JAVA_PORT = javaPort;
|
|
this.cfg.port = javaPort;
|
|
|
|
// 更新config配置
|
|
Conf.setValue('addons.javaServer', this.cfg);
|
|
}
|
|
|
|
/**
|
|
* 杀掉进程
|
|
*
|
|
* @function
|
|
* @since 1.0.0
|
|
*/
|
|
async kill() {
|
|
if (!this.cfg.enable) {
|
|
return;
|
|
}
|
|
await this.javaServer.kill();
|
|
}
|
|
}
|
|
|
|
JavaServerAddon.toString = () => '[class JavaServerAddon]';
|
|
module.exports = JavaServerAddon; |