需求:因为需要实时接收后台的消息,这次项目中用到websocket
一、websocket.js的封装,主要的步骤如下,大家可以根据自己的需求进行改(因为我这里需要接收到后台的消息后对某些vue组件进行央视改变,但是这个项目没有用vuex状态管理,所以接收消息的步骤我放到了组件里,同时在main.js里进行了全局的设置,具体的我们继续往下看)
/**
* websockect通信
* 调用
* import {SocketMgr} from '../websocket';
* SocketMgr.connect();
* **/
let socket = null;
let setIntervalWesocketPush = null;
let setTimeWesocket = null;
let isHaxWs = false;//避免连上多个ws
let SocketMgr = {
ws:{},
setWs:function(newWs){
this.ws = newWs
},
connect:function() {
let that = this;
if ('WebSocket' in window) {
socket = new WebSocket(WSS_URL);
this.setWs(socket);
/**打开WS之后发送心跳 */
socket.onopen = function(){
const json ={//参数需要和后台进行协商
'user_id': window.config.user_info.user_id
'session_id': window.config.user_info.sessionid