socket.js 684 B

123456789101112131415161718192021222324252627282930
  1. 'use strict';
  2. const BaseService = require('./base');
  3. const io = require('socket.io-client');
  4. this.instance = null;
  5. class SocketService extends BaseService {
  6. instance() {
  7. if (!SocketService.instance) {
  8. const port = this.service.storage.getElectronIPCPort();
  9. const url = 'http://localhost:' + port;
  10. const instance = io(url);
  11. SocketService.instance = instance;
  12. }
  13. return SocketService.instance;
  14. }
  15. call (method = '', params) {
  16. return new Promise((resolve, reject) => {
  17. this.instance().emit('ipc', { cmd: method, params: params }, (response) => {
  18. resolve(response);
  19. });
  20. });
  21. }
  22. }
  23. module.exports = SocketService;