fix: 测试操作页三个数据显示区因 relay_code 改动不显示

问题原因:
1. pollProgress 中所有 render 调用共用一个 try-catch,
   一处报错会导致后续所有渲染被跳过(级联失败)
2. 页面加载时没有初始化数据查询——不启动自动化就永远显示
   占位符

修复:
- 每个 render 调用独立 try-catch,互不影响
- 页面加载时调用 loadInitialData(),自动显示最新测试数据
   和波动测试数据
- records 增加 length>0 判断,避免空数组误触发渲染
This commit is contained in:
wangfq
2026-06-05 14:34:13 +08:00
parent b4c27e30c8
commit 86c6046fbc

View File

@@ -244,17 +244,30 @@ async function pollProgress() {
} }
} }
// 显示最新结果 // 显示最新结果(独立 try-catch避免一处报错影响全部
if (data.latest) renderLatest(data.latest); try { if (data.latest) renderLatest(data.latest); } catch (e) { console.error("renderLatest:", e); }
if (data.averages) renderAverages(data.averages); try { if (data.averages) renderAverages(data.averages); } catch (e) { console.error("renderAverages:", e); }
if (data.latest_wave) renderLatestWave(data.latest_wave); try { if (data.latest_wave) renderLatestWave(data.latest_wave); } catch (e) { console.error("renderLatestWave:", e); }
if (data.records) renderRecords(data.records); try { if (data.records && data.records.length) renderRecords(data.records); } catch (e) { console.error("renderRecords:", e); }
} catch (e) { } catch (e) {
console.error("轮询失败:", e); console.error("轮询失败:", e);
} }
} }
// ─── 页面加载时获取初始数据 ──────────────────────
async function loadInitialData() {
try {
const resp = await fetch(`/api/automation/${DNT_ID}/progress`);
const data = await resp.json();
if (data.latest) renderLatest(data.latest);
if (data.latest_wave) renderLatestWave(data.latest_wave);
} catch (e) {
// 初始加载静默失败
}
}
loadInitialData();
// ─── UI ──────────────────────────────────────── // ─── UI ────────────────────────────────────────
function setStatus(msg) { function setStatus(msg) {