Files
electron-egg/app/service/socket.js
2021-01-07 18:37:22 +08:00

37 lines
832 B
JavaScript

'use strict';
const BaseService = require('./base');
const io = require('socket.io-client');
this.instance = null;
class SocketService extends BaseService {
instance() {
if (!SocketService.instance) {
const port = this.service.storage.getElectronIPCPort();
const url = 'http://localhost:' + port;
const instance = io(url);
SocketService.instance = instance;
}
return SocketService.instance;
}
call (method = '', params) {
return new Promise((resolve, reject) => {
this.instance().emit('ipc', { cmd: method, params: params }, (response) => {
resolve(response);
});
});
}
async getWsUrl () {
const port = this.service.storage.getElectronIPCPort();
const url = 'http://localhost:' + port;
return url;
}
}
module.exports = SocketService;