🪄 重建组件路径

This commit is contained in:
hi2hi 2025-12-09 00:40:51 +08:00
parent 90884c2730
commit 0b9da8fe01
14 changed files with 75 additions and 40 deletions

View File

@ -28,6 +28,10 @@
--conn-udp-color: #2ca9e1; --conn-udp-color: #2ca9e1;
--load-color: #90f2ff; --load-color: #90f2ff;
--process-color: #f5b199; --process-color: #f5b199;
--cpu-text-color: #89c3eb;
--mem-text-color: #2ca9e1;
--disk-text-color: #90f2ff;
--swap-text-color: #f5b199;
--list-item-price-color: #eee; --list-item-price-color: #eee;
--list-item-buy-link-color: #ffc300; --list-item-buy-link-color: #ffc300;

View File

@ -32,6 +32,9 @@ const config = reactive({
if (config.nazhua.nezhaVersion) { if (config.nazhua.nezhaVersion) {
config.init = true; config.init = true;
} }
if (window.$$serverStatus) {
config.nazhua.listServerItemType = 'server-status';
}
function setColorMode() { function setColorMode() {
if (config.nazhua.simpleColorMode) { if (config.nazhua.simpleColorMode) {
@ -64,6 +67,9 @@ export function mergeNazhuaConfig(customConfig) {
}); });
replaceFavicon(); replaceFavicon();
setColorMode(); setColorMode();
if (window.$$serverStatus) {
config.nazhua.listServerItemType = 'server-status';
}
} }
// 暴露合并配置方法 // 暴露合并配置方法
window.$mergeNazhuaConfig = mergeNazhuaConfig; window.$mergeNazhuaConfig = mergeNazhuaConfig;

View File

@ -1,6 +1,7 @@
<template> <template>
<dot-dot-box <dot-dot-box
v-if="tableData" v-if="tableData"
border-radius="6px"
class="server-status" class="server-status"
> >
<table class="server-status-table"> <table class="server-status-table">
@ -118,11 +119,6 @@ function openDetail(info) {
--server-status-td-height: 32px; --server-status-td-height: 32px;
--progress-bar-height: 18px; --progress-bar-height: 18px;
@media screen and (max-width: 350px) {
--progress-bar-height: 16px;
padding: 0 15px;
}
} }
.server-status-table { .server-status-table {
width: 100%; width: 100%;

View File

@ -61,7 +61,7 @@ const udpConnCount = computed(() => {
} }
.split-line { .split-line {
width: 4px; width: 6px;
text-align: center; text-align: center;
} }
} }

View File

@ -67,7 +67,7 @@ const outSpeed = computed(() => {
} }
.split-line { .split-line {
width: 4px; width: 6px;
text-align: center; text-align: center;
} }
} }

View File

@ -67,7 +67,7 @@ const transferOut = computed(() => {
} }
.split-line { .split-line {
width: 4px; width: 6px;
text-align: center; text-align: center;
} }
} }

View File

@ -12,12 +12,12 @@ import handleServerRealTime from '@/views/composable/server-real-time';
import handleServerBillAndPlan from '@/views/composable/server-bill-and-plan'; import handleServerBillAndPlan from '@/views/composable/server-bill-and-plan';
import ServerStatusProgress from '@/views/components/server/server-status-progress.vue'; import ServerStatusProgress from '@/views/components/server/server-status-progress.vue';
import StatusIcon from '@/views/components/server-list-by-server-status/server-info/status-icon.vue'; import StatusIcon from '@/views/components/server-list/server-status/server-info/status-icon.vue';
import SystemOS from '@/views/components/server-list-by-server-status/server-info/system-os.vue'; import SystemOS from '@/views/components/server-list/server-status/server-info/system-os.vue';
import Country from '@/views/components/server-list-by-server-status/server-info/country.vue'; import Country from '@/views/components/server-list/server-status/server-info/country.vue';
import NetSpeed from '@/views/components/server-list-by-server-status/server-info/net-speed.vue'; import NetSpeed from '@/views/components/server-list/server-status/server-info/net-speed.vue';
import Transfer from '@/views/components/server-list-by-server-status/server-info/transfer.vue'; import Transfer from '@/views/components/server-list/server-status/server-info/transfer.vue';
import Conns from '@/views/components/server-list-by-server-status/server-info/conns.vue'; import Conns from '@/views/components/server-list/server-status/server-info/conns.vue';
const COLUMN_MAP = Object.freeze({ const COLUMN_MAP = Object.freeze({
status: { status: {
@ -145,7 +145,7 @@ const COLUMN_MAP = Object.freeze({
}, },
billing: { billing: {
label: '价格', label: '价格',
width: 110, width: 100,
align: 'right', align: 'right',
}, },
remainingTime: { remainingTime: {
@ -294,9 +294,8 @@ export const handleServerItemData = (params) => {
}; };
} }
case 'billing': case 'billing':
case 'remainingTime':
{ {
const item = billAndPlan?.value?.[column.prop]; const item = billAndPlan?.value?.billing;
const texts = []; const texts = [];
if (item?.value) { if (item?.value) {
texts.push(item.value || '-'); texts.push(item.value || '-');
@ -307,7 +306,17 @@ export const handleServerItemData = (params) => {
return { return {
prop: column.prop, prop: column.prop,
type: 'text', type: 'text',
text: texts.join('/'), text: texts.length ? texts.join('/') : '-',
originalData: params,
};
}
case 'remainingTime':
{
const item = billAndPlan?.value?.remainingTime;
return {
prop: column.prop,
type: 'text',
text: item?.value || '-',
originalData: params, originalData: params,
}; };
} }
@ -400,7 +409,6 @@ export const handleServerListColumn = (serverList, columnTpls = DEFAULT_COLUMNS)
showBilling = true; showBilling = true;
} }
if (billAndPlan?.value?.remainingTime) { if (billAndPlan?.value?.remainingTime) {
console.log('remainingTime', billAndPlan.value.remainingTime);
showRemainingTime = true; showRemainingTime = true;
} }
} }

View File

@ -160,29 +160,37 @@ function isSet(value) {
} }
} }
&--cpu { &--cpuText {
.text--value { .text--value {
color: var(--cpu-text-color); color: var(--cpu-text-color);
} }
} }
&--mem { &--memText {
.text--value { .text--value {
color: var(--mem-text-color); color: var(--mem-text-color);
} }
} }
&--swap { &--swapText {
.text--value { .text--value {
color: var(--swap-text-color); color: var(--swap-text-color);
} }
} }
&--disk { &--diskText {
.text--value { .text--value {
color: var(--disk-text-color); color: var(--disk-text-color);
} }
} }
&--billing {
font-size: 12px;
}
&--remainingTime {
font-size: 12px;
}
} }
} }
</style> </style>

View File

@ -128,7 +128,13 @@ export default (params) => {
value: 0, value: 0,
unit: '', unit: '',
}; };
if (inStats.g > 1) { if (inStats.p > 1) {
result.value = (inStats.p).toFixed(1) * 1;
result.unit = 'P';
} else if (inStats.t > 1) {
result.value = (inStats.t).toFixed(1) * 1;
result.unit = 'T';
} else if (inStats.g > 1) {
result.value = (inStats.g).toFixed(1) * 1; result.value = (inStats.g).toFixed(1) * 1;
result.unit = 'G'; result.unit = 'G';
} else if (inStats.m > 1) { } else if (inStats.m > 1) {
@ -147,7 +153,13 @@ export default (params) => {
value: 0, value: 0,
unit: '', unit: '',
}; };
if (outStats.g > 1) { if (outStats.p > 1) {
result.value = (outStats.p).toFixed(1) * 1;
result.unit = 'P';
} else if (outStats.t > 1) {
result.value = (outStats.t).toFixed(1) * 1;
result.unit = 'T';
} else if (outStats.g > 1) {
result.value = (outStats.g).toFixed(1) * 1; result.value = (outStats.g).toFixed(1) * 1;
result.unit = 'G'; result.unit = 'G';
} else if (outStats.m > 1) { } else if (outStats.m > 1) {

View File

@ -14,8 +14,9 @@
v-if="showFilter" v-if="showFilter"
class="fitler-group" class="fitler-group"
:class="{ :class="{
'list-is-row': showListRow, 'list-is--row': showListRow,
'list-is-card': showListCard, 'list-is--card': showListCard,
'list-is--server-status': showListRowByServerStatus,
}" }"
> >
<div class="left-box"> <div class="left-box">
@ -54,11 +55,11 @@
</server-list-warp> </server-list-warp>
<!-- ServerStatus模式 --> <!-- ServerStatus模式 -->
<server-list-warp <server-list-warp
v-if="showListByServerStatus" v-if="showListRowByServerStatus"
:show-transition="showTransition" :show-transition="showTransition"
:show-list-by-server-status="showListByServerStatus" :show-list-by-server-status="showListRowByServerStatus"
> >
<server-list-by-server-status <server-status-main
:server-list="filterServerList.list" :server-list="filterServerList.list"
/> />
</server-list-warp> </server-list-warp>
@ -121,7 +122,7 @@ import ServerOptionBox from './components/server-list/server-option-box.vue';
import ServerListWarp from './components/server-list/server-list-warp.vue'; import ServerListWarp from './components/server-list/server-list-warp.vue';
import ServerCardItem from './components/server-list/card/server-list-item.vue'; import ServerCardItem from './components/server-list/card/server-list-item.vue';
import ServerRowItem from './components/server-list/row/server-list-item.vue'; import ServerRowItem from './components/server-list/row/server-list-item.vue';
import ServerListByServerStatus from './components/server-list-by-server-status/main.vue'; import ServerStatusMain from './components/server-list/server-status/main.vue';
const store = useStore(); const store = useStore();
const worldMapWidth = ref(); const worldMapWidth = ref();
@ -150,6 +151,15 @@ const showListRow = computed(() => {
} }
return false; return false;
}); });
const showListRowByServerStatus = computed(() => {
if (windowWidth.value > 1024) {
if (config.nazhua.listServerItemTypeToggle) {
return listType.value === 'server-status';
}
return config.nazhua.listServerItemType === 'server-status';
}
return false;
});
const showListCard = computed(() => { const showListCard = computed(() => {
if (windowWidth.value > 1024) { if (windowWidth.value > 1024) {
if (config.nazhua.listServerItemTypeToggle) { if (config.nazhua.listServerItemTypeToggle) {
@ -159,15 +169,6 @@ const showListCard = computed(() => {
} }
return true; return true;
}); });
const showListByServerStatus = computed(() => {
if (windowWidth.value > 1024) {
if (config.nazhua.listServerItemTypeToggle) {
return listType.value === 'server-status';
}
return config.nazhua.listServerItemType === 'server-status';
}
return false;
});
const showFilter = computed(() => config.nazhua.hideFilter !== true); const showFilter = computed(() => config.nazhua.hideFilter !== true);
const filterFormData = ref({ const filterFormData = ref({