增加API

This commit is contained in:
Alex Yang
2025-11-25 17:07:15 +08:00
parent cd816ae065
commit e21e02a233
14 changed files with 3093 additions and 154774 deletions

View File

@@ -64,48 +64,54 @@ async function loadDashboardData() {
allowedQueries = stats.allowedQueries || 0;
}
// 更新新卡片数据 - 添加模拟数据支持
// 更新新卡片数据 - 使用API返回的真实数据
if (document.getElementById('avg-response-time')) {
// 使用真实数据或模拟数据
const responseTime = stats.avgResponseTime !== undefined ? stats.avgResponseTime : 42;
const responsePercent = stats.responseTimePercent !== undefined ? stats.responseTimePercent : 15;
document.getElementById('avg-response-time').textContent = formatNumber(responseTime) + 'ms';
document.getElementById('response-time-percent').textContent = responsePercent + '%';
// 保留两位小数并添加单位
const responseTime = stats.avgResponseTime ? stats.avgResponseTime.toFixed(2) + 'ms' : '---';
const responsePercent = stats.responseTimePercent !== undefined ? stats.responseTimePercent + '%' : '---';
document.getElementById('avg-response-time').textContent = responseTime;
document.getElementById('response-time-percent').textContent = responsePercent;
}
if (document.getElementById('top-query-type')) {
// 使用真实数据或模拟数据
const queryType = stats.topQueryType || 'A';
const queryPercent = stats.queryTypePercentage !== undefined ? stats.queryTypePercentage : 68;
// 直接使用API返回的查询类型
const queryType = stats.topQueryType || '---';
const queryPercent = stats.queryTypePercentage !== undefined ? stats.queryTypePercentage + '%' : '---';
document.getElementById('top-query-type').textContent = queryType;
document.getElementById('query-type-percentage').textContent = queryPercent + '%';
document.getElementById('query-type-percentage').textContent = queryPercent;
}
if (document.getElementById('active-ips')) {
// 使用真实数据或模拟数据
const activeIPs = stats.activeIPs !== undefined ? stats.activeIPs : 12;
const ipsPercent = stats.activeIPsPercent !== undefined ? stats.activeIPsPercent : 23;
document.getElementById('active-ips').textContent = formatNumber(activeIPs);
document.getElementById('active-ips-percent').textContent = ipsPercent + '%';
// 直接使用API返回的活跃IP数
const activeIPs = stats.activeIPs !== undefined ? formatNumber(stats.activeIPs) : '---';
const ipsPercent = stats.activeIPsPercent !== undefined ? stats.activeIPsPercent + '%' : '---';
document.getElementById('active-ips').textContent = activeIPs;
document.getElementById('active-ips-percent').textContent = ipsPercent;
}
if (document.getElementById('cpu-usage')) {
// 使用真实数据或模拟数据
const cpuUsage = stats.cpuUsage !== undefined ? stats.cpuUsage : 45;
document.getElementById('cpu-usage').textContent = cpuUsage + '%';
// 保留两位小数并添加单位
const cpuUsage = stats.cpuUsage ? stats.cpuUsage.toFixed(2) + '%' : '---';
document.getElementById('cpu-usage').textContent = cpuUsage;
// 设置CPU状态颜色
const cpuStatusElem = document.getElementById('cpu-status');
if (cpuStatusElem) {
if (cpuUsage > 80) {
cpuStatusElem.textContent = '警告';
cpuStatusElem.className = 'text-danger text-sm flex items-center';
} else if (cpuUsage > 60) {
cpuStatusElem.textContent = '较高';
cpuStatusElem.className = 'text-warning text-sm flex items-center';
if (stats.cpuUsage !== undefined && stats.cpuUsage !== null) {
if (stats.cpuUsage > 80) {
cpuStatusElem.textContent = '警告';
cpuStatusElem.className = 'text-danger text-sm flex items-center';
} else if (stats.cpuUsage > 60) {
cpuStatusElem.textContent = '较高';
cpuStatusElem.className = 'text-warning text-sm flex items-center';
} else {
cpuStatusElem.textContent = '正常';
cpuStatusElem.className = 'text-success text-sm flex items-center';
}
} else {
cpuStatusElem.textContent = '正常';
cpuStatusElem.className = 'text-success text-sm flex items-center';
// 无数据时显示---
cpuStatusElem.textContent = '---';
cpuStatusElem.className = 'text-gray-400 text-sm flex items-center';
}
}
}