75 lines
1.8 KiB
Vue
75 lines
1.8 KiB
Vue
<!--
|
|
* @Author: Robin.lau
|
|
* @Email: 329080237@qq.com
|
|
* @Wechat: 15618110227
|
|
-->
|
|
<template>
|
|
<div id="app">
|
|
<router-view v-if="isRouterAlive" :key="key"></router-view>
|
|
</div>
|
|
</template>
|
|
|
|
<script>
|
|
export default {
|
|
name: 'App',
|
|
provide() {
|
|
return {
|
|
reload: this.reload,
|
|
}
|
|
},
|
|
data() {
|
|
return {
|
|
isRouterAlive: true,
|
|
userInfo: JSON.parse(localStorage.getItem("userInfo")),
|
|
}
|
|
},
|
|
created() {
|
|
if(this.userInfo){
|
|
this.initSocket()
|
|
}
|
|
},
|
|
computed: {
|
|
key() {
|
|
return this.$route.path
|
|
}
|
|
},
|
|
methods: {
|
|
reload() {
|
|
this.isRouterAlive = false
|
|
this.$nextTick(function() {
|
|
this.isRouterAlive = true
|
|
})
|
|
},
|
|
|
|
//初始化 websocket连接
|
|
initSocket() {
|
|
let that = this;
|
|
if ("WebSocket" in window) {
|
|
//线上环境
|
|
//that.ws = new WebSocket("ws://wb-web.traumwork.com/ws/client/"+that.userInfo.id+"/");
|
|
//本地环境
|
|
that.ws = new WebSocket("ws://127.0.0.1:8000/ws/client/"+that.userInfo.id+"/");
|
|
that.wsGlobal.setWs(that.ws);
|
|
that.ws.onopen = function () {
|
|
console.log('websocket连接成功');
|
|
};
|
|
|
|
that.ws.onclose = function () {
|
|
// 关闭 websocket
|
|
console.log("连接已关闭...");
|
|
//断线重新连接
|
|
// setTimeout(() => {
|
|
// that.initSocket();
|
|
// }, 3000);
|
|
};
|
|
} else {
|
|
// 浏览器不支持 WebSocket
|
|
console.log("您的浏览器不支持 WebSocket!");
|
|
this.openNotificationWithIcon('error', '浏览器', '您的浏览器不支持显示消息请更换', 1,1)
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|
|
</script>
|