mirror of
https://github.com/woodchen-ink/nezha-dash-v1.git
synced 2025-07-19 09:51:56 +08:00
更新 ServerCard 和 ServiceTracker 组件,移除多余的调试日志,优化流量周期数据匹配逻辑,确保数据展示的简洁性和可读性。
This commit is contained in:
parent
31ff14b6f6
commit
b5bd645d3f
@ -67,7 +67,6 @@ export default function ServerCard({ now, serverInfo, cycleStats }: ServerCardPr
|
|||||||
// 获取匹配当前服务器的流量计费周期
|
// 获取匹配当前服务器的流量计费周期
|
||||||
const getServerCycleData = () => {
|
const getServerCycleData = () => {
|
||||||
if (!cycleStats) {
|
if (!cycleStats) {
|
||||||
console.log('cycleStats is null or undefined');
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -75,9 +74,6 @@ export default function ServerCard({ now, serverInfo, cycleStats }: ServerCardPr
|
|||||||
const serverId = String(serverInfo.id);
|
const serverId = String(serverInfo.id);
|
||||||
const serverIdNum = Number(serverInfo.id);
|
const serverIdNum = Number(serverInfo.id);
|
||||||
|
|
||||||
console.log(`ServerCard: Looking for server "${serverInfo.name}" with ID:`, serverId, 'type:', typeof serverInfo.id);
|
|
||||||
console.log('All cycleStats:', cycleStats);
|
|
||||||
|
|
||||||
const matchedCycles: Array<{
|
const matchedCycles: Array<{
|
||||||
name: string;
|
name: string;
|
||||||
from: string;
|
from: string;
|
||||||
@ -89,16 +85,13 @@ export default function ServerCard({ now, serverInfo, cycleStats }: ServerCardPr
|
|||||||
}> = []
|
}> = []
|
||||||
|
|
||||||
// 遍历所有流量周期,查找匹配当前服务器ID的数据
|
// 遍历所有流量周期,查找匹配当前服务器ID的数据
|
||||||
Object.entries(cycleStats).forEach(([cycleId, cycleData]) => {
|
Object.values(cycleStats).forEach((cycleData) => {
|
||||||
console.log(`\nChecking cycle ${cycleId}:`, cycleData.name);
|
|
||||||
|
|
||||||
if (!cycleData.server_name) {
|
if (!cycleData.server_name) {
|
||||||
console.log(` No server_name in this cycle`);
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
const serverIdsInCycle = Object.keys(cycleData.server_name);
|
const serverIdsInCycle = Object.keys(cycleData.server_name);
|
||||||
console.log(` Server IDs in this cycle:`, serverIdsInCycle);
|
|
||||||
|
|
||||||
// 检查各种可能的ID形式
|
// 检查各种可能的ID形式
|
||||||
let matchedId = null;
|
let matchedId = null;
|
||||||
@ -106,12 +99,10 @@ export default function ServerCard({ now, serverInfo, cycleStats }: ServerCardPr
|
|||||||
// 1. 直接匹配字符串ID
|
// 1. 直接匹配字符串ID
|
||||||
if (serverIdsInCycle.includes(serverId)) {
|
if (serverIdsInCycle.includes(serverId)) {
|
||||||
matchedId = serverId;
|
matchedId = serverId;
|
||||||
console.log(` ✓ Direct string match: ${serverId}`);
|
|
||||||
}
|
}
|
||||||
// 2. 尝试匹配数字ID (如果API返回的是数字ID)
|
// 2. 尝试匹配数字ID (如果API返回的是数字ID)
|
||||||
else if (serverIdsInCycle.includes(String(serverIdNum))) {
|
else if (serverIdsInCycle.includes(String(serverIdNum))) {
|
||||||
matchedId = String(serverIdNum);
|
matchedId = String(serverIdNum);
|
||||||
console.log(` ✓ Numeric match: ${serverIdNum}`);
|
|
||||||
}
|
}
|
||||||
// 3. 通过名称匹配
|
// 3. 通过名称匹配
|
||||||
else {
|
else {
|
||||||
@ -120,7 +111,6 @@ export default function ServerCard({ now, serverInfo, cycleStats }: ServerCardPr
|
|||||||
for (const [id, name] of serverNames) {
|
for (const [id, name] of serverNames) {
|
||||||
if (name === serverInfo.name) {
|
if (name === serverInfo.name) {
|
||||||
matchedId = id;
|
matchedId = id;
|
||||||
console.log(` ✓ Name match: ${serverInfo.name} -> ID: ${id}`);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -128,10 +118,8 @@ export default function ServerCard({ now, serverInfo, cycleStats }: ServerCardPr
|
|||||||
// 如果还没匹配,尝试循环比较所有ID
|
// 如果还没匹配,尝试循环比较所有ID
|
||||||
if (!matchedId) {
|
if (!matchedId) {
|
||||||
for (const id of serverIdsInCycle) {
|
for (const id of serverIdsInCycle) {
|
||||||
console.log(` Comparing IDs: ${id} vs ${serverId}`);
|
|
||||||
if (Number(id) === serverIdNum) {
|
if (Number(id) === serverIdNum) {
|
||||||
matchedId = id;
|
matchedId = id;
|
||||||
console.log(` ✓ Found match after conversion: ${id}`);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -140,7 +128,6 @@ export default function ServerCard({ now, serverInfo, cycleStats }: ServerCardPr
|
|||||||
|
|
||||||
// 如果找到匹配的ID,且有对应的传输数据
|
// 如果找到匹配的ID,且有对应的传输数据
|
||||||
if (matchedId && cycleData.transfer && cycleData.transfer[matchedId] !== undefined) {
|
if (matchedId && cycleData.transfer && cycleData.transfer[matchedId] !== undefined) {
|
||||||
console.log(` ✓ Found valid transfer data for server ${serverInfo.name} (ID: ${matchedId}) in cycle ${cycleId}`);
|
|
||||||
const transfer = cycleData.transfer[matchedId];
|
const transfer = cycleData.transfer[matchedId];
|
||||||
const progress = (transfer / cycleData.max) * 100;
|
const progress = (transfer / cycleData.max) * 100;
|
||||||
|
|
||||||
@ -153,12 +140,9 @@ export default function ServerCard({ now, serverInfo, cycleStats }: ServerCardPr
|
|||||||
nextUpdate: cycleData.next_update?.[matchedId] || "",
|
nextUpdate: cycleData.next_update?.[matchedId] || "",
|
||||||
progress: progress
|
progress: progress
|
||||||
});
|
});
|
||||||
} else {
|
|
||||||
console.log(` ✗ No valid transfer data found for this server in this cycle`);
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
console.log('Matched cycles result:', matchedCycles);
|
|
||||||
return matchedCycles.length > 0 ? matchedCycles : null;
|
return matchedCycles.length > 0 ? matchedCycles : null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -57,9 +57,6 @@ export function ServiceTracker({ serverList }: { serverList: NezhaServer[] }) {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
// 调试日志
|
|
||||||
console.log('cycle_transfer_stats data:', serviceData?.data?.cycle_transfer_stats);
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="mt-4 w-full mx-auto ">
|
<div className="mt-4 w-full mx-auto ">
|
||||||
{serviceData.data.cycle_transfer_stats && (
|
{serviceData.data.cycle_transfer_stats && (
|
||||||
|
@ -58,6 +58,9 @@ export default function Servers() {
|
|||||||
setShowServices("1")
|
setShowServices("1")
|
||||||
} else if (showServicesState !== null) {
|
} else if (showServicesState !== null) {
|
||||||
setShowServices(showServicesState)
|
setShowServices(showServicesState)
|
||||||
|
} else {
|
||||||
|
localStorage.setItem("showServices", "0")
|
||||||
|
setShowServices("0")
|
||||||
}
|
}
|
||||||
}, [])
|
}, [])
|
||||||
|
|
||||||
@ -121,22 +124,7 @@ export default function Servers() {
|
|||||||
})
|
})
|
||||||
|
|
||||||
const cycleTransferStats = serviceData?.data?.cycle_transfer_stats
|
const cycleTransferStats = serviceData?.data?.cycle_transfer_stats
|
||||||
console.log('Server.tsx - cycleTransferStats:', cycleTransferStats);
|
|
||||||
|
|
||||||
// 检查服务器ID是否匹配
|
|
||||||
if (cycleTransferStats && nezhaWsData?.servers) {
|
|
||||||
console.log('Server IDs in cycleTransferStats:');
|
|
||||||
Object.entries(cycleTransferStats).forEach(([cycleId, cycleData]) => {
|
|
||||||
if (cycleData.server_name) {
|
|
||||||
console.log(`Cycle ${cycleId} server IDs:`, Object.keys(cycleData.server_name));
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
console.log('Server IDs from websocket:');
|
|
||||||
nezhaWsData.servers.forEach(server => {
|
|
||||||
console.log(`Server ${server.name} ID:`, server.id, typeof server.id);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!connected && !lastMessage) {
|
if (!connected && !lastMessage) {
|
||||||
return (
|
return (
|
||||||
|
Loading…
x
Reference in New Issue
Block a user