| 1234567891011121314151617181920212223242526272829303132333435363738 |
- '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;
|