-
Data Governance Dev authored
- 弃用 SSE(EventSource) - 原方案 push 大 payload + Vue 响应式触发 1000+ 行 el-table 重渲,主线程卡 2s+ 导致页面「无响应」 - 改为 setInterval(1000ms) 轮询 + 立即首次触发 - 删除大进度卡片(3 指标 + el-progress) - 改为单行扫描提示:Loading 图标 + 「已发现 X 张问题表 / Y 行违规(Zs)」 - 结果区改为 el-collapse 折叠面板(每张表一个 collapse-item) - 新增 violationsByTable + liveBadRowCount 两个 ref(模板读这两个,不直接读 scanResult) - polling 累加 + done 兜底: - running 阶段 partial 来的表 push 到 violationsByTable(dedupe by renderedTableNames Set) - done 分支兜底:若 violationsByTable 为空,从 data.response.violations_by_table 同步灌入 (解决扫描太快<1s 时 running partial 没机会被观察到的问题) - 错误处理: - 404 = scan_id 过期(10 分钟 TTL),友好提示 - 网络瞬断不停轮询,下次自动恢复91d91703