This commit is contained in:
Alex Yang
2026-04-01 12:22:55 +08:00
parent 61789061ce
commit efebce3c39
46 changed files with 4797716 additions and 462145 deletions
+31 -3
View File
@@ -125,10 +125,15 @@ function setupWebSocketListeners() {
}
}
// 加载服务器状态数据
// 加载服务器状态数据 - 添加页面可见性检查
async function loadServerStatusData() {
// 页面不可见时跳过加载,节省资源
if (document.hidden) {
return;
}
try {
// 使用现有的API获取系统状态
// 使用现有的 API 获取系统状态
const api = window.api || {};
const getStatusFn = api.getStatus || function() { return Promise.resolve({}); };
const statusData = await getStatusFn();
@@ -284,10 +289,33 @@ function formatNumber(num) {
return fullNumStr;
}
// 在DOM加载完成后初始化
// 页面可见性变化处理
function handleServerStatusVisibilityChange() {
if (document.hidden) {
// 页面隐藏时停止定时器
if (serverStatusUpdateTimer) {
clearInterval(serverStatusUpdateTimer);
serverStatusUpdateTimer = null;
console.log('服务器状态组件:页面隐藏,已停止定时器');
}
} else {
// 页面重新可见时恢复定时器
if (!serverStatusUpdateTimer) {
serverStatusUpdateTimer = setInterval(loadServerStatusData, 5000);
console.log('服务器状态组件:页面可见,已恢复定时器');
// 立即更新一次
loadServerStatusData();
}
}
}
// 在 DOM 加载完成后初始化
window.addEventListener('DOMContentLoaded', function() {
// 延迟初始化,确保页面完全加载
setTimeout(initServerStatusWidget, 500);
// 添加页面可见性监听
document.addEventListener('visibilitychange', handleServerStatusVisibilityChange);
});
// 在页面卸载时清理资源