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 }}
- 台服务器
-
-
-
- 在线
- {{ serverCount.online }}
-
-
- 离线
- {{ serverCount.offline }}
-
-
-
-
-
-
- 流量
-
-
-
-
-
- {{ 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 }}
-
-
-
-
-
-
+
+
-
-
- {{ userLogin ? '管理后台' : '登录' }}
-
-
+ />
@@ -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 @@
+
+
+
+ 共
+ {{ serverCount.total }}
+ 台服务器
+
+
+
+ 在线
+ {{ serverCount.online }}
+
+
+ 离线
+ {{ serverCount.offline }}
+
+
+
+
+
+
+
+
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 @@
+
+
+
+
+ 流量
+
+
+
+
+
+ {{ 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 }}
+
+
+
+
+
+
+
+
+
+