mirror of
https://gitee.com/dromara/electron-egg.git
synced 2026-05-15 12:12:08 +08:00
39 lines
896 B
JavaScript
39 lines
896 B
JavaScript
'use strict';
|
|
|
|
const request = require('superagent');
|
|
const Service = require('egg').Service;
|
|
|
|
class BaseService extends Service {
|
|
/*
|
|
* ipc call
|
|
*/
|
|
async ipcCall(method = '', ...params) {
|
|
let result = {
|
|
err: null,
|
|
data: null
|
|
};
|
|
if (!method) {
|
|
result.err = 'Method does not exist';
|
|
return result;
|
|
}
|
|
|
|
const port = this.service.storage.getElectronIPCPort();
|
|
const url = 'localhost:' + port + '/send';
|
|
try {
|
|
const response = await request.post(url)
|
|
.send({ cmd: method, params: params })
|
|
.set('accept', 'json');
|
|
|
|
result = JSON.parse(response.text);
|
|
} catch (err) {
|
|
this.app.logger.error('[base] [ipcCall] request error:', err);
|
|
result.err = 'request err';
|
|
}
|
|
this.app.logger.info('[base] [ipcCall] result:', result);
|
|
|
|
return result;
|
|
}
|
|
}
|
|
|
|
module.exports = BaseService;
|