diff --git a/src/main.js b/src/main.js index f1c60a8..fca74b8 100644 --- a/src/main.js +++ b/src/main.js @@ -15,6 +15,7 @@ import '@/icons' // icon import '@/permission' // permission control +import { setWsUrl } from './utils/auth' /** * This project originally used easy-mock to simulate data, * but its official service is very unstable, @@ -53,12 +54,7 @@ import VCharts from 'v-charts' Vue.use(VCharts) -new Vue({ - el: '#app', - router, - store, - render: h => h(App) -}) + // 引入音频文件 import audio from '@/assets/audio/alarm.mp3' @@ -81,8 +77,29 @@ if (buttonAudio.paused === true) { buttonAudio.load() } else { - buttonAudio.pause() - buttonAudio.play() + setTimeout(() => { + buttonAudio.pause() + buttonAudio.play() + }, 10 ); + } } +import axios from 'axios' +import service from '@/utils/request' +axios.get('./static/project.config.json').then((result) => { + console.log('get config') + Vue.prototype.baseConfig = result.data + document.title = result.data.title // 首先设置网页的title + service.defaults.baseURL = result.data.baseUrl // 设置默认请求网址 + setWsUrl(result.data.wsUrl) + new Vue({ + el: '#app', + router, + store, + render: h => h(App) + }) +}).catch((error) => { + console.log('get baseConfig error...' + error) +}) + diff --git a/src/main.js b/src/main.js index f1c60a8..fca74b8 100644 --- a/src/main.js +++ b/src/main.js @@ -15,6 +15,7 @@ import '@/icons' // icon import '@/permission' // permission control +import { setWsUrl } from './utils/auth' /** * This project originally used easy-mock to simulate data, * but its official service is very unstable, @@ -53,12 +54,7 @@ import VCharts from 'v-charts' Vue.use(VCharts) -new Vue({ - el: '#app', - router, - store, - render: h => h(App) -}) + // 引入音频文件 import audio from '@/assets/audio/alarm.mp3' @@ -81,8 +77,29 @@ if (buttonAudio.paused === true) { buttonAudio.load() } else { - buttonAudio.pause() - buttonAudio.play() + setTimeout(() => { + buttonAudio.pause() + buttonAudio.play() + }, 10 ); + } } +import axios from 'axios' +import service from '@/utils/request' +axios.get('./static/project.config.json').then((result) => { + console.log('get config') + Vue.prototype.baseConfig = result.data + document.title = result.data.title // 首先设置网页的title + service.defaults.baseURL = result.data.baseUrl // 设置默认请求网址 + setWsUrl(result.data.wsUrl) + new Vue({ + el: '#app', + router, + store, + render: h => h(App) + }) +}).catch((error) => { + console.log('get baseConfig error...' + error) +}) + diff --git a/src/store/modules/websocket.js b/src/store/modules/websocket.js index 840ba53..0c66376 100644 --- a/src/store/modules/websocket.js +++ b/src/store/modules/websocket.js @@ -1,9 +1,11 @@ import { Notification } from 'element-ui' import router from '../../router' import user from './user' +import { getWsUrl } from '@/utils/auth' + const websocket = { state: { - wsUrl: 'ws://111.198.10.15:11304/websocket/', + wsUrl: getWsUrl(), websocket: null, wsStatus: false, // websocket连接状态 needRefresh: false // 是否需要刷新数据 @@ -22,7 +24,7 @@ actions: { // 连接websocket - initWebSocket({ commit }) { + initWebSocket({ commit }, wsUrl) { if (typeof (WebSocket) === 'undefined') { Notification({ title: '提示', @@ -33,8 +35,8 @@ } else { // 获取token保存到vuex中的用户信息,此处仅适用于本项目,注意删除或修改 // 实例化socket,这里我把用户名传给了后台,使后台能判断要把消息发给哪个用户,其实也可以后台直接获取用户IP来判断并推送 - const socketUrl = websocket.state.wsUrl + user.state.id - console.log(socketUrl) + const socketUrl = wsUrl + user.state.id + console.log('======>',socketUrl) const socket = new WebSocket(socketUrl) commit('SET_WEBSOCKET', socket) commit('SET_WS_STATUS', true) diff --git a/src/main.js b/src/main.js index f1c60a8..fca74b8 100644 --- a/src/main.js +++ b/src/main.js @@ -15,6 +15,7 @@ import '@/icons' // icon import '@/permission' // permission control +import { setWsUrl } from './utils/auth' /** * This project originally used easy-mock to simulate data, * but its official service is very unstable, @@ -53,12 +54,7 @@ import VCharts from 'v-charts' Vue.use(VCharts) -new Vue({ - el: '#app', - router, - store, - render: h => h(App) -}) + // 引入音频文件 import audio from '@/assets/audio/alarm.mp3' @@ -81,8 +77,29 @@ if (buttonAudio.paused === true) { buttonAudio.load() } else { - buttonAudio.pause() - buttonAudio.play() + setTimeout(() => { + buttonAudio.pause() + buttonAudio.play() + }, 10 ); + } } +import axios from 'axios' +import service from '@/utils/request' +axios.get('./static/project.config.json').then((result) => { + console.log('get config') + Vue.prototype.baseConfig = result.data + document.title = result.data.title // 首先设置网页的title + service.defaults.baseURL = result.data.baseUrl // 设置默认请求网址 + setWsUrl(result.data.wsUrl) + new Vue({ + el: '#app', + router, + store, + render: h => h(App) + }) +}).catch((error) => { + console.log('get baseConfig error...' + error) +}) + diff --git a/src/store/modules/websocket.js b/src/store/modules/websocket.js index 840ba53..0c66376 100644 --- a/src/store/modules/websocket.js +++ b/src/store/modules/websocket.js @@ -1,9 +1,11 @@ import { Notification } from 'element-ui' import router from '../../router' import user from './user' +import { getWsUrl } from '@/utils/auth' + const websocket = { state: { - wsUrl: 'ws://111.198.10.15:11304/websocket/', + wsUrl: getWsUrl(), websocket: null, wsStatus: false, // websocket连接状态 needRefresh: false // 是否需要刷新数据 @@ -22,7 +24,7 @@ actions: { // 连接websocket - initWebSocket({ commit }) { + initWebSocket({ commit }, wsUrl) { if (typeof (WebSocket) === 'undefined') { Notification({ title: '提示', @@ -33,8 +35,8 @@ } else { // 获取token保存到vuex中的用户信息,此处仅适用于本项目,注意删除或修改 // 实例化socket,这里我把用户名传给了后台,使后台能判断要把消息发给哪个用户,其实也可以后台直接获取用户IP来判断并推送 - const socketUrl = websocket.state.wsUrl + user.state.id - console.log(socketUrl) + const socketUrl = wsUrl + user.state.id + console.log('======>',socketUrl) const socket = new WebSocket(socketUrl) commit('SET_WEBSOCKET', socket) commit('SET_WS_STATUS', true) diff --git a/src/utils/auth.js b/src/utils/auth.js index 213f5e6..0d6d8a4 100644 --- a/src/utils/auth.js +++ b/src/utils/auth.js @@ -2,6 +2,7 @@ const TokenKey = 'token' const PublicKey = 'public_key' +const WsUrl = 'ws_url' export function getToken() { return Cookies.get(TokenKey) @@ -27,3 +28,11 @@ return window.localStorage.removeItem(PublicKey) } +export function getWsUrl() { + return window.localStorage.getItem(WsUrl) +} + +export function setWsUrl(wsUrl) { + return window.localStorage.setItem(WsUrl, wsUrl) +} + diff --git a/src/main.js b/src/main.js index f1c60a8..fca74b8 100644 --- a/src/main.js +++ b/src/main.js @@ -15,6 +15,7 @@ import '@/icons' // icon import '@/permission' // permission control +import { setWsUrl } from './utils/auth' /** * This project originally used easy-mock to simulate data, * but its official service is very unstable, @@ -53,12 +54,7 @@ import VCharts from 'v-charts' Vue.use(VCharts) -new Vue({ - el: '#app', - router, - store, - render: h => h(App) -}) + // 引入音频文件 import audio from '@/assets/audio/alarm.mp3' @@ -81,8 +77,29 @@ if (buttonAudio.paused === true) { buttonAudio.load() } else { - buttonAudio.pause() - buttonAudio.play() + setTimeout(() => { + buttonAudio.pause() + buttonAudio.play() + }, 10 ); + } } +import axios from 'axios' +import service from '@/utils/request' +axios.get('./static/project.config.json').then((result) => { + console.log('get config') + Vue.prototype.baseConfig = result.data + document.title = result.data.title // 首先设置网页的title + service.defaults.baseURL = result.data.baseUrl // 设置默认请求网址 + setWsUrl(result.data.wsUrl) + new Vue({ + el: '#app', + router, + store, + render: h => h(App) + }) +}).catch((error) => { + console.log('get baseConfig error...' + error) +}) + diff --git a/src/store/modules/websocket.js b/src/store/modules/websocket.js index 840ba53..0c66376 100644 --- a/src/store/modules/websocket.js +++ b/src/store/modules/websocket.js @@ -1,9 +1,11 @@ import { Notification } from 'element-ui' import router from '../../router' import user from './user' +import { getWsUrl } from '@/utils/auth' + const websocket = { state: { - wsUrl: 'ws://111.198.10.15:11304/websocket/', + wsUrl: getWsUrl(), websocket: null, wsStatus: false, // websocket连接状态 needRefresh: false // 是否需要刷新数据 @@ -22,7 +24,7 @@ actions: { // 连接websocket - initWebSocket({ commit }) { + initWebSocket({ commit }, wsUrl) { if (typeof (WebSocket) === 'undefined') { Notification({ title: '提示', @@ -33,8 +35,8 @@ } else { // 获取token保存到vuex中的用户信息,此处仅适用于本项目,注意删除或修改 // 实例化socket,这里我把用户名传给了后台,使后台能判断要把消息发给哪个用户,其实也可以后台直接获取用户IP来判断并推送 - const socketUrl = websocket.state.wsUrl + user.state.id - console.log(socketUrl) + const socketUrl = wsUrl + user.state.id + console.log('======>',socketUrl) const socket = new WebSocket(socketUrl) commit('SET_WEBSOCKET', socket) commit('SET_WS_STATUS', true) diff --git a/src/utils/auth.js b/src/utils/auth.js index 213f5e6..0d6d8a4 100644 --- a/src/utils/auth.js +++ b/src/utils/auth.js @@ -2,6 +2,7 @@ const TokenKey = 'token' const PublicKey = 'public_key' +const WsUrl = 'ws_url' export function getToken() { return Cookies.get(TokenKey) @@ -27,3 +28,11 @@ return window.localStorage.removeItem(PublicKey) } +export function getWsUrl() { + return window.localStorage.getItem(WsUrl) +} + +export function setWsUrl(wsUrl) { + return window.localStorage.setItem(WsUrl, wsUrl) +} + diff --git a/src/views/dashboard/index.vue b/src/views/dashboard/index.vue index 8a3dab6..7a90f88 100644 --- a/src/views/dashboard/index.vue +++ b/src/views/dashboard/index.vue @@ -94,15 +94,17 @@ this.$refs.panelgroup.refresh() } } - }, - mounted() { - // this.webSocket() - }, - methods: { - webSocket() { - this.$store.dispatch('initWebSocket') - } } + // mounted() { + // if(this.baseConfig.refreshType=='websocket'){ + // this.webSocket() + // } + // }, + // methods: { + // webSocket() { + // this.$store.dispatch('initWebSocket') + // } + // } } diff --git a/src/main.js b/src/main.js index f1c60a8..fca74b8 100644 --- a/src/main.js +++ b/src/main.js @@ -15,6 +15,7 @@ import '@/icons' // icon import '@/permission' // permission control +import { setWsUrl } from './utils/auth' /** * This project originally used easy-mock to simulate data, * but its official service is very unstable, @@ -53,12 +54,7 @@ import VCharts from 'v-charts' Vue.use(VCharts) -new Vue({ - el: '#app', - router, - store, - render: h => h(App) -}) + // 引入音频文件 import audio from '@/assets/audio/alarm.mp3' @@ -81,8 +77,29 @@ if (buttonAudio.paused === true) { buttonAudio.load() } else { - buttonAudio.pause() - buttonAudio.play() + setTimeout(() => { + buttonAudio.pause() + buttonAudio.play() + }, 10 ); + } } +import axios from 'axios' +import service from '@/utils/request' +axios.get('./static/project.config.json').then((result) => { + console.log('get config') + Vue.prototype.baseConfig = result.data + document.title = result.data.title // 首先设置网页的title + service.defaults.baseURL = result.data.baseUrl // 设置默认请求网址 + setWsUrl(result.data.wsUrl) + new Vue({ + el: '#app', + router, + store, + render: h => h(App) + }) +}).catch((error) => { + console.log('get baseConfig error...' + error) +}) + diff --git a/src/store/modules/websocket.js b/src/store/modules/websocket.js index 840ba53..0c66376 100644 --- a/src/store/modules/websocket.js +++ b/src/store/modules/websocket.js @@ -1,9 +1,11 @@ import { Notification } from 'element-ui' import router from '../../router' import user from './user' +import { getWsUrl } from '@/utils/auth' + const websocket = { state: { - wsUrl: 'ws://111.198.10.15:11304/websocket/', + wsUrl: getWsUrl(), websocket: null, wsStatus: false, // websocket连接状态 needRefresh: false // 是否需要刷新数据 @@ -22,7 +24,7 @@ actions: { // 连接websocket - initWebSocket({ commit }) { + initWebSocket({ commit }, wsUrl) { if (typeof (WebSocket) === 'undefined') { Notification({ title: '提示', @@ -33,8 +35,8 @@ } else { // 获取token保存到vuex中的用户信息,此处仅适用于本项目,注意删除或修改 // 实例化socket,这里我把用户名传给了后台,使后台能判断要把消息发给哪个用户,其实也可以后台直接获取用户IP来判断并推送 - const socketUrl = websocket.state.wsUrl + user.state.id - console.log(socketUrl) + const socketUrl = wsUrl + user.state.id + console.log('======>',socketUrl) const socket = new WebSocket(socketUrl) commit('SET_WEBSOCKET', socket) commit('SET_WS_STATUS', true) diff --git a/src/utils/auth.js b/src/utils/auth.js index 213f5e6..0d6d8a4 100644 --- a/src/utils/auth.js +++ b/src/utils/auth.js @@ -2,6 +2,7 @@ const TokenKey = 'token' const PublicKey = 'public_key' +const WsUrl = 'ws_url' export function getToken() { return Cookies.get(TokenKey) @@ -27,3 +28,11 @@ return window.localStorage.removeItem(PublicKey) } +export function getWsUrl() { + return window.localStorage.getItem(WsUrl) +} + +export function setWsUrl(wsUrl) { + return window.localStorage.setItem(WsUrl, wsUrl) +} + diff --git a/src/views/dashboard/index.vue b/src/views/dashboard/index.vue index 8a3dab6..7a90f88 100644 --- a/src/views/dashboard/index.vue +++ b/src/views/dashboard/index.vue @@ -94,15 +94,17 @@ this.$refs.panelgroup.refresh() } } - }, - mounted() { - // this.webSocket() - }, - methods: { - webSocket() { - this.$store.dispatch('initWebSocket') - } } + // mounted() { + // if(this.baseConfig.refreshType=='websocket'){ + // this.webSocket() + // } + // }, + // methods: { + // webSocket() { + // this.$store.dispatch('initWebSocket') + // } + // } } diff --git a/src/views/layout/components/AppHeader.vue b/src/views/layout/components/AppHeader.vue index d98309d..7802525 100644 --- a/src/views/layout/components/AppHeader.vue +++ b/src/views/layout/components/AppHeader.vue @@ -1,6 +1,6 @@