base.js 896 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. 'use strict';
  2. const request = require('superagent');
  3. const Service = require('egg').Service;
  4. class BaseService extends Service {
  5. /*
  6. * ipc call
  7. */
  8. async ipcCall(method = '', ...params) {
  9. let result = {
  10. err: null,
  11. data: null
  12. };
  13. if (!method) {
  14. result.err = 'Method does not exist';
  15. return result;
  16. }
  17. const port = this.service.storage.getElectronIPCPort();
  18. const url = 'localhost:' + port + '/send';
  19. try {
  20. const response = await request.post(url)
  21. .send({ cmd: method, params: params })
  22. .set('accept', 'json');
  23. result = JSON.parse(response.text);
  24. } catch (err) {
  25. this.app.logger.error('[base] [ipcCall] request error:', err);
  26. result.err = 'request err';
  27. }
  28. this.app.logger.info('[base] [ipcCall] result:', result);
  29. return result;
  30. }
  31. }
  32. module.exports = BaseService;