123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- const io = require('../lib/Socket.io');
- const {tutorial} = require('../utils/Bundle');
- const {Api} = require('./Conf');
- var Ws = function() {
- this.socket = new io(Api.SocketLocal, {
- autoConnect: false, //自动连接
- reconnection: true, //断开自动重连
- reconnectionDelay: 2000, //自动重连时间,默认为2000毫秒
- reconnectionAttempts: 10, //最大重连尝试次数,默认为Infinity
- forceNew: true, //
- })
- this.socket.on("connect", () => {
- console.log(`Socket connected: ${Api.SocketLocal}`);
- })
- }
- Ws.prototype.open = function() {
- this.socket.open()
- }
- /**
- * 监听Websocket事件
- * @param {String} eventName 监听事件名称
- * @param {Function} callback 事件触发回调
- */
- Ws.prototype.on = function(eventName, callback) {
- if(eventName) {
- this.socket.on(eventName, data => {
- console.log(`Socket On Event: ${eventName}`);
- callback && callback(data)
- })
- }
- }
- /**
- * 上报Websocket报文
- * @param {String} eventName 上报事件名
- * @param {Object} data 上报数据
- */
- Ws.prototype.emit = function(eventName, data) {
- if(eventName) {
- console.log(`Socket Do Emit: ${eventName}`, data);
- this.socket.emit(eventName, data);
- }
- }
- module.exports = new Ws();
|