30 lines
598 B
JavaScript
30 lines
598 B
JavaScript
import actions from '@/shared/action'
|
|
|
|
export default {
|
|
computed: {
|
|
webSocket() {
|
|
return this.$store.state.app.$webSocket
|
|
}
|
|
},
|
|
mounted() {
|
|
if (this.webSocket) {
|
|
// 独立应用
|
|
this.webSocket.onmessage = this.onmessage
|
|
} else {
|
|
// 子应用处理方式
|
|
actions.setGlobalState({
|
|
onmessage: this.onmessage
|
|
})
|
|
}
|
|
this.$once('hook:beforeDestroy', () => {
|
|
if (this.webSocket) {
|
|
this.webSocket.onmessage = null
|
|
} else {
|
|
actions.setGlobalState({
|
|
onmessage: null
|
|
})
|
|
}
|
|
})
|
|
}
|
|
}
|