mirror of
https://github.com/0xJacky/nginx-ui.git
synced 2025-05-11 02:15:48 +02:00
use ReconnectingWebSocket
This commit is contained in:
parent
83210f7c6c
commit
04836ade0c
5 changed files with 18 additions and 12 deletions
|
@ -12,6 +12,7 @@
|
||||||
"axios": "^0.21.1",
|
"axios": "^0.21.1",
|
||||||
"chart.js": "^2.9.4",
|
"chart.js": "^2.9.4",
|
||||||
"core-js": "^3.9.0",
|
"core-js": "^3.9.0",
|
||||||
|
"reconnecting-websocket": "^4.4.0",
|
||||||
"vue": "^2.6.11",
|
"vue": "^2.6.11",
|
||||||
"vue-chartjs": "^3.5.1",
|
"vue-chartjs": "^3.5.1",
|
||||||
"vue-itextarea": "^1.0.9",
|
"vue-itextarea": "^1.0.9",
|
||||||
|
|
|
@ -35,8 +35,13 @@ http.interceptors.response.use(
|
||||||
return Promise.resolve(response.data)
|
return Promise.resolve(response.data)
|
||||||
},
|
},
|
||||||
async error => {
|
async error => {
|
||||||
if (error.response.status === 403) {
|
switch (error.response.status) {
|
||||||
await store.dispatch('logout')
|
case 401:
|
||||||
|
case 403:
|
||||||
|
// 无权访问时,直接登出
|
||||||
|
await store.dispatch('logout')
|
||||||
|
location.reload()
|
||||||
|
break
|
||||||
}
|
}
|
||||||
return Promise.reject(error.response.data)
|
return Promise.reject(error.response.data)
|
||||||
}
|
}
|
||||||
|
|
|
@ -43,6 +43,7 @@
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import LineChart from "@/components/Chart/LineChart"
|
import LineChart from "@/components/Chart/LineChart"
|
||||||
|
import ReconnectingWebSocket from 'reconnecting-websocket'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "DashBoard",
|
name: "DashBoard",
|
||||||
|
@ -111,11 +112,10 @@ export default {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
this.websocket = new WebSocket(this.getWebSocketRoot() + "/analytic?token="
|
this.websocket = new ReconnectingWebSocket(this.getWebSocketRoot() + "/analytic?token="
|
||||||
+ btoa(this.$store.state.user.token))
|
+ btoa(this.$store.state.user.token))
|
||||||
this.websocket.onmessage = this.wsOnMessage
|
this.websocket.onmessage = this.wsOnMessage
|
||||||
this.websocket.onopen = this.wsOpen
|
this.websocket.onopen = this.wsOpen
|
||||||
this.websocket.onerror = this.wsOnError
|
|
||||||
},
|
},
|
||||||
destroyed() {
|
destroyed() {
|
||||||
window.clearInterval(window.InitSetInterval)
|
window.clearInterval(window.InitSetInterval)
|
||||||
|
@ -125,18 +125,13 @@ export default {
|
||||||
wsOpen() {
|
wsOpen() {
|
||||||
window.InitSetInterval = setInterval(() => {
|
window.InitSetInterval = setInterval(() => {
|
||||||
this.websocket.send("ping")
|
this.websocket.send("ping")
|
||||||
}, 1000)
|
}, 2000)
|
||||||
},
|
|
||||||
wsOnError() {
|
|
||||||
this.websocket = new WebSocket(this.getWebSocketRoot() + "/analytic?token="
|
|
||||||
+ btoa(this.$store.state.user.token))
|
|
||||||
},
|
},
|
||||||
wsOnMessage(m) {
|
wsOnMessage(m) {
|
||||||
const r = JSON.parse(m.data)
|
const r = JSON.parse(m.data)
|
||||||
console.log(r)
|
// console.log(r)
|
||||||
this.cpu = r.cpu_system + r.cpu_user
|
this.cpu = r.cpu_system + r.cpu_user
|
||||||
const time = new Date()
|
const time = new Date()
|
||||||
//this.cpu_analytic.labels.push(time)
|
|
||||||
this.cpu_analytic.datasets[0].data
|
this.cpu_analytic.datasets[0].data
|
||||||
.push({x: time, y: r.cpu_user})
|
.push({x: time, y: r.cpu_user})
|
||||||
this.cpu_analytic.datasets[1].data
|
this.cpu_analytic.datasets[1].data
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
{"version":"0.1.0","build_id":22}
|
{"version":"0.1.0","build_id":25}
|
|
@ -7073,6 +7073,11 @@ readdirp@~3.5.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
picomatch "^2.2.1"
|
picomatch "^2.2.1"
|
||||||
|
|
||||||
|
reconnecting-websocket@^4.4.0:
|
||||||
|
version "4.4.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/reconnecting-websocket/-/reconnecting-websocket-4.4.0.tgz#3b0e5b96ef119e78a03135865b8bb0af1b948783"
|
||||||
|
integrity sha512-D2E33ceRPga0NvTDhJmphEgJ7FUYF0v4lr1ki0csq06OdlxKfugGzN0dSkxM/NfqCxYELK4KcaTOUOjTV6Dcng==
|
||||||
|
|
||||||
regenerate-unicode-properties@^8.2.0:
|
regenerate-unicode-properties@^8.2.0:
|
||||||
version "8.2.0"
|
version "8.2.0"
|
||||||
resolved "https://registry.npm.taobao.org/regenerate-unicode-properties/download/regenerate-unicode-properties-8.2.0.tgz#e5de7111d655e7ba60c057dbe9ff37c87e65cdec"
|
resolved "https://registry.npm.taobao.org/regenerate-unicode-properties/download/regenerate-unicode-properties-8.2.0.tgz#e5de7111d655e7ba60c057dbe9ff37c87e65cdec"
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue