import Vue from 'vue' const uploadPath = process.env.VUE_APP_BASE_API + '/appendix/admin' import store from '@/vendors/vuex' // import router from './router' // 2.新创建一个vue实例 const v = new Vue() export default { ws: {}, uploadPath, websocket: '', videoSrc1: '', videoSrc2: '', setWs: function(newWs) { this.ws = newWs }, whetherWebSocket: function(type) { var that = this if ('WebSocket' in window) { if (process.env.NODE_ENV === 'production') { that.websocket = new WebSocket('wss://www.zthymaoyi.com/wss/websocket/?adminId=84f62127b7384dcdbaeaddfe460329fc') } else { // that.websocket = new WebSocket('ws://192.168.110.82:8080/') that.websocket = new WebSocket('ws://192.168.110.82:8090/ws/websocket/84f62127b7384dcdbaeaddfe460329fc192.168.110.98') } that.initWebSocket(type) } else { alert('当前浏览器不支持websocket') } }, initWebSocket: function(type) { if (type == 'video') { // 连接错误 this.websocket.onerror = evt => { console.log('WebSocket连接发生错误 状态码:' + this.websocket.readyState) } // 连接成功 this.websocket.onopen = evt => { console.log('WebSocket连接成功 状态码:' + this.websocket.readyState) } // 收到消息的回调 this.websocket.onmessage = event => { debugger // 根据服务器推送的消息做自己的业务处理 // console.log('服务端返回:' + event) // console.log('event.data', event.data) var msg = event.data.split('$'); // this.videoSrc1 = 'data:image/jpg;base64,' + msg[0] // this.videoSrc2 = 'data:image/jpg;base64,' + msg[1] console.log('msg[0]', msg[0]) console.log('msg[1]', msg[1]) store.commit('user/SET_VIDEOSRC', { videoSrc1: 'data:image/jpg;base64,' + msg[0], videoSrc2: 'data:image/jpg;base64,' + msg[1], }); console.log('执行成功') } // 连接关闭的回调 this.websocket.onclose = evt => { console.log('WebSocket连接关闭 状态码:' + this.websocket.readyState) } } else { // 连接错误 this.websocket.onerror = evt => { console.log('WebSocket连接发生错误 状态码:' + this.websocket.readyState) } // 连接成功 this.websocket.onopen = evt => { console.log('WebSocket连接成功 状态码:' + this.websocket.readyState) } // 收到消息的回调 this.websocket.onmessage = event => { debugger // 根据服务器推送的消息做自己的业务处理 console.log('服务端返回:' + event.data) var msg = event.data.split('$') var that = this // document.getElementsByClassName('app-container').reload() v.$notify.warning({ title: '新消息提醒', message: msg[0], duration: 0, onClick() { this.$router.push({ path: msg[1] }) // 你要跳转的路由 还可以传参 当然也可以通过其他方式跳转 } }) // console.log(router) var currentPage = this.$router.history.current.path console.log(currentPage, 'currentPage') this.$router.push({ path: '/' }) console.log('执行成功1') this.$router.push({ path: currentPage, query: { params: Date() } }) console.log('执行成功') } // 连接关闭的回调 this.websocket.onclose = evt => { console.log('WebSocket连接关闭 状态码:' + this.websocket.readyState) } } // 监听窗口关闭事件,当窗口关闭时,主动去关闭websocket连接,防止连接还没断开就关闭窗口,server端会抛异常。 window.onbeforeunload = this.onbeforeunload } }