From b6d8457649dd2c3c7b51a9548383f8440d1867d5 Mon Sep 17 00:00:00 2001 From: hi2hi Date: Fri, 24 Jan 2025 02:36:33 +0000 Subject: [PATCH] =?UTF-8?q?=E6=8B=86=E5=88=86=E7=BB=84=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/layout/components/dashboard-btn.vue | 59 ++++ src/layout/components/header.vue | 346 +----------------------- src/layout/components/server-count.vue | 79 ++++++ src/layout/components/server-stat.vue | 254 +++++++++++++++++ 4 files changed, 404 insertions(+), 334 deletions(-) create mode 100644 src/layout/components/dashboard-btn.vue create mode 100644 src/layout/components/server-count.vue create mode 100644 src/layout/components/server-stat.vue diff --git a/src/layout/components/dashboard-btn.vue b/src/layout/components/dashboard-btn.vue new file mode 100644 index 0000000..0a454f5 --- /dev/null +++ b/src/layout/components/dashboard-btn.vue @@ -0,0 +1,59 @@ + + + + + diff --git a/src/layout/components/header.vue b/src/layout/components/header.vue index 2325244..6596494 100644 --- a/src/layout/components/header.vue +++ b/src/layout/components/header.vue @@ -12,110 +12,15 @@ >{{ title }}
-
- - - {{ serverCount.total }} - 台服务器 - - -
-
-
- - 流量 - -
- - - - {{ serverStat.transfer.inData.value }} - - - {{ serverStat.transfer.inData.unit }} - - - - - - {{ serverStat.transfer.outData.value }} - - - {{ serverStat.transfer.outData.unit }} - - -
-
-
- - 网速 - -
- - - - {{ serverStat.netSpeed.inData.value }} - - - {{ serverStat.netSpeed.inData.unit }} - - - - - - {{ serverStat.netSpeed.outData.value }} - - - {{ serverStat.netSpeed.outData.unit }} - - -
-
-
-
+ +
+ />
@@ -128,18 +33,17 @@ import { computed, } from 'vue'; -import { - useStore, -} from 'vuex'; import { useRoute, useRouter, } from 'vue-router'; -import * as hostUtils from '@/utils/host'; import config from '@/config'; -const store = useStore(); +import ServerCount from './server-count.vue'; +import ServerStat from './server-stat.vue'; +import DashboardBtn from './dashboard-btn.vue'; + const route = useRoute(); const router = useRouter(); @@ -156,113 +60,8 @@ const headerStyle = computed(() => { }); const showServerCount = computed(() => config.nazhua.hideNavbarServerCount !== true); -const serverCount = computed(() => store.state.serverCount); const showServerStat = computed(() => config.nazhua.hideNavbarServerStat !== true); -const serverStat = computed(() => { - const transfer = { - in: 0, - inData: { - value: 0, - unit: '', - }, - out: 0, - outData: { - value: 0, - unit: '', - }, - }; - const netSpeed = { - in: 0, - inData: { - value: 0, - unit: '', - }, - out: 0, - outData: { - value: 0, - unit: '', - }, - }; - if (store.state.serverList.length) { - store.state.serverList.forEach((server) => { - if (server.online === 1 && server.State) { - if (typeof server.State.NetInTransfer === 'number') { - transfer.in += server.State.NetInTransfer; - } - if (typeof server.State.NetOutTransfer === 'number') { - transfer.out += server.State.NetOutTransfer; - } - if (typeof server.State.NetInSpeed === 'number') { - netSpeed.in += server.State.NetInSpeed; - } - if (typeof server.State.NetOutSpeed === 'number') { - netSpeed.out += server.State.NetOutSpeed; - } - } - }); - } - const calcInTransfer = hostUtils.calcBinary(transfer.in); - if (calcInTransfer.t > 1) { - transfer.inData.value = (calcInTransfer.t).toFixed(1) * 1; - transfer.inData.unit = 'T'; - } else if (calcInTransfer.g > 1) { - transfer.inData.value = (calcInTransfer.g).toFixed(1) * 1; - transfer.inData.unit = 'G'; - } else if (calcInTransfer.m > 1) { - transfer.inData.value = (calcInTransfer.m).toFixed(1) * 1; - transfer.inData.unit = 'M'; - } else { - transfer.inData.value = calcInTransfer.value; - transfer.inData.unit = 'K'; - } - const calcOutTransfer = hostUtils.calcBinary(transfer.out); - if (calcOutTransfer.t > 1) { - transfer.outData.value = (calcOutTransfer.t).toFixed(1) * 1; - transfer.outData.unit = 'T'; - } else if (calcOutTransfer.g > 1) { - transfer.outData.value = (calcOutTransfer.g).toFixed(1) * 1; - transfer.outData.unit = 'G'; - } else if (calcOutTransfer.m > 1) { - transfer.outData.value = (calcOutTransfer.m).toFixed(1) * 1; - transfer.outData.unit = 'M'; - } else { - transfer.outData.value = calcOutTransfer.value; - transfer.outData.unit = 'K'; - } - const calcNetInSpeed = hostUtils.calcBinary(netSpeed.in); - if (calcNetInSpeed.t > 1) { - netSpeed.inData.value = (calcNetInSpeed.t).toFixed(1) * 1; - netSpeed.inData.unit = 'T'; - } else if (calcNetInSpeed.g > 1) { - netSpeed.inData.value = (calcNetInSpeed.g).toFixed(1) * 1; - netSpeed.inData.unit = 'G'; - } else if (calcNetInSpeed.m > 1) { - netSpeed.inData.value = (calcNetInSpeed.m).toFixed(1) * 1; - netSpeed.inData.unit = 'M'; - } else { - netSpeed.inData.value = (calcNetInSpeed.k).toFixed(1) * 1; - netSpeed.inData.unit = 'K'; - } - const calcNetOutSpeed = hostUtils.calcBinary(netSpeed.out); - if (calcNetOutSpeed.t > 1) { - netSpeed.outData.value = (calcNetOutSpeed.t).toFixed(1) * 1; - netSpeed.outData.unit = 'T'; - } else if (calcNetOutSpeed.g > 1) { - netSpeed.outData.value = (calcNetOutSpeed.g).toFixed(1) * 1; - netSpeed.outData.unit = 'G'; - } else if (calcNetOutSpeed.m > 1) { - netSpeed.outData.value = (calcNetOutSpeed.m).toFixed(1) * 1; - netSpeed.outData.unit = 'M'; - } else { - netSpeed.outData.value = (calcNetOutSpeed.k).toFixed(1) * 1; - netSpeed.outData.unit = 'K'; - } - return { - transfer, - netSpeed, - }; -}); const title = computed(() => config.nazhua.title); @@ -295,8 +94,6 @@ const showDashboardBtn = computed(() => [ config.nazhua.nezhaVersion === 'v1', config.nazhua.v1HideNezhaDashboardBtn !== true, ].every((item) => item)); -const userLogin = computed(() => store.state.profile?.username); -const dashboardUrl = computed(() => config.nazhua.v1DashboardUrl || '/dashboard'); diff --git a/src/layout/components/server-count.vue b/src/layout/components/server-count.vue new file mode 100644 index 0000000..cab5a02 --- /dev/null +++ b/src/layout/components/server-count.vue @@ -0,0 +1,79 @@ + + + + + diff --git a/src/layout/components/server-stat.vue b/src/layout/components/server-stat.vue new file mode 100644 index 0000000..04c068d --- /dev/null +++ b/src/layout/components/server-stat.vue @@ -0,0 +1,254 @@ + + + + +