Files
electron-egg/app/service/base.js
gaoshuaixing d0f513db7d ipc call
2020-12-24 14:38:10 +08:00

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;