- js文件
import vuex form '@g/store'
let WS_API
WS_API == 'ws://10.10.10.10'
let websocket = null
let isConnect = false
var tokens = ''
let createWebSocket = () => {
try{
const wsurl = WS_API + "/socket/" + res.tonken
websock = new WebSocket(wsurl)
initWebsocker()
}catch(e){
}
}
let initWebsocker = () => {
websock.onopen = function (e){
isConnect = true
}
websock.onmessage= function (e){
if(e.data){
vuex.commit('socketMsg',e.data)
}
}
websock.onclose= function (e){
isConnect = false
reConnect()
}
websock.onclose= function (e){
isConnect = false
reConnect()
}
}
let rec
let reConnect = () => {
if(isConnect) return
rec && clearTimeout(rec)
rec = setTimeout(function(){
createWebSocket()
},2000)
}
export {createWebSocket}
- vue文件使用
computed:{
return this.$route.state.app.socketMsg
},
watch:{
socketMsg: function(newVal,oldVal){
}
}