fix: 测试操作页三个数据显示区因 relay_code 改动不显示
问题原因: 1. pollProgress 中所有 render 调用共用一个 try-catch, 一处报错会导致后续所有渲染被跳过(级联失败) 2. 页面加载时没有初始化数据查询——不启动自动化就永远显示 占位符 修复: - 每个 render 调用独立 try-catch,互不影响 - 页面加载时调用 loadInitialData(),自动显示最新测试数据 和波动测试数据 - records 增加 length>0 判断,避免空数组误触发渲染
This commit is contained in:
@@ -244,17 +244,30 @@ async function pollProgress() {
|
||||
}
|
||||
}
|
||||
|
||||
// 显示最新结果
|
||||
if (data.latest) renderLatest(data.latest);
|
||||
if (data.averages) renderAverages(data.averages);
|
||||
if (data.latest_wave) renderLatestWave(data.latest_wave);
|
||||
if (data.records) renderRecords(data.records);
|
||||
// 显示最新结果(独立 try-catch,避免一处报错影响全部)
|
||||
try { if (data.latest) renderLatest(data.latest); } catch (e) { console.error("renderLatest:", e); }
|
||||
try { if (data.averages) renderAverages(data.averages); } catch (e) { console.error("renderAverages:", e); }
|
||||
try { if (data.latest_wave) renderLatestWave(data.latest_wave); } catch (e) { console.error("renderLatestWave:", e); }
|
||||
try { if (data.records && data.records.length) renderRecords(data.records); } catch (e) { console.error("renderRecords:", e); }
|
||||
|
||||
} catch (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 ────────────────────────────────────────
|
||||
|
||||
function setStatus(msg) {
|
||||
|
||||
Reference in New Issue
Block a user