fix: 恢复到c65a991前可工作版本 + 仅var la修复

This commit is contained in:
qinglong
2026-06-14 12:27:02 +08:00
parent 257f92f746
commit 71c9508330
+6 -12
View File
@@ -161,7 +161,6 @@
var _firstRender = true;
function renderNodes(nodes) {
try {
var grid = document.getElementById("sentinel-grid");
if (!nodes.length) {
grid.innerHTML = '<div class="card" style="text-align:center;padding:24px;color:var(--text-dim)">暂无节点 — 切换到节点管理添加</div>';
@@ -261,6 +260,7 @@
var oldCpu = parseFloat(body.getAttribute('data-cpu')||(sys.cpu||{}).percent||0);
var oldMem = parseFloat(body.getAttribute('data-mem')||(sys.memory||{}).percent||0);
body.setAttribute('data-cpu', (sys.cpu||{}).percent||0);
body.setAttribute('data-mem', (sys.memory||{}).percent||0);
if (isRow) {
@@ -293,7 +293,7 @@
var trafEl = card.querySelector('.traf-val');
var procEl = card.querySelector('.proc-val');
var sysData = n.system || {};
if (loadEl && sysData.cpu) { var la = sysData.cpu.load_avg||[0,0,0]; loadEl.textContent = (la[0]+la[1]+la[2])===0 ? "N/A" : la.map(function(v){return v.toFixed(1);}).join(" / "); }
if (loadEl && sysData.cpu) loadEl.textContent = (sysData.cpu.load_avg||[0,0,0]).map(function(v){return v.toFixed(1);}).join(' / ');
if (swapEl && sysData.swap) { var st = sysData.swap.total_gb||0; swapEl.textContent = st > 0 ? (sysData.swap.percent||0).toFixed(1)+'% ('+(sysData.swap.used_gb||0).toFixed(1)+'G)' : '—'; }
// 磁盘分区列表
var diskList = card.querySelector('.disk-list');
@@ -360,8 +360,7 @@
animateValue(body.querySelector('.mem-val'), oldMem, memVal, 1, '%');
card.querySelector('.node-time').innerHTML = '<div style="font-size:.7rem;color:var(--text-dim);margin-top:8px">'+(n.last_seen ? new Date(n.last_seen*1000).toLocaleTimeString() : '—')+'</div>';
}
}
} catch(e) { console.error('renderNodes error:', e); }
});
}
function bar(v) { return v < 60 ? 'bar-green' : (v < 85 ? 'bar-yellow' : 'bar-red'); }
@@ -371,15 +370,9 @@ function bar(v) { return v < 60 ? 'bar-green' : (v < 85 ? 'bar-yellow' : 'bar-re
function esc(s) { return String(s).replace(/&/g,'&amp;').replace(/</g,'&lt;').replace(/>/g,'&gt;').replace(/"/g,'&quot;'); }
function pollNodes() {
console.log("pollNodes: fetching...");
fetch("/sentinel/api/nodes").then(function(r){
console.log("pollNodes: status="+r.status);
return r.json();
}).then(function(d){
console.log("pollNodes: got "+ (d.nodes ? d.nodes.length : 0) +" nodes");
fetch("/sentinel/api/nodes").then(function(r){return r.json()}).then(function(d){
renderNodes(d.nodes || []);
}).catch(function(e){
console.error("pollNodes error:", e);
var grid = document.getElementById("sentinel-grid");
if (grid && _firstRender) {
grid.innerHTML = '<div class="card" style="text-align:center;padding:24px;color:var(--error)">连接失败 — 检查节点配置</div>';
@@ -471,5 +464,6 @@ function bar(v) { return v < 60 ? 'bar-green' : (v < 85 ? 'bar-yellow' : 'bar-re
'<button class="btn btn-sm btn-outlined" style="color:var(--error)" onclick="deleteNode(\''+esc(n.id)+'\',\''+esc(n.name)+'\')">✕</button>'+
'</div>';
}).join("");
}))</script>
}
</script>
</div>