/** * 套件总览页(overview) * 业务:QA 看板上展示所有套件、总通过率、失败数 * 布局:qa-console;页面只管业务数据 */ import { definePage } from 'vibe-registry' export const overviewPage = definePage({ layout: 'qa-console', title: '测试编排 · 总览', blocks: [ { widget: 'suite-list', bind: { suites: 'suites' } }, { widget: 'suite-detail-view', props: { mode: 'summary' }, bind: { cases: 'summary' }, }, ], setup: async () => { // 真实场景:从 API 拉取;这里用模拟数据演示编排 const suites = [ { id: 'auth', name: '认证模块', passedRate: 0.92, lastResult: 'passed' }, { id: 'billing', name: '计费模块', passedRate: 0.71, lastResult: 'failed' }, { id: 'search', name: '搜索模块', passedRate: 1.0, lastResult: 'passed' }, ] const total = suites.length const failed = suites.filter((s) => s.lastResult === 'failed').length return { suites, summary: { total, failed, passingRate: Math.round((1 - failed / total) * 100), }, } }, })