chore(core/qa): function-audit toolchain + parity/audit reports + pixel-perfect skill

- qa/function-audit: playwright 行为审计工具(audit.mjs/verify-modals.mjs/pages.json)
  + 18 页审计产出(*.audit.md/json、summary、运行日志)
- qa/visual-parity: 调试/测量辅助脚本(_dbg*.mjs/_measure.mjs/_off.mjs)
- core/还原度核对报告.md: 18 页 pixelmatch 核对结果(含 vite 代理陈旧坑记录)
- core/还原与接口待办.md: 逐页还原度/真实数据/交互接入待办总表
- .claude/skills/pixel-perfect-react: 像素级还原 React 的 SKILL 文档
- frontend/public/_devlogin.html: 临时本地登录辅助页(可删)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
zyc
2026-06-10 09:41:30 +08:00
co-authored by Claude Fable 5
parent 3fac38c5ef
commit 890cb9ab67
66 changed files with 11610 additions and 0 deletions
+45
View File
@@ -0,0 +1,45 @@
[function-audit] dashboard … dead 0 / 30, missing 20
[function-audit] products … dead 0 / 25, missing 11
[function-audit] product-detail … dead 0 / 23, missing 6
[function-audit] product-create … dead 5 / 31, missing 11
[function-audit] projects … dead 0 / 30, missing 14
[function-audit] projects-new … dead 0 / 15, missing 14
[function-audit] pipeline … dead 1 / 29, missing 5
[function-audit] library … dead 0 / 26, missing 6
[function-audit] account … dead 0 / 26, missing 5
[function-audit] team … dead 0 / 17, missing 7
[function-audit] messages … dead 0 / 26, missing 11
[function-audit] asset-factory … dead 2 / 26, missing 4
[function-audit] image-optimize … dead 1 / 24, missing 12
[function-audit] model-photo … dead 0 / 37, missing 6
[function-audit] model-photo-demo-a … dead 0 / 38, missing 5
[function-audit] model-photo-demo-b … dead 4 / 37, missing 5
[function-audit] platform-cover … dead 0 / 38, missing 8
[function-audit] settings … dead 1 / 26, missing 4
[function-audit] summary
┌─────────┬──────────────────────┬───────┬───────┬──────┬───────┬─────────┐
│ (index) │ page │ total │ works │ dead │ error │ missing │
├─────────┼──────────────────────┼───────┼───────┼──────┼───────┼─────────┤
│ 0 │ 'dashboard' │ 30 │ 29 │ 0 │ 0 │ 20 │
│ 1 │ 'products' │ 25 │ 25 │ 0 │ 0 │ 11 │
│ 2 │ 'product-detail' │ 23 │ 21 │ 0 │ 0 │ 6 │
│ 3 │ 'product-create' │ 31 │ 26 │ 5 │ 0 │ 11 │
│ 4 │ 'projects' │ 30 │ 28 │ 0 │ 0 │ 14 │
│ 5 │ 'projects-new' │ 15 │ 15 │ 0 │ 0 │ 14 │
│ 6 │ 'pipeline' │ 29 │ 26 │ 1 │ 0 │ 5 │
│ 7 │ 'library' │ 26 │ 25 │ 0 │ 0 │ 6 │
│ 8 │ 'account' │ 26 │ 23 │ 0 │ 0 │ 5 │
│ 9 │ 'team' │ 17 │ 16 │ 0 │ 0 │ 7 │
│ 10 │ 'messages' │ 26 │ 25 │ 0 │ 0 │ 11 │
│ 11 │ 'asset-factory' │ 26 │ 19 │ 2 │ 0 │ 4 │
│ 12 │ 'image-optimize' │ 24 │ 23 │ 1 │ 0 │ 12 │
│ 13 │ 'model-photo' │ 37 │ 34 │ 0 │ 0 │ 6 │
│ 14 │ 'model-photo-demo-a' │ 38 │ 34 │ 0 │ 0 │ 5 │
│ 15 │ 'model-photo-demo-b' │ 37 │ 31 │ 4 │ 0 │ 5 │
│ 16 │ 'platform-cover' │ 38 │ 36 │ 0 │ 0 │ 8 │
│ 17 │ 'settings' │ 26 │ 23 │ 1 │ 0 │ 4 │
└─────────┴──────────────────────┴───────┴───────┴──────┴───────┴─────────┘
报告:core/qa/function-audit/output/summary.md
+45
View File
@@ -0,0 +1,45 @@
[function-audit] dashboard … dead 0 / 30, missing 20
[function-audit] products … FAILED page.waitForTimeout: Target page, context or browser has been closed
[function-audit] product-detail … FAILED browserContext.newPage: Target page, context or browser has been closed
[function-audit] product-create … FAILED browserContext.newPage: Target page, context or browser has been closed
[function-audit] projects … FAILED browserContext.newPage: Target page, context or browser has been closed
[function-audit] projects-new … FAILED browserContext.newPage: Target page, context or browser has been closed
[function-audit] pipeline … FAILED browserContext.newPage: Target page, context or browser has been closed
[function-audit] library … FAILED browserContext.newPage: Target page, context or browser has been closed
[function-audit] account … FAILED browserContext.newPage: Target page, context or browser has been closed
[function-audit] team … FAILED browserContext.newPage: Target page, context or browser has been closed
[function-audit] messages … FAILED browserContext.newPage: Target page, context or browser has been closed
[function-audit] asset-factory … FAILED browserContext.newPage: Target page, context or browser has been closed
[function-audit] image-optimize … FAILED browserContext.newPage: Target page, context or browser has been closed
[function-audit] model-photo … FAILED browserContext.newPage: Target page, context or browser has been closed
[function-audit] model-photo-demo-a … FAILED browserContext.newPage: Target page, context or browser has been closed
[function-audit] model-photo-demo-b … FAILED browserContext.newPage: Target page, context or browser has been closed
[function-audit] platform-cover … FAILED browserContext.newPage: Target page, context or browser has been closed
[function-audit] settings … FAILED browserContext.newPage: Target page, context or browser has been closed
[function-audit] summary
┌─────────┬──────────────────────┬───────┬───────┬──────┬───────┬─────────┐
│ (index) │ page │ total │ works │ dead │ error │ missing │
├─────────┼──────────────────────┼───────┼───────┼──────┼───────┼─────────┤
│ 0 │ 'dashboard' │ 30 │ 29 │ 0 │ 0 │ 20 │
│ 1 │ 'products' │ 0 │ 0 │ 0 │ 0 │ 0 │
│ 2 │ 'product-detail' │ 0 │ 0 │ 0 │ 0 │ 0 │
│ 3 │ 'product-create' │ 0 │ 0 │ 0 │ 0 │ 0 │
│ 4 │ 'projects' │ 0 │ 0 │ 0 │ 0 │ 0 │
│ 5 │ 'projects-new' │ 0 │ 0 │ 0 │ 0 │ 0 │
│ 6 │ 'pipeline' │ 0 │ 0 │ 0 │ 0 │ 0 │
│ 7 │ 'library' │ 0 │ 0 │ 0 │ 0 │ 0 │
│ 8 │ 'account' │ 0 │ 0 │ 0 │ 0 │ 0 │
│ 9 │ 'team' │ 0 │ 0 │ 0 │ 0 │ 0 │
│ 10 │ 'messages' │ 0 │ 0 │ 0 │ 0 │ 0 │
│ 11 │ 'asset-factory' │ 0 │ 0 │ 0 │ 0 │ 0 │
│ 12 │ 'image-optimize' │ 0 │ 0 │ 0 │ 0 │ 0 │
│ 13 │ 'model-photo' │ 0 │ 0 │ 0 │ 0 │ 0 │
│ 14 │ 'model-photo-demo-a' │ 0 │ 0 │ 0 │ 0 │ 0 │
│ 15 │ 'model-photo-demo-b' │ 0 │ 0 │ 0 │ 0 │ 0 │
│ 16 │ 'platform-cover' │ 0 │ 0 │ 0 │ 0 │ 0 │
│ 17 │ 'settings' │ 0 │ 0 │ 0 │ 0 │ 0 │
└─────────┴──────────────────────┴───────┴───────┴──────┴───────┴─────────┘
报告:core/qa/function-audit/output/summary.md
@@ -0,0 +1,45 @@
[function-audit] dashboard … dead 1 / 29, missing 20
[function-audit] products … dead 10 / 32, missing 13
[function-audit] product-detail … dead 15 / 37, missing 8
[function-audit] product-create … dead 9 / 32, missing 13
[function-audit] projects … dead 5 / 31, missing 19
[function-audit] projects-new … dead 2 / 20, missing 27
[function-audit] pipeline … dead 6 / 32, missing 5
[function-audit] library … dead 10 / 30, missing 12
[function-audit] account … dead 3 / 25, missing 5
[function-audit] team … dead 1 / 16, missing 7
[function-audit] messages … dead 1 / 42, missing 19
[function-audit] asset-factory … dead 17 / 33, missing 6
[function-audit] image-optimize … dead 3 / 23, missing 15
[function-audit] model-photo … dead 6 / 35, missing 14
[function-audit] model-photo-demo-a … dead 17 / 37, missing 5
[function-audit] model-photo-demo-b … dead 27 / 47, missing 5
[function-audit] platform-cover … dead 2 / 37, missing 15
[function-audit] settings … dead 5 / 25, missing 4
[function-audit] summary
┌─────────┬──────────────────────┬───────┬───────┬──────┬───────┬─────────┐
│ (index) │ page │ total │ works │ dead │ error │ missing │
├─────────┼──────────────────────┼───────┼───────┼──────┼───────┼─────────┤
│ 0 │ 'dashboard' │ 29 │ 27 │ 1 │ 0 │ 20 │
│ 1 │ 'products' │ 32 │ 22 │ 10 │ 0 │ 13 │
│ 2 │ 'product-detail' │ 37 │ 20 │ 15 │ 0 │ 8 │
│ 3 │ 'product-create' │ 32 │ 23 │ 9 │ 0 │ 13 │
│ 4 │ 'projects' │ 31 │ 24 │ 5 │ 0 │ 19 │
│ 5 │ 'projects-new' │ 20 │ 16 │ 2 │ 0 │ 27 │
│ 6 │ 'pipeline' │ 32 │ 24 │ 6 │ 0 │ 5 │
│ 7 │ 'library' │ 30 │ 19 │ 10 │ 0 │ 12 │
│ 8 │ 'account' │ 25 │ 19 │ 3 │ 0 │ 5 │
│ 9 │ 'team' │ 16 │ 14 │ 1 │ 0 │ 7 │
│ 10 │ 'messages' │ 42 │ 39 │ 1 │ 0 │ 19 │
│ 11 │ 'asset-factory' │ 33 │ 11 │ 17 │ 0 │ 6 │
│ 12 │ 'image-optimize' │ 23 │ 20 │ 3 │ 0 │ 15 │
│ 13 │ 'model-photo' │ 35 │ 26 │ 6 │ 0 │ 14 │
│ 14 │ 'model-photo-demo-a' │ 37 │ 17 │ 17 │ 0 │ 5 │
│ 15 │ 'model-photo-demo-b' │ 47 │ 17 │ 27 │ 0 │ 5 │
│ 16 │ 'platform-cover' │ 37 │ 33 │ 2 │ 0 │ 15 │
│ 17 │ 'settings' │ 25 │ 18 │ 5 │ 0 │ 4 │
└─────────┴──────────────────────┴───────┴───────┴──────┴───────┴─────────┘
报告:core/qa/function-audit/output/summary.md
+21
View File
@@ -0,0 +1,21 @@
[function-audit] dashboard … dead 0 / 25, missing 20
[function-audit] products … dead 0 / 25, missing 11
[function-audit] product-detail … dead 0 / 23, missing 7
[function-audit] product-create … dead 0 / 31, missing 11
[function-audit] account … dead 0 / 26, missing 5
[function-audit] team … dead 0 / 17, missing 7
[function-audit] summary
┌─────────┬──────────────────┬───────┬───────┬──────┬───────┬─────────┐
│ (index) │ page │ total │ works │ dead │ error │ missing │
├─────────┼──────────────────┼───────┼───────┼──────┼───────┼─────────┤
│ 0 │ 'dashboard' │ 25 │ 24 │ 0 │ 0 │ 20 │
│ 1 │ 'products' │ 25 │ 25 │ 0 │ 0 │ 11 │
│ 2 │ 'product-detail' │ 23 │ 21 │ 0 │ 0 │ 7 │
│ 3 │ 'product-create' │ 31 │ 31 │ 0 │ 0 │ 11 │
│ 4 │ 'account' │ 26 │ 23 │ 0 │ 0 │ 5 │
│ 5 │ 'team' │ 17 │ 16 │ 0 │ 0 │ 7 │
└─────────┴──────────────────┴───────┴───────┴──────┴───────┴─────────┘
报告:core/qa/function-audit/output/summary.md
+21
View File
@@ -0,0 +1,21 @@
[function-audit] projects … dead 0 / 24, missing 15
[function-audit] projects-new … dead 0 / 15, missing 14
[function-audit] pipeline … dead 0 / 29, missing 5
[function-audit] library … dead 0 / 26, missing 6
[function-audit] messages … dead 0 / 26, missing 11
[function-audit] settings … dead 0 / 26, missing 4
[function-audit] summary
┌─────────┬────────────────┬───────┬───────┬──────┬───────┬─────────┐
│ (index) │ page │ total │ works │ dead │ error │ missing │
├─────────┼────────────────┼───────┼───────┼──────┼───────┼─────────┤
│ 0 │ 'projects' │ 24 │ 22 │ 0 │ 0 │ 15 │
│ 1 │ 'projects-new' │ 15 │ 15 │ 0 │ 0 │ 14 │
│ 2 │ 'pipeline' │ 29 │ 27 │ 0 │ 0 │ 5 │
│ 3 │ 'library' │ 26 │ 25 │ 0 │ 0 │ 6 │
│ 4 │ 'messages' │ 26 │ 25 │ 0 │ 0 │ 11 │
│ 5 │ 'settings' │ 26 │ 24 │ 0 │ 0 │ 4 │
└─────────┴────────────────┴───────┴───────┴──────┴───────┴─────────┘
报告:core/qa/function-audit/output/summary.md
+21
View File
@@ -0,0 +1,21 @@
[function-audit] asset-factory … dead 0 / 24, missing 4
[function-audit] image-optimize … dead 0 / 24, missing 12
[function-audit] model-photo … dead 0 / 36, missing 6
[function-audit] model-photo-demo-a … dead 0 / 37, missing 5
[function-audit] model-photo-demo-b … dead 0 / 37, missing 5
[function-audit] platform-cover … dead 0 / 38, missing 8
[function-audit] summary
┌─────────┬──────────────────────┬───────┬───────┬──────┬───────┬─────────┐
│ (index) │ page │ total │ works │ dead │ error │ missing │
├─────────┼──────────────────────┼───────┼───────┼──────┼───────┼─────────┤
│ 0 │ 'asset-factory' │ 24 │ 19 │ 0 │ 0 │ 4 │
│ 1 │ 'image-optimize' │ 24 │ 24 │ 0 │ 0 │ 12 │
│ 2 │ 'model-photo' │ 36 │ 33 │ 0 │ 0 │ 6 │
│ 3 │ 'model-photo-demo-a' │ 37 │ 34 │ 0 │ 0 │ 5 │
│ 4 │ 'model-photo-demo-b' │ 37 │ 36 │ 0 │ 0 │ 5 │
│ 5 │ 'platform-cover' │ 38 │ 36 │ 0 │ 0 │ 8 │
└─────────┴──────────────────────┴───────┴───────┴──────┴───────┴─────────┘
报告:core/qa/function-audit/output/summary.md
+21
View File
@@ -0,0 +1,21 @@
[function-audit] dashboard … dead 0 / 25, missing 20
[function-audit] products … dead 0 / 25, missing 11
[function-audit] product-detail … dead 0 / 29, missing 7
[function-audit] product-create … dead 0 / 31, missing 11
[function-audit] account … dead 0 / 26, missing 5
[function-audit] team … dead 0 / 17, missing 7
[function-audit] summary
┌─────────┬──────────────────┬───────┬───────┬──────┬───────┬─────────┐
│ (index) │ page │ total │ works │ dead │ error │ missing │
├─────────┼──────────────────┼───────┼───────┼──────┼───────┼─────────┤
│ 0 │ 'dashboard' │ 25 │ 25 │ 0 │ 0 │ 20 │
│ 1 │ 'products' │ 25 │ 25 │ 0 │ 0 │ 11 │
│ 2 │ 'product-detail' │ 29 │ 28 │ 0 │ 0 │ 7 │
│ 3 │ 'product-create' │ 31 │ 31 │ 0 │ 0 │ 11 │
│ 4 │ 'account' │ 26 │ 21 │ 0 │ 0 │ 5 │
│ 5 │ 'team' │ 17 │ 17 │ 0 │ 0 │ 7 │
└─────────┴──────────────────┴───────┴───────┴──────┴───────┴─────────┘
报告:core/qa/function-audit/output/summary.md
+21
View File
@@ -0,0 +1,21 @@
[function-audit] projects … dead 0 / 24, missing 15
[function-audit] projects-new … dead 0 / 15, missing 14
[function-audit] pipeline … dead 0 / 29, missing 5
[function-audit] library … dead 0 / 38, missing 6
[function-audit] messages … dead 0 / 26, missing 11
[function-audit] settings … dead 0 / 26, missing 4
[function-audit] summary
┌─────────┬────────────────┬───────┬───────┬──────┬───────┬─────────┐
│ (index) │ page │ total │ works │ dead │ error │ missing │
├─────────┼────────────────┼───────┼───────┼──────┼───────┼─────────┤
│ 0 │ 'projects' │ 24 │ 22 │ 0 │ 0 │ 15 │
│ 1 │ 'projects-new' │ 15 │ 15 │ 0 │ 0 │ 14 │
│ 2 │ 'pipeline' │ 29 │ 27 │ 0 │ 0 │ 5 │
│ 3 │ 'library' │ 38 │ 35 │ 0 │ 0 │ 6 │
│ 4 │ 'messages' │ 26 │ 25 │ 0 │ 0 │ 11 │
│ 5 │ 'settings' │ 26 │ 25 │ 0 │ 0 │ 4 │
└─────────┴────────────────┴───────┴───────┴──────┴───────┴─────────┘
报告:core/qa/function-audit/output/summary.md
+21
View File
@@ -0,0 +1,21 @@
[function-audit] asset-factory … dead 0 / 24, missing 4
[function-audit] image-optimize … dead 0 / 24, missing 12
[function-audit] model-photo … dead 0 / 32, missing 7
[function-audit] model-photo-demo-a … dead 0 / 37, missing 5
[function-audit] model-photo-demo-b … dead 0 / 37, missing 5
[function-audit] platform-cover … dead 0 / 38, missing 8
[function-audit] summary
┌─────────┬──────────────────────┬───────┬───────┬──────┬───────┬─────────┐
│ (index) │ page │ total │ works │ dead │ error │ missing │
├─────────┼──────────────────────┼───────┼───────┼──────┼───────┼─────────┤
│ 0 │ 'asset-factory' │ 24 │ 22 │ 0 │ 0 │ 4 │
│ 1 │ 'image-optimize' │ 24 │ 24 │ 0 │ 0 │ 12 │
│ 2 │ 'model-photo' │ 32 │ 31 │ 0 │ 0 │ 7 │
│ 3 │ 'model-photo-demo-a' │ 37 │ 33 │ 0 │ 0 │ 5 │
│ 4 │ 'model-photo-demo-b' │ 37 │ 36 │ 0 │ 0 │ 5 │
│ 5 │ 'platform-cover' │ 38 │ 35 │ 0 │ 0 │ 8 │
└─────────┴──────────────────────┴───────┴───────┴──────┴───────┴─────────┘
报告:core/qa/function-audit/output/summary.md
@@ -0,0 +1,15 @@
[function-audit] products … dead 1 / 25, missing 11
[function-audit] product-detail … dead 0 / 29, missing 7
[function-audit] account … dead 2 / 26, missing 5
[function-audit] summary
┌─────────┬──────────────────┬───────┬───────┬──────┬───────┬─────────┐
│ (index) │ page │ total │ works │ dead │ error │ missing │
├─────────┼──────────────────┼───────┼───────┼──────┼───────┼─────────┤
│ 0 │ 'products' │ 25 │ 24 │ 1 │ 0 │ 11 │
│ 1 │ 'product-detail' │ 29 │ 21 │ 0 │ 0 │ 7 │
│ 2 │ 'account' │ 26 │ 21 │ 2 │ 0 │ 5 │
└─────────┴──────────────────┴───────┴───────┴──────┴───────┴─────────┘
报告:core/qa/function-audit/output/summary.md
@@ -0,0 +1,21 @@
[function-audit] product-create … dead 2 / 31, missing 11
[function-audit] pipeline … dead 0 / 29, missing 5
[function-audit] asset-factory … dead 2 / 26, missing 4
[function-audit] image-optimize … dead 0 / 24, missing 12
[function-audit] model-photo-demo-b … dead 0 / 37, missing 5
[function-audit] settings … dead 1 / 26, missing 4
[function-audit] summary
┌─────────┬──────────────────────┬───────┬───────┬──────┬───────┬─────────┐
│ (index) │ page │ total │ works │ dead │ error │ missing │
├─────────┼──────────────────────┼───────┼───────┼──────┼───────┼─────────┤
│ 0 │ 'product-create' │ 31 │ 29 │ 2 │ 0 │ 11 │
│ 1 │ 'pipeline' │ 29 │ 27 │ 0 │ 0 │ 5 │
│ 2 │ 'asset-factory' │ 26 │ 19 │ 2 │ 0 │ 4 │
│ 3 │ 'image-optimize' │ 24 │ 24 │ 0 │ 0 │ 12 │
│ 4 │ 'model-photo-demo-b' │ 37 │ 36 │ 0 │ 0 │ 5 │
│ 5 │ 'settings' │ 26 │ 23 │ 1 │ 0 │ 4 │
└─────────┴──────────────────────┴───────┴───────┴──────┴───────┴─────────┘
报告:core/qa/function-audit/output/summary.md
@@ -0,0 +1,15 @@
[function-audit] product-create … dead 0 / 31, missing 11
[function-audit] asset-factory … dead 0 / 24, missing 4
[function-audit] settings … dead 0 / 26, missing 4
[function-audit] summary
┌─────────┬──────────────────┬───────┬───────┬──────┬───────┬─────────┐
│ (index) │ page │ total │ works │ dead │ error │ missing │
├─────────┼──────────────────┼───────┼───────┼──────┼───────┼─────────┤
│ 0 │ 'product-create' │ 31 │ 31 │ 0 │ 0 │ 11 │
│ 1 │ 'asset-factory' │ 24 │ 19 │ 0 │ 0 │ 4 │
│ 2 │ 'settings' │ 26 │ 24 │ 0 │ 0 │ 4 │
└─────────┴──────────────────┴───────┴───────┴──────┴───────┴─────────┘
报告:core/qa/function-audit/output/summary.md
@@ -0,0 +1,479 @@
{
"name": "account",
"route": "/account",
"url": "http://127.0.0.1:5173/account",
"mode": "isolated",
"tally": {
"total": 26,
"works": 21,
"dead": 0,
"error": 0,
"disabled": 0,
"skipped": 2,
"noop": 3,
"blocked": 0
},
"results": [
{
"idx": 0,
"tag": "a",
"role": "",
"cls": "brand",
"label": "Airshelf 工作台",
"href": "/dashboard",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 25,
"api": 0
}
},
{
"idx": 1,
"tag": "button",
"role": "",
"cls": "sidebar-toggle",
"label": "收窄导航",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 17,
"api": 0
}
},
{
"idx": 2,
"tag": "div",
"role": "button",
"cls": "search-box",
"label": "搜索 (Ctrl K)",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": true,
"self": false,
"mutations": 14,
"api": 0
}
},
{
"idx": 3,
"tag": "a",
"role": "",
"cls": "",
"label": "工作台",
"href": "/dashboard",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 25,
"api": 0
}
},
{
"idx": 4,
"tag": "a",
"role": "",
"cls": "",
"label": "商品库",
"href": "/products",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 20,
"api": 0
}
},
{
"idx": 5,
"tag": "a",
"role": "",
"cls": "",
"label": "视频项目",
"href": "/projects",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 20,
"api": 0
}
},
{
"idx": 6,
"tag": "a",
"role": "",
"cls": "",
"label": "图片生成",
"href": "/asset-factory",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 20,
"api": 0
}
},
{
"idx": 7,
"tag": "a",
"role": "",
"cls": "",
"label": "资产库",
"href": "/library",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 36,
"api": 0
}
},
{
"idx": 8,
"tag": "a",
"role": "",
"cls": "",
"label": "团队",
"href": "/team",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 20,
"api": 0
}
},
{
"idx": 9,
"tag": "a",
"role": "",
"cls": "active",
"label": "消费",
"href": "/account",
"disabled": false,
"active": true,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 18,
"api": 0
}
},
{
"idx": 10,
"tag": "a",
"role": "",
"cls": "",
"label": "设置",
"href": "/settings",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 49,
"api": 2
}
},
{
"idx": 11,
"tag": "a",
"role": "",
"cls": "",
"label": "工作台",
"href": "/dashboard",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 25,
"api": 0
}
},
{
"idx": 12,
"tag": "button",
"role": "",
"cls": "icon-btn",
"label": "消息中心",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 19,
"api": 0
}
},
{
"idx": 13,
"tag": "div",
"role": "button",
"cls": "recharge-card.",
"label": "¥100无赠送",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": true,
"mutations": 9,
"api": 0
}
},
{
"idx": 14,
"tag": "div",
"role": "button",
"cls": "recharge-card.selected",
"label": "推荐¥500+ ¥30 赠送",
"href": "",
"disabled": false,
"active": true,
"verdict": "noop-active",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 0,
"api": 0
}
},
{
"idx": 15,
"tag": "div",
"role": "button",
"cls": "recharge-card.",
"label": "¥1000+ ¥80 赠送",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": true,
"mutations": 9,
"api": 0
}
},
{
"idx": 16,
"tag": "div",
"role": "button",
"cls": "recharge-card.",
"label": "¥3000+ ¥300 赠送",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": true,
"mutations": 9,
"api": 0
}
},
{
"idx": 17,
"tag": "button",
"role": "",
"cls": "btn.pay-method-btn.pay-wechat",
"label": "微信支付",
"href": "",
"disabled": false,
"active": false,
"verdict": "skipped-destructive"
},
{
"idx": 18,
"tag": "button",
"role": "",
"cls": "btn.pay-method-btn.pay-alipay",
"label": "支付宝",
"href": "",
"disabled": false,
"active": false,
"verdict": "skipped-destructive"
},
{
"idx": 19,
"tag": "button",
"role": "",
"cls": "tab.active",
"label": "总览",
"href": "",
"disabled": false,
"active": true,
"verdict": "noop-active",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 0,
"api": 0
}
},
{
"idx": 20,
"tag": "button",
"role": "",
"cls": "tab.",
"label": "项目 6",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": true,
"mutations": 7,
"api": 0
}
},
{
"idx": 21,
"tag": "button",
"role": "",
"cls": "tab.",
"label": "成员 1",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": true,
"mutations": 7,
"api": 0
}
},
{
"idx": 22,
"tag": "button",
"role": "",
"cls": "tab.",
"label": "账单流水 100",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": true,
"mutations": 7,
"api": 0
}
},
{
"idx": 23,
"tag": "button",
"role": "",
"cls": "chip.active",
"label": "日",
"href": "",
"disabled": false,
"active": true,
"verdict": "noop-active",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 0,
"api": 0
}
},
{
"idx": 24,
"tag": "button",
"role": "",
"cls": "chip",
"label": "周",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": true,
"mutations": 38,
"api": 1
}
},
{
"idx": 25,
"tag": "button",
"role": "",
"cls": "chip",
"label": "月",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": true,
"mutations": 38,
"api": 1
}
}
],
"missing": [
"搜索",
"李 小李的店",
"余额 ¥327.40",
"账户",
"账单流水 30天"
]
}
@@ -0,0 +1,18 @@
# 功能审计 · account
路由:`/account` · 模式:isolated
合计 26 · ✅ works 21 · ❌ **dead 0** · 🛑 error 0 · ⏭ skipped(破坏性)2 · ◷ noop-active 3 · ⚪ disabled 0
## 🔍 设计稿里有、React 没渲染出来的控件(MISSING · 启发式)
> 按控件文字与设计稿 `/exact` 对比,可能含装饰/动态文案误报,人工过一眼。
- 搜索
- 李 小李的店
- 余额 ¥327.40
- 账户
- 账单流水 30天
## ⏭ 破坏性按钮(未自动点,需人工验)
- 微信支付 `button`
- 支付宝 `button`
@@ -0,0 +1,460 @@
{
"name": "asset-factory",
"route": "/asset-factory",
"url": "http://127.0.0.1:5173/asset-factory",
"mode": "isolated",
"tally": {
"total": 24,
"works": 22,
"dead": 0,
"error": 0,
"disabled": 0,
"skipped": 0,
"noop": 2,
"blocked": 0
},
"results": [
{
"idx": 0,
"tag": "a",
"role": "",
"cls": "brand",
"label": "Airshelf 工作台",
"href": "/dashboard",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 25,
"api": 0
}
},
{
"idx": 1,
"tag": "button",
"role": "",
"cls": "sidebar-toggle",
"label": "收窄导航",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 17,
"api": 0
}
},
{
"idx": 2,
"tag": "div",
"role": "button",
"cls": "search-box",
"label": "搜索 (Ctrl K)",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": true,
"self": false,
"mutations": 14,
"api": 0
}
},
{
"idx": 3,
"tag": "a",
"role": "",
"cls": "",
"label": "工作台",
"href": "/dashboard",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 25,
"api": 0
}
},
{
"idx": 4,
"tag": "a",
"role": "",
"cls": "",
"label": "商品库",
"href": "/products",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 20,
"api": 0
}
},
{
"idx": 5,
"tag": "a",
"role": "",
"cls": "",
"label": "视频项目",
"href": "/projects",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 20,
"api": 0
}
},
{
"idx": 6,
"tag": "a",
"role": "",
"cls": "active",
"label": "图片生成",
"href": "/asset-factory",
"disabled": false,
"active": true,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 17,
"api": 0
}
},
{
"idx": 7,
"tag": "a",
"role": "",
"cls": "",
"label": "资产库",
"href": "/library",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 36,
"api": 0
}
},
{
"idx": 8,
"tag": "a",
"role": "",
"cls": "",
"label": "团队",
"href": "/team",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 20,
"api": 0
}
},
{
"idx": 9,
"tag": "a",
"role": "",
"cls": "",
"label": "消费",
"href": "/account",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 22,
"api": 0
}
},
{
"idx": 10,
"tag": "a",
"role": "",
"cls": "",
"label": "设置",
"href": "/settings",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 49,
"api": 2
}
},
{
"idx": 11,
"tag": "a",
"role": "",
"cls": "",
"label": "工作台",
"href": "/dashboard",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 25,
"api": 0
}
},
{
"idx": 12,
"tag": "button",
"role": "",
"cls": "icon-btn",
"label": "消息中心",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 19,
"api": 0
}
},
{
"idx": 13,
"tag": "button",
"role": "",
"cls": "btn.btn-primary.btn-lg",
"label": "开始生成",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 24,
"api": 0
},
"consoleNote": [
"Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — ",
"Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — "
]
},
{
"idx": 14,
"tag": "button",
"role": "",
"cls": "btn.btn-primary.btn-lg",
"label": "开始生成",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 18,
"api": 0
}
},
{
"idx": 15,
"tag": "button",
"role": "",
"cls": "btn.btn-primary.btn-lg",
"label": "开始生成",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 18,
"api": 0
}
},
{
"idx": 16,
"tag": "div",
"role": "button",
"cls": "tab.active",
"label": "全部 20",
"href": "",
"disabled": false,
"active": true,
"verdict": "noop-active",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 0,
"api": 0
}
},
{
"idx": 17,
"tag": "div",
"role": "button",
"cls": "tab",
"label": "生成中 0",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": true,
"mutations": 10,
"api": 0
}
},
{
"idx": 18,
"tag": "div",
"role": "button",
"cls": "tab",
"label": "已完成 15",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": true,
"mutations": 11,
"api": 0
}
},
{
"idx": 19,
"tag": "div",
"role": "button",
"cls": "tab",
"label": "失败 0",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": true,
"mutations": 10,
"api": 0
}
},
{
"idx": 20,
"tag": "button",
"role": "",
"cls": "chip",
"label": "时间",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": true,
"self": false,
"mutations": 3,
"api": 0
}
},
{
"idx": 21,
"tag": "button",
"role": "",
"cls": "chip",
"label": "任务类型",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": true,
"self": false,
"mutations": 3,
"api": 0
}
},
{
"idx": 22,
"tag": "button",
"role": "",
"cls": "",
"label": "网格",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": true,
"mutations": 26,
"api": 0
}
},
{
"idx": 23,
"tag": "button",
"role": "",
"cls": "active",
"label": "列表",
"href": "",
"disabled": false,
"active": true,
"verdict": "noop-active",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 0,
"api": 0
}
}
],
"missing": [
"搜索",
"李 小李的店",
"余额 ¥327.40",
"账户"
]
}
@@ -0,0 +1,13 @@
# 功能审计 · asset-factory
路由:`/asset-factory` · 模式:isolated
合计 24 · ✅ works 22 · ❌ **dead 0** · 🛑 error 0 · ⏭ skipped(破坏性)0 · ◷ noop-active 2 · ⚪ disabled 0
## 🔍 设计稿里有、React 没渲染出来的控件(MISSING · 启发式)
> 按控件文字与设计稿 `/exact` 对比,可能含装饰/动态文案误报,人工过一眼。
- 搜索
- 李 小李的店
- 余额 ¥327.40
- 账户
@@ -0,0 +1,490 @@
{
"name": "dashboard",
"route": "/dashboard",
"url": "http://127.0.0.1:5173/dashboard",
"mode": "isolated",
"tally": {
"total": 25,
"works": 25,
"dead": 0,
"error": 0,
"disabled": 0,
"skipped": 0,
"noop": 0,
"blocked": 0
},
"results": [
{
"idx": 0,
"tag": "a",
"role": "",
"cls": "brand",
"label": "Airshelf 工作台",
"href": "/dashboard",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 19,
"api": 0
}
},
{
"idx": 1,
"tag": "button",
"role": "",
"cls": "sidebar-toggle",
"label": "收窄导航",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 17,
"api": 0
}
},
{
"idx": 2,
"tag": "div",
"role": "button",
"cls": "search-box",
"label": "搜索 (Ctrl K)",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": true,
"self": false,
"mutations": 14,
"api": 0
}
},
{
"idx": 3,
"tag": "a",
"role": "",
"cls": "active",
"label": "工作台",
"href": "/dashboard",
"disabled": false,
"active": true,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 19,
"api": 0
}
},
{
"idx": 4,
"tag": "a",
"role": "",
"cls": "",
"label": "商品库",
"href": "/products",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 25,
"api": 0
}
},
{
"idx": 5,
"tag": "a",
"role": "",
"cls": "",
"label": "视频项目",
"href": "/projects",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 25,
"api": 0
}
},
{
"idx": 6,
"tag": "a",
"role": "",
"cls": "",
"label": "图片生成",
"href": "/asset-factory",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 25,
"api": 0
}
},
{
"idx": 7,
"tag": "a",
"role": "",
"cls": "",
"label": "资产库",
"href": "/library",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 41,
"api": 0
}
},
{
"idx": 8,
"tag": "a",
"role": "",
"cls": "",
"label": "团队",
"href": "/team",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 25,
"api": 0
}
},
{
"idx": 9,
"tag": "a",
"role": "",
"cls": "",
"label": "消费",
"href": "/account",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 27,
"api": 0
}
},
{
"idx": 10,
"tag": "a",
"role": "",
"cls": "",
"label": "设置",
"href": "/settings",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 25,
"api": 2
}
},
{
"idx": 11,
"tag": "button",
"role": "",
"cls": "icon-btn",
"label": "消息中心",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 24,
"api": 0
}
},
{
"idx": 12,
"tag": "button",
"role": "",
"cls": "btn",
"label": "新建商品",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 25,
"api": 0
}
},
{
"idx": 13,
"tag": "button",
"role": "",
"cls": "btn.btn-primary.btn-lg",
"label": "新建项目",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 25,
"api": 0
}
},
{
"idx": 14,
"tag": "button",
"role": "",
"cls": "stat",
"label": "余额 ¥¥11116.00已冻结 ¥5.00",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 27,
"api": 0
}
},
{
"idx": 15,
"tag": "button",
"role": "",
"cls": "more",
"label": "[ ALL · 6 ] →",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 25,
"api": 0
}
},
{
"idx": 16,
"tag": "button",
"role": "",
"cls": "recent-row",
"label": "9:16真应用验证项目 · 补水面膜种草透真玻尿酸补水面膜 / AI 全生 / 4 镜基础资产继",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 5,
"api": 1
}
},
{
"idx": 17,
"tag": "button",
"role": "",
"cls": "recent-row",
"label": "9:16端到端播放器验证南卡 Lite Pro 蓝牙耳机 / AI 全生 / 4 镜拼接导出继续",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 5,
"api": 1
}
},
{
"idx": 18,
"tag": "button",
"role": "",
"cls": "recent-row",
"label": "9:16桥接测试项目 20260529透真玻尿酸补水面膜 / AI 全生 / 4 镜脚本继续",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 5,
"api": 1
}
},
{
"idx": 19,
"tag": "button",
"role": "",
"cls": "recent-row",
"label": "9:16南卡 · 痛点种草 · v1南卡 Lite Pro 蓝牙耳机 / AI 全生 / 4 镜",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 5,
"api": 1
}
},
{
"idx": 20,
"tag": "button",
"role": "",
"cls": "recent-row",
"label": "9:16南卡 · 痛点种草 · v1南卡 Lite Pro 蓝牙耳机 / AI 全生 / 4 镜",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 5,
"api": 1
}
},
{
"idx": 21,
"tag": "a",
"role": "",
"cls": "shortcut",
"label": "商品库8 SKU",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 25,
"api": 0
}
},
{
"idx": 22,
"tag": "a",
"role": "",
"cls": "shortcut",
"label": "资产库67 资产",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 41,
"api": 0
}
},
{
"idx": 23,
"tag": "a",
"role": "",
"cls": "shortcut",
"label": "充值¥11116.00",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 27,
"api": 0
}
},
{
"idx": 24,
"tag": "a",
"role": "",
"cls": "shortcut",
"label": "所有项目6 个",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 25,
"api": 0
}
}
],
"missing": [
"搜索",
"李 小李的店",
"余额 ¥327.40",
"账户",
"总项目 ALL 8 本月 +3",
"进行中 WIP 3 2 个待审核",
"本月成片 DONE 3 较上月 +33%",
"余额 ¥ ¥327.40 已用 ¥162.60 / ¥500",
"[ ALL · 8 ]",
"9:16 补水面膜 · 痛点种草 · v3 透真补水面膜 / AI 全生 / 7 镜 故事板 待",
"9:16 透真防晒 · 通勤对比 透真防晒 / AI 全生 / 6 镜 已完成 打开",
"9:16 蓝牙耳机 · 开箱测评 Pro 4 蓝牙耳机 / 自带脚本 / 6 镜 视频生成 4/",
"9:16 春日新品 · 立体口红 凝彩立体口红 / 一句话 / 5 镜 资产生成中 继续",
"9:16 咖啡冻干 · 早八 冷萃咖啡冻干 / 一句话 / 5 镜 故事板失败 查看",
"资产库人 8 · 景 14 · 片 8",
"故事板 待确认",
"已完成",
"视频生成 4/6",
"资产生成中",
"故事板失败"
]
}
@@ -0,0 +1,29 @@
# 功能审计 · dashboard
路由:`/dashboard` · 模式:isolated
合计 25 · ✅ works 25 · ❌ **dead 0** · 🛑 error 0 · ⏭ skipped(破坏性)0 · ◷ noop-active 0 · ⚪ disabled 0
## 🔍 设计稿里有、React 没渲染出来的控件(MISSING · 启发式)
> 按控件文字与设计稿 `/exact` 对比,可能含装饰/动态文案误报,人工过一眼。
- 搜索
- 李 小李的店
- 余额 ¥327.40
- 账户
- 总项目 ALL 8 本月 +3
- 进行中 WIP 3 2 个待审核
- 本月成片 DONE 3 较上月 +33%
- 余额 ¥ ¥327.40 已用 ¥162.60 / ¥500
- [ ALL · 8 ]
- 9:16 补水面膜 · 痛点种草 · v3 透真补水面膜 / AI 全生 / 7 镜 故事板 待
- 9:16 透真防晒 · 通勤对比 透真防晒 / AI 全生 / 6 镜 已完成 打开
- 9:16 蓝牙耳机 · 开箱测评 Pro 4 蓝牙耳机 / 自带脚本 / 6 镜 视频生成 4/
- 9:16 春日新品 · 立体口红 凝彩立体口红 / 一句话 / 5 镜 资产生成中 继续
- 9:16 咖啡冻干 · 早八 冷萃咖啡冻干 / 一句话 / 5 镜 故事板失败 查看
- 资产库人 8 · 景 14 · 片 8
- 故事板 待确认
- 已完成
- 视频生成 4/6
- 资产生成中
- 故事板失败
@@ -0,0 +1,464 @@
{
"name": "image-optimize",
"route": "/image-optimize",
"url": "http://127.0.0.1:5173/image-optimize",
"mode": "isolated",
"tally": {
"total": 24,
"works": 24,
"dead": 0,
"error": 0,
"disabled": 0,
"skipped": 0,
"noop": 0,
"blocked": 0
},
"results": [
{
"idx": 0,
"tag": "a",
"role": "",
"cls": "brand",
"label": "Airshelf 工作台",
"href": "/dashboard",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 25,
"api": 0
}
},
{
"idx": 1,
"tag": "button",
"role": "",
"cls": "sidebar-toggle",
"label": "展开导航",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 17,
"api": 0
}
},
{
"idx": 2,
"tag": "div",
"role": "button",
"cls": "search-box",
"label": "搜索 (Ctrl K)",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": true,
"self": false,
"mutations": 14,
"api": 0
}
},
{
"idx": 3,
"tag": "a",
"role": "",
"cls": "",
"label": "工作台",
"href": "/dashboard",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 25,
"api": 0
}
},
{
"idx": 4,
"tag": "a",
"role": "",
"cls": "",
"label": "商品库",
"href": "/products",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 20,
"api": 0
}
},
{
"idx": 5,
"tag": "a",
"role": "",
"cls": "",
"label": "视频项目",
"href": "/projects",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 20,
"api": 0
}
},
{
"idx": 6,
"tag": "a",
"role": "",
"cls": "active",
"label": "图片生成",
"href": "/asset-factory",
"disabled": false,
"active": true,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 18,
"api": 0
}
},
{
"idx": 7,
"tag": "a",
"role": "",
"cls": "",
"label": "资产库",
"href": "/library",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 36,
"api": 0
}
},
{
"idx": 8,
"tag": "a",
"role": "",
"cls": "",
"label": "团队",
"href": "/team",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 20,
"api": 0
}
},
{
"idx": 9,
"tag": "a",
"role": "",
"cls": "",
"label": "消费",
"href": "/account",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 22,
"api": 0
}
},
{
"idx": 10,
"tag": "a",
"role": "",
"cls": "",
"label": "设置",
"href": "/settings",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 49,
"api": 2
}
},
{
"idx": 11,
"tag": "a",
"role": "",
"cls": "",
"label": "工作台",
"href": "/dashboard",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 25,
"api": 0
}
},
{
"idx": 12,
"tag": "button",
"role": "",
"cls": "icon-btn",
"label": "消息中心",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 19,
"api": 0
}
},
{
"idx": 13,
"tag": "button",
"role": "",
"cls": "back-pill",
"label": "返回",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 18,
"api": 0
}
},
{
"idx": 14,
"tag": "button",
"role": "",
"cls": "ic-new-conv",
"label": "新对话",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 3,
"api": 0
}
},
{
"idx": 15,
"tag": "button",
"role": "",
"cls": "ex",
"label": "一只穿着宇航服的橘猫,漂浮在霓虹色星云中,赛博朋克风",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 4,
"api": 0
}
},
{
"idx": 16,
"tag": "button",
"role": "",
"cls": "ex",
"label": "极简北欧风格的茶杯,白底,自然柔光,产品摄影",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 4,
"api": 0
}
},
{
"idx": 17,
"tag": "button",
"role": "",
"cls": "ex",
"label": "国风水墨海报,主体一只白鹤立于水边,留白构图",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 4,
"api": 0
}
},
{
"idx": 18,
"tag": "button",
"role": "",
"cls": "ex",
"label": "电影感都市夜景,街道湿漉漉反射霓虹,4K 高清",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 4,
"api": 0
}
},
{
"idx": 19,
"tag": "button",
"role": "",
"cls": "add-btn",
"label": "上传参考图",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 0,
"api": 0
}
},
{
"idx": 20,
"tag": "button",
"role": "",
"cls": "ic-param-btn",
"label": "比例1:1",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 1,
"api": 0
}
},
{
"idx": 21,
"tag": "button",
"role": "",
"cls": "ic-param-btn",
"label": "风格默认",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 1,
"api": 0
}
},
{
"idx": 22,
"tag": "button",
"role": "",
"cls": "ic-param-btn",
"label": "张数4",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 1,
"api": 0
}
},
{
"idx": 23,
"tag": "button",
"role": "",
"cls": "send-btn",
"label": "生成",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 21,
"api": 1
}
}
],
"missing": [
"搜索",
"李 小李的店",
"余额 ¥327.40",
"账户",
"折叠侧栏",
"时间",
"生成模式",
"操作类型",
"一只穿着宇航服的橘猫,漂浮在霓虹色星云中,赛博朋克风",
"极简北欧风格的茶杯,白底,自然柔光,产品摄影",
"国风水墨海报,主体一只白鹤立于水边,留白构图",
"电影感都市夜景,街道湿漉漉反射霓虹,4K 高清"
]
}
@@ -0,0 +1,21 @@
# 功能审计 · image-optimize
路由:`/image-optimize` · 模式:isolated
合计 24 · ✅ works 24 · ❌ **dead 0** · 🛑 error 0 · ⏭ skipped(破坏性)0 · ◷ noop-active 0 · ⚪ disabled 0
## 🔍 设计稿里有、React 没渲染出来的控件(MISSING · 启发式)
> 按控件文字与设计稿 `/exact` 对比,可能含装饰/动态文案误报,人工过一眼。
- 搜索
- 李 小李的店
- 余额 ¥327.40
- 账户
- 折叠侧栏
- 时间
- 生成模式
- 操作类型
- 一只穿着宇航服的橘猫,漂浮在霓虹色星云中,赛博朋克风
- 极简北欧风格的茶杯,白底,自然柔光,产品摄影
- 国风水墨海报,主体一只白鹤立于水边,留白构图
- 电影感都市夜景,街道湿漉漉反射霓虹,4K 高清
@@ -0,0 +1,686 @@
{
"name": "library",
"route": "/library",
"url": "http://127.0.0.1:5173/library",
"mode": "isolated",
"tally": {
"total": 38,
"works": 35,
"dead": 0,
"error": 0,
"disabled": 0,
"skipped": 2,
"noop": 1,
"blocked": 0
},
"results": [
{
"idx": 0,
"tag": "a",
"role": "",
"cls": "brand",
"label": "Airshelf 工作台",
"href": "/dashboard",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 26,
"api": 0
}
},
{
"idx": 1,
"tag": "button",
"role": "",
"cls": "sidebar-toggle",
"label": "展开导航",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 17,
"api": 0
}
},
{
"idx": 2,
"tag": "div",
"role": "button",
"cls": "search-box",
"label": "搜索 (Ctrl K)",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": true,
"self": false,
"mutations": 14,
"api": 0
}
},
{
"idx": 3,
"tag": "a",
"role": "",
"cls": "",
"label": "工作台",
"href": "/dashboard",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 25,
"api": 0
}
},
{
"idx": 4,
"tag": "a",
"role": "",
"cls": "",
"label": "商品库",
"href": "/products",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 20,
"api": 0
}
},
{
"idx": 5,
"tag": "a",
"role": "",
"cls": "",
"label": "视频项目",
"href": "/projects",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 20,
"api": 0
}
},
{
"idx": 6,
"tag": "a",
"role": "",
"cls": "",
"label": "图片生成",
"href": "/asset-factory",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 20,
"api": 0
}
},
{
"idx": 7,
"tag": "a",
"role": "",
"cls": "active",
"label": "资产库",
"href": "/library",
"disabled": false,
"active": true,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 17,
"api": 0
}
},
{
"idx": 8,
"tag": "a",
"role": "",
"cls": "",
"label": "团队",
"href": "/team",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 20,
"api": 0
}
},
{
"idx": 9,
"tag": "a",
"role": "",
"cls": "",
"label": "消费",
"href": "/account",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 22,
"api": 0
}
},
{
"idx": 10,
"tag": "a",
"role": "",
"cls": "",
"label": "设置",
"href": "/settings",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 49,
"api": 2
}
},
{
"idx": 11,
"tag": "a",
"role": "",
"cls": "",
"label": "工作台",
"href": "/dashboard",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 25,
"api": 0
}
},
{
"idx": 12,
"tag": "button",
"role": "",
"cls": "icon-btn",
"label": "消息中心",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 19,
"api": 0
}
},
{
"idx": 13,
"tag": "button",
"role": "",
"cls": "btn.btn-edit-toggle",
"label": "管理资产",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": true,
"mutations": 19,
"api": 0
}
},
{
"idx": 14,
"tag": "button",
"role": "",
"cls": "btn.btn-primary",
"label": "上传资产",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": true,
"self": false,
"mutations": 4,
"api": 0
}
},
{
"idx": 15,
"tag": "div",
"role": "",
"cls": "tab.active",
"label": "人物 14",
"href": "",
"disabled": false,
"active": true,
"verdict": "noop-active",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 0,
"api": 0
}
},
{
"idx": 16,
"tag": "div",
"role": "",
"cls": "tab",
"label": "场景 11",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": true,
"mutations": 48,
"api": 0
}
},
{
"idx": 17,
"tag": "div",
"role": "",
"cls": "tab",
"label": "商品图 35",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": true,
"mutations": 97,
"api": 0
}
},
{
"idx": 18,
"tag": "div",
"role": "",
"cls": "tab",
"label": "成片 10",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": true,
"mutations": 38,
"api": 0
}
},
{
"idx": 19,
"tag": "div",
"role": "",
"cls": "tab",
"label": "我的上传 1",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": true,
"mutations": 30,
"api": 0
}
},
{
"idx": 20,
"tag": "div",
"role": "",
"cls": "tab",
"label": "未分类 0",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": true,
"mutations": 29,
"api": 0
}
},
{
"idx": 21,
"tag": "button",
"role": "",
"cls": "chip",
"label": "性别",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": true,
"self": false,
"mutations": 3,
"api": 0
}
},
{
"idx": 22,
"tag": "button",
"role": "",
"cls": "chip",
"label": "年龄段",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": true,
"self": false,
"mutations": 3,
"api": 0
}
},
{
"idx": 23,
"tag": "button",
"role": "",
"cls": "chip",
"label": "角色标签",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": true,
"self": false,
"mutations": 3,
"api": 0
}
},
{
"idx": 24,
"tag": "button",
"role": "",
"cls": "chip",
"label": "来源",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": true,
"self": false,
"mutations": 3,
"api": 0
}
},
{
"idx": 25,
"tag": "button",
"role": "",
"cls": "chip",
"label": "最近添加",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": true,
"self": false,
"mutations": 3,
"api": 0
}
},
{
"idx": 26,
"tag": "div",
"role": "button",
"cls": "placeholder.asset-thumb",
"label": "点击放大",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 4,
"api": 0
}
},
{
"idx": 27,
"tag": "div",
"role": "button",
"cls": "placeholder.asset-thumb",
"label": "点击放大",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 4,
"api": 0
}
},
{
"idx": 28,
"tag": "div",
"role": "button",
"cls": "placeholder.asset-thumb",
"label": "点击放大",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 4,
"api": 0
}
},
{
"idx": 29,
"tag": "div",
"role": "button",
"cls": "placeholder.asset-thumb",
"label": "点击放大",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 4,
"api": 0
}
},
{
"idx": 30,
"tag": "div",
"role": "button",
"cls": "placeholder.asset-thumb",
"label": "点击放大",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 4,
"api": 0
}
},
{
"idx": 31,
"tag": "div",
"role": "button",
"cls": "placeholder.asset-thumb",
"label": "点击放大",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 4,
"api": 0
}
},
{
"idx": 32,
"tag": "div",
"role": "button",
"cls": "placeholder.asset-thumb",
"label": "点击放大",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 4,
"api": 0
}
},
{
"idx": 33,
"tag": "div",
"role": "button",
"cls": "placeholder.asset-thumb",
"label": "点击放大",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 4,
"api": 0
}
},
{
"idx": 34,
"tag": "div",
"role": "button",
"cls": "placeholder.asset-thumb",
"label": "点击放大",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 4,
"api": 0
}
},
{
"idx": 35,
"tag": "div",
"role": "button",
"cls": "placeholder.asset-thumb",
"label": "点击放大",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 4,
"api": 0
}
},
{
"idx": 36,
"label": "",
"tag": "",
"verdict": "stale"
},
{
"idx": 37,
"label": "",
"tag": "",
"verdict": "stale"
}
],
"missing": [
"搜索",
"李 小李的店",
"余额 ¥327.40",
"账户",
"最近使用",
"缺三视图,查看说明"
]
}
@@ -0,0 +1,15 @@
# 功能审计 · library
路由:`/library` · 模式:isolated
合计 38 · ✅ works 35 · ❌ **dead 0** · 🛑 error 0 · ⏭ skipped(破坏性)2 · ◷ noop-active 1 · ⚪ disabled 0
## 🔍 设计稿里有、React 没渲染出来的控件(MISSING · 启发式)
> 按控件文字与设计稿 `/exact` 对比,可能含装饰/动态文案误报,人工过一眼。
- 搜索
- 李 小李的店
- 余额 ¥327.40
- 账户
- 最近使用
- 缺三视图,查看说明
@@ -0,0 +1,499 @@
{
"name": "messages",
"route": "/messages",
"url": "http://127.0.0.1:5173/messages",
"mode": "isolated",
"tally": {
"total": 26,
"works": 25,
"dead": 0,
"error": 0,
"disabled": 0,
"skipped": 0,
"noop": 1,
"blocked": 0
},
"results": [
{
"idx": 0,
"tag": "a",
"role": "",
"cls": "brand",
"label": "Airshelf 工作台",
"href": "/dashboard",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 24,
"api": 0
}
},
{
"idx": 1,
"tag": "button",
"role": "",
"cls": "sidebar-toggle",
"label": "收窄导航",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 17,
"api": 0
}
},
{
"idx": 2,
"tag": "div",
"role": "button",
"cls": "search-box",
"label": "搜索 (Ctrl K)",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": true,
"self": false,
"mutations": 14,
"api": 0
}
},
{
"idx": 3,
"tag": "a",
"role": "",
"cls": "",
"label": "工作台",
"href": "/dashboard",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 24,
"api": 0
}
},
{
"idx": 4,
"tag": "a",
"role": "",
"cls": "",
"label": "商品库",
"href": "/products",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 19,
"api": 0
}
},
{
"idx": 5,
"tag": "a",
"role": "",
"cls": "",
"label": "视频项目",
"href": "/projects",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 19,
"api": 0
}
},
{
"idx": 6,
"tag": "a",
"role": "",
"cls": "",
"label": "图片生成",
"href": "/asset-factory",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 19,
"api": 0
}
},
{
"idx": 7,
"tag": "a",
"role": "",
"cls": "",
"label": "资产库",
"href": "/library",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 35,
"api": 0
}
},
{
"idx": 8,
"tag": "a",
"role": "",
"cls": "",
"label": "团队",
"href": "/team",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 19,
"api": 0
}
},
{
"idx": 9,
"tag": "a",
"role": "",
"cls": "",
"label": "消费",
"href": "/account",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 21,
"api": 0
}
},
{
"idx": 10,
"tag": "a",
"role": "",
"cls": "",
"label": "设置",
"href": "/settings",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 48,
"api": 2
}
},
{
"idx": 11,
"tag": "a",
"role": "",
"cls": "",
"label": "工作台",
"href": "/dashboard",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 24,
"api": 0
}
},
{
"idx": 12,
"tag": "button",
"role": "",
"cls": "icon-btn",
"label": "消息中心",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 17,
"api": 0
}
},
{
"idx": 13,
"tag": "button",
"role": "",
"cls": "btn",
"label": "全部标已读",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 0,
"api": 2
}
},
{
"idx": 14,
"tag": "button",
"role": "",
"cls": "btn",
"label": "通知设置",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 58,
"api": 2
}
},
{
"idx": 15,
"tag": "button",
"role": "",
"cls": "msg-filter.active",
"label": "全部20",
"href": "",
"disabled": false,
"active": true,
"verdict": "noop-active",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 0,
"api": 0
}
},
{
"idx": 16,
"tag": "button",
"role": "",
"cls": "msg-filter.",
"label": "未读0",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": true,
"mutations": 26,
"api": 0
}
},
{
"idx": 17,
"tag": "button",
"role": "",
"cls": "msg-filter.",
"label": "任务20",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": true,
"mutations": 4,
"api": 0
}
},
{
"idx": 18,
"tag": "button",
"role": "",
"cls": "msg-filter.",
"label": "团队0",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": true,
"mutations": 26,
"api": 0
}
},
{
"idx": 19,
"tag": "button",
"role": "",
"cls": "msg-filter.",
"label": "计费0",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": true,
"mutations": 26,
"api": 0
}
},
{
"idx": 20,
"tag": "button",
"role": "",
"cls": "msg-filter.",
"label": "系统0",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": true,
"mutations": 26,
"api": 0
}
},
{
"idx": 21,
"tag": "button",
"role": "",
"cls": "msg-item.active.read",
"label": "资产「AI 生成 · image · 4」已加入资产库7mProduct Image · Ima",
"href": "",
"disabled": false,
"active": true,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 2,
"api": 0
}
},
{
"idx": 22,
"tag": "button",
"role": "",
"cls": "msg-item.read",
"label": "资产「AI 生成 · image · 3」已加入资产库8mProduct Image · Ima",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": true,
"mutations": 5,
"api": 0
}
},
{
"idx": 23,
"tag": "button",
"role": "",
"cls": "msg-item.read",
"label": "资产「AI 生成 · image · 2」已加入资产库8mProduct Image · Ima",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": true,
"mutations": 5,
"api": 0
}
},
{
"idx": 24,
"tag": "button",
"role": "",
"cls": "msg-item.read",
"label": "资产「AI 生成 · image · 1」已加入资产库9mProduct Image · Ima",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": true,
"mutations": 7,
"api": 0
}
},
{
"idx": 25,
"tag": "button",
"role": "",
"cls": "msg-item.read",
"label": "资产「AI 生成 · cover · 4」已加入资产库21mProduct Image · Im",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": true,
"mutations": 7,
"api": 0
}
}
],
"missing": [
"搜索",
"李 小李的店",
"余额 ¥327.40",
"账户",
"补水面膜 · 痛点种草 v3 成片已完成 12m 7 镜 · 40 秒 · ¥18.40 已结算",
"脚本生成失败 · 618 大促 1h Prompt 超过服务限制,本次失败未扣费,可一键重试。 ",
"4 张模特上身图已加入资产库 2h 祛痘精华 · 通勤白领 · 3:4,可直接进入视频项目。 已",
"@刘 正在编辑「补水面膜」项目 3h 你暂时以只读方式查看该项目,避免两人同时改动覆盖。 更新 ",
"@王芳 已加入团队 5h 角色为运营,月限额 ¥800,可读写团队资产。 更新 团队",
"团队余额低于预警线 7h 当前余额 ¥87.20,按近 7 天速度预计可支撑 4 个视频项目。 ",
"补水面膜 →"
]
}
@@ -0,0 +1,20 @@
# 功能审计 · messages
路由:`/messages` · 模式:isolated
合计 26 · ✅ works 25 · ❌ **dead 0** · 🛑 error 0 · ⏭ skipped(破坏性)0 · ◷ noop-active 1 · ⚪ disabled 0
## 🔍 设计稿里有、React 没渲染出来的控件(MISSING · 启发式)
> 按控件文字与设计稿 `/exact` 对比,可能含装饰/动态文案误报,人工过一眼。
- 搜索
- 李 小李的店
- 余额 ¥327.40
- 账户
- 补水面膜 · 痛点种草 v3 成片已完成 12m 7 镜 · 40 秒 · ¥18.40 已结算
- 脚本生成失败 · 618 大促 1h Prompt 超过服务限制,本次失败未扣费,可一键重试。
- 4 张模特上身图已加入资产库 2h 祛痘精华 · 通勤白领 · 3:4,可直接进入视频项目。 已
- @刘 正在编辑「补水面膜」项目 3h 你暂时以只读方式查看该项目,避免两人同时改动覆盖。 更新
- @王芳 已加入团队 5h 角色为运营,月限额 ¥800,可读写团队资产。 更新 团队
- 团队余额低于预警线 7h 当前余额 ¥87.20,按近 7 天速度预计可支撑 4 个视频项目。
- 补水面膜 →
@@ -0,0 +1,712 @@
{
"name": "model-photo-demo-a",
"route": "/model-photo/demo-a",
"url": "http://127.0.0.1:5173/model-photo/demo-a",
"mode": "isolated",
"tally": {
"total": 37,
"works": 33,
"dead": 0,
"error": 0,
"disabled": 0,
"skipped": 1,
"noop": 3,
"blocked": 0
},
"results": [
{
"idx": 0,
"tag": "a",
"role": "",
"cls": "brand",
"label": "Airshelf 工作台",
"href": "/dashboard",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 25,
"api": 0
}
},
{
"idx": 1,
"tag": "button",
"role": "",
"cls": "sidebar-toggle",
"label": "展开导航",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 17,
"api": 0
}
},
{
"idx": 2,
"tag": "div",
"role": "button",
"cls": "search-box",
"label": "搜索 (Ctrl K)",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": true,
"self": false,
"mutations": 14,
"api": 0
}
},
{
"idx": 3,
"tag": "a",
"role": "",
"cls": "",
"label": "工作台",
"href": "/dashboard",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 25,
"api": 0
}
},
{
"idx": 4,
"tag": "a",
"role": "",
"cls": "",
"label": "商品库",
"href": "/products",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 20,
"api": 0
}
},
{
"idx": 5,
"tag": "a",
"role": "",
"cls": "",
"label": "视频项目",
"href": "/projects",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 20,
"api": 0
}
},
{
"idx": 6,
"tag": "a",
"role": "",
"cls": "active",
"label": "图片生成",
"href": "/asset-factory",
"disabled": false,
"active": true,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 18,
"api": 0
}
},
{
"idx": 7,
"tag": "a",
"role": "",
"cls": "",
"label": "资产库",
"href": "/library",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 36,
"api": 0
}
},
{
"idx": 8,
"tag": "a",
"role": "",
"cls": "",
"label": "团队",
"href": "/team",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 20,
"api": 0
}
},
{
"idx": 9,
"tag": "a",
"role": "",
"cls": "",
"label": "消费",
"href": "/account",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 22,
"api": 0
}
},
{
"idx": 10,
"tag": "a",
"role": "",
"cls": "",
"label": "设置",
"href": "/settings",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 49,
"api": 2
}
},
{
"idx": 11,
"tag": "a",
"role": "",
"cls": "",
"label": "工作台",
"href": "/dashboard",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 25,
"api": 0
}
},
{
"idx": 12,
"tag": "button",
"role": "",
"cls": "icon-btn",
"label": "消息中心",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 19,
"api": 0
}
},
{
"idx": 13,
"tag": "button",
"role": "",
"cls": "add",
"label": "新建商品",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": true,
"self": false,
"mutations": 20,
"api": 0
}
},
{
"idx": 14,
"tag": "button",
"role": "",
"cls": "dm-prod.active",
"label": "主图南卡 Lite Pro 蓝牙耳机// 数码 3C · 6 批",
"href": "",
"disabled": false,
"active": true,
"verdict": "noop-active",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 0,
"api": 0
}
},
{
"idx": 15,
"tag": "button",
"role": "",
"cls": "dm-prod.",
"label": "主图露露同款裸感瑜伽裤// 运动户外 · 3 批",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": true,
"mutations": 11,
"api": 0
}
},
{
"idx": 16,
"tag": "button",
"role": "",
"cls": "dm-prod.",
"label": "主图透真清透物理防晒霜// 美妆个护 · 2 批",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": true,
"mutations": 11,
"api": 0
}
},
{
"idx": 17,
"tag": "button",
"role": "",
"cls": "dm-prod.",
"label": "主图滋啦速食牛肉面 · 6 桶装// 食品饮料 · 1 批",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": true,
"mutations": 11,
"api": 0
}
},
{
"idx": 18,
"tag": "button",
"role": "",
"cls": "dm-prod.",
"label": "主图透真玻尿酸补水面膜// 美妆个护 · 1 批",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": true,
"mutations": 11,
"api": 0
}
},
{
"idx": 19,
"tag": "button",
"role": "",
"cls": "dm-prod.",
"label": "主图桥接测试补水面膜 20260529// 美妆个护 · 0 批",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": true,
"mutations": 11,
"api": 0
}
},
{
"idx": 20,
"tag": "button",
"role": "",
"cls": "dm-all",
"label": "全部商品8 个",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 20,
"api": 0
}
},
{
"idx": 21,
"tag": "button",
"role": "",
"cls": "dm-back",
"label": "返回模特图",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 24,
"api": 0
},
"consoleNote": [
"Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — ",
"Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — "
]
},
{
"idx": 22,
"tag": "button",
"role": "",
"cls": "dm-chip.",
"label": "1 张",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": true,
"mutations": 5,
"api": 0
}
},
{
"idx": 23,
"tag": "button",
"role": "",
"cls": "dm-chip.",
"label": "2 张",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": true,
"mutations": 5,
"api": 0
}
},
{
"idx": 24,
"tag": "button",
"role": "",
"cls": "dm-chip.active",
"label": "4 张",
"href": "",
"disabled": false,
"active": true,
"verdict": "noop-active",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 0,
"api": 0
}
},
{
"idx": 25,
"tag": "button",
"role": "",
"cls": "dm-chip.",
"label": "8 张",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": true,
"mutations": 5,
"api": 0
}
},
{
"idx": 26,
"tag": "button",
"role": "",
"cls": "dm-chip.",
"label": "1:1",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": true,
"mutations": 5,
"api": 0
}
},
{
"idx": 27,
"tag": "button",
"role": "",
"cls": "dm-chip.active",
"label": "3:4",
"href": "",
"disabled": false,
"active": true,
"verdict": "noop-active",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 0,
"api": 0
}
},
{
"idx": 28,
"tag": "button",
"role": "",
"cls": "dm-chip.",
"label": "9:16",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": true,
"mutations": 5,
"api": 0
}
},
{
"idx": 29,
"tag": "button",
"role": "",
"cls": "dm-chip.",
"label": "16:9",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": true,
"mutations": 5,
"api": 0
}
},
{
"idx": 30,
"tag": "button",
"role": "",
"cls": "dm-gen",
"label": "立即生成 · 南卡 Lite Pro 蓝牙耳机 × Ava",
"href": "",
"disabled": false,
"active": false,
"verdict": "skipped-destructive"
},
{
"idx": 31,
"tag": "button",
"role": "",
"cls": "",
"label": "全部重跑",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 24,
"api": 0
},
"consoleNote": [
"Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — ",
"Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — "
]
},
{
"idx": 32,
"tag": "button",
"role": "",
"cls": "",
"label": "全部下载",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 24,
"api": 0
},
"consoleNote": [
"Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — ",
"Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — "
]
},
{
"idx": 33,
"tag": "button",
"role": "",
"cls": "",
"label": "加入资产库",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 24,
"api": 0
},
"consoleNote": [
"Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — ",
"Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — "
]
},
{
"idx": 34,
"tag": "button",
"role": "",
"cls": "",
"label": "全部重跑",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 24,
"api": 0
},
"consoleNote": [
"Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — ",
"Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — "
]
},
{
"idx": 35,
"tag": "button",
"role": "",
"cls": "",
"label": "全部下载",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 24,
"api": 0
},
"consoleNote": [
"Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — ",
"Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — "
]
},
{
"idx": 36,
"tag": "button",
"role": "",
"cls": "",
"label": "加入资产库",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 24,
"api": 0
},
"consoleNote": [
"Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — ",
"Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — "
]
}
],
"missing": [
"搜索",
"李 小李的店",
"余额 ¥327.40",
"账户",
"立即生成 · 透真补水面膜 × Ava"
]
}
@@ -0,0 +1,17 @@
# 功能审计 · model-photo-demo-a
路由:`/model-photo/demo-a` · 模式:isolated
合计 37 · ✅ works 33 · ❌ **dead 0** · 🛑 error 0 · ⏭ skipped(破坏性)1 · ◷ noop-active 3 · ⚪ disabled 0
## 🔍 设计稿里有、React 没渲染出来的控件(MISSING · 启发式)
> 按控件文字与设计稿 `/exact` 对比,可能含装饰/动态文案误报,人工过一眼。
- 搜索
- 李 小李的店
- 余额 ¥327.40
- 账户
- 立即生成 · 透真补水面膜 × Ava
## ⏭ 破坏性按钮(未自动点,需人工验)
- 立即生成 · 南卡 Lite Pro 蓝牙耳机 × Ava `button`
@@ -0,0 +1,755 @@
{
"name": "model-photo-demo-b",
"route": "/model-photo/demo-b",
"url": "http://127.0.0.1:5173/model-photo/demo-b",
"mode": "isolated",
"tally": {
"total": 37,
"works": 36,
"dead": 0,
"error": 0,
"disabled": 0,
"skipped": 0,
"noop": 1,
"blocked": 0
},
"results": [
{
"idx": 0,
"tag": "a",
"role": "",
"cls": "brand",
"label": "Airshelf 工作台",
"href": "/dashboard",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 25,
"api": 0
}
},
{
"idx": 1,
"tag": "button",
"role": "",
"cls": "sidebar-toggle",
"label": "收窄导航",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 17,
"api": 0
}
},
{
"idx": 2,
"tag": "div",
"role": "button",
"cls": "search-box",
"label": "搜索 (Ctrl K)",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": true,
"self": false,
"mutations": 14,
"api": 0
}
},
{
"idx": 3,
"tag": "a",
"role": "",
"cls": "",
"label": "工作台",
"href": "/dashboard",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 25,
"api": 0
}
},
{
"idx": 4,
"tag": "a",
"role": "",
"cls": "",
"label": "商品库",
"href": "/products",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 20,
"api": 0
}
},
{
"idx": 5,
"tag": "a",
"role": "",
"cls": "",
"label": "视频项目",
"href": "/projects",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 20,
"api": 0
}
},
{
"idx": 6,
"tag": "a",
"role": "",
"cls": "active",
"label": "图片生成",
"href": "/asset-factory",
"disabled": false,
"active": true,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 18,
"api": 0
}
},
{
"idx": 7,
"tag": "a",
"role": "",
"cls": "",
"label": "资产库",
"href": "/library",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 36,
"api": 0
}
},
{
"idx": 8,
"tag": "a",
"role": "",
"cls": "",
"label": "团队",
"href": "/team",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 20,
"api": 0
}
},
{
"idx": 9,
"tag": "a",
"role": "",
"cls": "",
"label": "消费",
"href": "/account",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 22,
"api": 0
}
},
{
"idx": 10,
"tag": "a",
"role": "",
"cls": "",
"label": "设置",
"href": "/settings",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 20,
"api": 2
}
},
{
"idx": 11,
"tag": "a",
"role": "",
"cls": "",
"label": "工作台",
"href": "/dashboard",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 25,
"api": 0
}
},
{
"idx": 12,
"tag": "button",
"role": "",
"cls": "icon-btn",
"label": "消息中心",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 19,
"api": 0
}
},
{
"idx": 13,
"tag": "button",
"role": "",
"cls": "add",
"label": "新建商品",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": true,
"self": false,
"mutations": 20,
"api": 0
}
},
{
"idx": 14,
"tag": "button",
"role": "",
"cls": "dm-prod.active",
"label": "主图南卡 Lite Pro 蓝牙耳机// 数码 3C · 6 批",
"href": "",
"disabled": false,
"active": true,
"verdict": "noop-active",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 0,
"api": 0
}
},
{
"idx": 15,
"tag": "button",
"role": "",
"cls": "dm-prod.",
"label": "主图露露同款裸感瑜伽裤// 运动户外 · 3 批",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": true,
"mutations": 8,
"api": 0
}
},
{
"idx": 16,
"tag": "button",
"role": "",
"cls": "dm-prod.",
"label": "主图透真清透物理防晒霜// 美妆个护 · 2 批",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": true,
"mutations": 8,
"api": 0
}
},
{
"idx": 17,
"tag": "button",
"role": "",
"cls": "dm-prod.",
"label": "主图滋啦速食牛肉面 · 6 桶装// 食品饮料 · 1 批",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": true,
"mutations": 8,
"api": 0
}
},
{
"idx": 18,
"tag": "button",
"role": "",
"cls": "dm-prod.",
"label": "主图透真玻尿酸补水面膜// 美妆个护 · 1 批",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": true,
"mutations": 8,
"api": 0
}
},
{
"idx": 19,
"tag": "button",
"role": "",
"cls": "dm-prod.",
"label": "主图桥接测试补水面膜 20260529// 美妆个护 · 0 批",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": true,
"mutations": 8,
"api": 0
}
},
{
"idx": 20,
"tag": "button",
"role": "",
"cls": "dm-all",
"label": "全部商品8 个",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 20,
"api": 0
}
},
{
"idx": 21,
"tag": "button",
"role": "",
"cls": "dm-back",
"label": "返回模特图",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 24,
"api": 0
},
"consoleNote": [
"Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — ",
"Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — "
]
},
{
"idx": 22,
"tag": "button",
"role": "",
"cls": "icbtn",
"label": "搜索批次",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 24,
"api": 0
},
"consoleNote": [
"Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — ",
"Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — "
]
},
{
"idx": 23,
"tag": "button",
"role": "",
"cls": "chip",
"label": "时间",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 24,
"api": 0
},
"consoleNote": [
"Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — ",
"Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — "
]
},
{
"idx": 24,
"tag": "button",
"role": "",
"cls": "chip",
"label": "状态",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 24,
"api": 0
},
"consoleNote": [
"Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — ",
"Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — "
]
},
{
"idx": 25,
"tag": "button",
"role": "",
"cls": "chip",
"label": "模特",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 24,
"api": 0
},
"consoleNote": [
"Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — ",
"Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — "
]
},
{
"idx": 26,
"tag": "button",
"role": "",
"cls": "",
"label": "全部重跑",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 24,
"api": 0
},
"consoleNote": [
"Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — ",
"Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — "
]
},
{
"idx": 27,
"tag": "button",
"role": "",
"cls": "",
"label": "全部下载",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 24,
"api": 0
},
"consoleNote": [
"Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — ",
"Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — "
]
},
{
"idx": 28,
"tag": "button",
"role": "",
"cls": "",
"label": "加入资产库",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 24,
"api": 0
},
"consoleNote": [
"Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — ",
"Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — "
]
},
{
"idx": 29,
"tag": "button",
"role": "",
"cls": "",
"label": "全部重跑",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 24,
"api": 0
},
"consoleNote": [
"Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — ",
"Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — "
]
},
{
"idx": 30,
"tag": "button",
"role": "",
"cls": "",
"label": "全部下载",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 24,
"api": 0
},
"consoleNote": [
"Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — ",
"Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — "
]
},
{
"idx": 31,
"tag": "button",
"role": "",
"cls": "",
"label": "加入资产库",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 24,
"api": 0
},
"consoleNote": [
"Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — ",
"Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — "
]
},
{
"idx": 32,
"tag": "button",
"role": "",
"cls": "pchip.active",
"label": "模特Ava",
"href": "",
"disabled": false,
"active": true,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 24,
"api": 0
},
"consoleNote": [
"Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — ",
"Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — "
]
},
{
"idx": 33,
"tag": "button",
"role": "",
"cls": "pchip",
"label": "张数4",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 24,
"api": 0
},
"consoleNote": [
"Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — ",
"Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — "
]
},
{
"idx": 34,
"tag": "button",
"role": "",
"cls": "pchip",
"label": "比例3:4",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 24,
"api": 0
},
"consoleNote": [
"Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — ",
"Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — "
]
},
{
"idx": 35,
"tag": "button",
"role": "",
"cls": "pchip",
"label": "补充提示词+ 添加",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 24,
"api": 0
},
"consoleNote": [
"Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — ",
"Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — "
]
},
{
"idx": 36,
"tag": "button",
"role": "",
"cls": "gen-btn",
"label": "生成 · 南卡 Lite Pro 蓝牙耳机 × Ava",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 24,
"api": 0
},
"consoleNote": [
"Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — ",
"Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — "
]
}
],
"missing": [
"搜索",
"李 小李的店",
"余额 ¥327.40",
"账户",
"生成 · 透真补水面膜 × Ava"
]
}
@@ -0,0 +1,14 @@
# 功能审计 · model-photo-demo-b
路由:`/model-photo/demo-b` · 模式:isolated
合计 37 · ✅ works 36 · ❌ **dead 0** · 🛑 error 0 · ⏭ skipped(破坏性)0 · ◷ noop-active 1 · ⚪ disabled 0
## 🔍 设计稿里有、React 没渲染出来的控件(MISSING · 启发式)
> 按控件文字与设计稿 `/exact` 对比,可能含装饰/动态文案误报,人工过一眼。
- 搜索
- 李 小李的店
- 余额 ¥327.40
- 账户
- 生成 · 透真补水面膜 × Ava
@@ -0,0 +1,667 @@
{
"name": "model-photo",
"route": "/model-photo",
"url": "http://127.0.0.1:5173/model-photo",
"mode": "isolated",
"tally": {
"total": 32,
"works": 31,
"dead": 0,
"error": 0,
"disabled": 0,
"skipped": 0,
"noop": 1,
"blocked": 0
},
"results": [
{
"idx": 0,
"tag": "a",
"role": "",
"cls": "brand",
"label": "Airshelf 工作台",
"href": "/dashboard",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 25,
"api": 0
}
},
{
"idx": 1,
"tag": "button",
"role": "",
"cls": "sidebar-toggle",
"label": "收窄导航",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 17,
"api": 0
}
},
{
"idx": 2,
"tag": "div",
"role": "button",
"cls": "search-box",
"label": "搜索 (Ctrl K)",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": true,
"self": false,
"mutations": 14,
"api": 0
}
},
{
"idx": 3,
"tag": "a",
"role": "",
"cls": "",
"label": "工作台",
"href": "/dashboard",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 25,
"api": 0
}
},
{
"idx": 4,
"tag": "a",
"role": "",
"cls": "",
"label": "商品库",
"href": "/products",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 20,
"api": 0
}
},
{
"idx": 5,
"tag": "a",
"role": "",
"cls": "",
"label": "视频项目",
"href": "/projects",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 20,
"api": 0
}
},
{
"idx": 6,
"tag": "a",
"role": "",
"cls": "active",
"label": "图片生成",
"href": "/asset-factory",
"disabled": false,
"active": true,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 18,
"api": 0
}
},
{
"idx": 7,
"tag": "a",
"role": "",
"cls": "",
"label": "资产库",
"href": "/library",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 36,
"api": 0
}
},
{
"idx": 8,
"tag": "a",
"role": "",
"cls": "",
"label": "团队",
"href": "/team",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 20,
"api": 0
}
},
{
"idx": 9,
"tag": "a",
"role": "",
"cls": "",
"label": "消费",
"href": "/account",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 22,
"api": 0
}
},
{
"idx": 10,
"tag": "a",
"role": "",
"cls": "",
"label": "设置",
"href": "/settings",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 49,
"api": 2
}
},
{
"idx": 11,
"tag": "a",
"role": "",
"cls": "",
"label": "工作台",
"href": "/dashboard",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 25,
"api": 0
}
},
{
"idx": 12,
"tag": "button",
"role": "",
"cls": "icon-btn",
"label": "消息中心",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 19,
"api": 0
}
},
{
"idx": 13,
"tag": "button",
"role": "",
"cls": "back-pill",
"label": "返回",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 18,
"api": 0
}
},
{
"idx": 14,
"tag": "button",
"role": "",
"cls": "new-prod",
"label": "新建商品",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": true,
"self": false,
"mutations": 20,
"api": 0
}
},
{
"idx": 15,
"tag": "button",
"role": "",
"cls": "iw-prod-item.active",
"label": "南卡南卡 Lite Pro 蓝牙耳机// 数码 3C",
"href": "",
"disabled": false,
"active": true,
"verdict": "noop-active",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 0,
"api": 0
}
},
{
"idx": 16,
"tag": "button",
"role": "",
"cls": "iw-prod-item.",
"label": "露露露露同款裸感瑜伽裤// 运动户外",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": true,
"mutations": 7,
"api": 0
},
"consoleNote": [
"Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — ",
"Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — "
]
},
{
"idx": 17,
"tag": "button",
"role": "",
"cls": "iw-prod-item.",
"label": "透真透真清透物理防晒霜// 美妆个护",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": true,
"mutations": 7,
"api": 0
},
"consoleNote": [
"Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — ",
"Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — "
]
},
{
"idx": 18,
"tag": "button",
"role": "",
"cls": "iw-prod-item.",
"label": "滋啦滋啦速食牛肉面 · 6 桶装// 食品饮料",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": true,
"mutations": 7,
"api": 0
},
"consoleNote": [
"Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — ",
"Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — "
]
},
{
"idx": 19,
"tag": "button",
"role": "",
"cls": "iw-prod-item.",
"label": "透真透真玻尿酸补水面膜// 美妆个护",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": true,
"mutations": 7,
"api": 0
},
"consoleNote": [
"Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — ",
"Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — "
]
},
{
"idx": 20,
"tag": "button",
"role": "",
"cls": "iw-prod-item.",
"label": "桥接桥接测试补水面膜 20260529// 美妆个护",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": true,
"mutations": 7,
"api": 0
},
"consoleNote": [
"Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — ",
"Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — "
]
},
{
"idx": 21,
"tag": "button",
"role": "",
"cls": "iw-prod-item.",
"label": "三顿三顿半同款冻干咖啡粉// 食品饮料",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": true,
"mutations": 7,
"api": 0
},
"consoleNote": [
"Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — ",
"Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — "
]
},
{
"idx": 22,
"tag": "button",
"role": "",
"cls": "iw-prod-item.",
"label": "小熊小熊 4L 可视空气炸锅// 家居家电",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": true,
"mutations": 7,
"api": 0
},
"consoleNote": [
"Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — ",
"Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — "
]
},
{
"idx": 23,
"tag": "button",
"role": "",
"cls": "search-btn",
"label": "搜索批次/模特",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": true,
"mutations": 6,
"api": 0
},
"consoleNote": [
"Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — ",
"Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — "
]
},
{
"idx": 24,
"tag": "button",
"role": "",
"cls": "tb-chip",
"label": "时间",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": true,
"self": false,
"mutations": 3,
"api": 0
},
"consoleNote": [
"Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — ",
"Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — "
]
},
{
"idx": 25,
"tag": "button",
"role": "",
"cls": "tb-chip",
"label": "模特",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": true,
"self": false,
"mutations": 3,
"api": 0
},
"consoleNote": [
"Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — ",
"Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — "
]
},
{
"idx": 26,
"tag": "button",
"role": "",
"cls": "model-card.",
"label": "AI 生成 · model · 4// 真人模特",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": true,
"mutations": 3,
"api": 0
},
"consoleNote": [
"Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — ",
"Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — "
]
},
{
"idx": 27,
"tag": "button",
"role": "",
"cls": "model-card.",
"label": "AI 生成 · model · 3// 真人模特",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": true,
"mutations": 3,
"api": 0
},
"consoleNote": [
"Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — ",
"Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — "
]
},
{
"idx": 28,
"tag": "button",
"role": "",
"cls": "model-card.",
"label": "AI 生成 · model · 2// 真人模特",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": true,
"mutations": 3,
"api": 0
},
"consoleNote": [
"Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — ",
"Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — "
]
},
{
"idx": 29,
"tag": "button",
"role": "",
"cls": "model-card.",
"label": "AI 生成 · model · 1// 真人模特",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": true,
"mutations": 3,
"api": 0
},
"consoleNote": [
"Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — ",
"Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — "
]
},
{
"idx": 30,
"tag": "button",
"role": "",
"cls": "model-card.",
"label": "AI 生成 · model · 4// 真人模特",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": true,
"mutations": 3,
"api": 0
},
"consoleNote": [
"Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — ",
"Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — "
]
},
{
"idx": 31,
"tag": "button",
"role": "",
"cls": "model-card.",
"label": "AI 生成 · model · 3// 真人模特",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": true,
"mutations": 3,
"api": 0
},
"consoleNote": [
"Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — ",
"Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — "
]
}
],
"missing": [
"搜索",
"李 小李的店",
"余额 ¥327.40",
"账户",
"折叠侧栏",
"全部商品 7 个",
"立即生成 (预估 ¥0.00)"
]
}
@@ -0,0 +1,16 @@
# 功能审计 · model-photo
路由:`/model-photo` · 模式:isolated
合计 32 · ✅ works 31 · ❌ **dead 0** · 🛑 error 0 · ⏭ skipped(破坏性)0 · ◷ noop-active 1 · ⚪ disabled 0
## 🔍 设计稿里有、React 没渲染出来的控件(MISSING · 启发式)
> 按控件文字与设计稿 `/exact` 对比,可能含装饰/动态文案误报,人工过一眼。
- 搜索
- 李 小李的店
- 余额 ¥327.40
- 账户
- 折叠侧栏
- 全部商品 7 个
- 立即生成 (预估 ¥0.00)
@@ -0,0 +1,533 @@
{
"name": "pipeline",
"route": "/pipeline/1048451e-3b4a-4b66-a8f4-cb865096de2f",
"url": "http://127.0.0.1:5173/pipeline/1048451e-3b4a-4b66-a8f4-cb865096de2f",
"mode": "isolated",
"tally": {
"total": 29,
"works": 27,
"dead": 0,
"error": 0,
"disabled": 2,
"skipped": 0,
"noop": 0,
"blocked": 0
},
"results": [
{
"idx": 0,
"tag": "a",
"role": "",
"cls": "brand",
"label": "Airshelf 工作台",
"href": "/dashboard",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 22,
"api": 0
}
},
{
"idx": 1,
"tag": "button",
"role": "",
"cls": "sidebar-toggle",
"label": "收窄导航",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 17,
"api": 0
}
},
{
"idx": 2,
"tag": "div",
"role": "button",
"cls": "search-box",
"label": "搜索 (Ctrl K)",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": true,
"self": false,
"mutations": 14,
"api": 0
}
},
{
"idx": 3,
"tag": "a",
"role": "",
"cls": "",
"label": "工作台",
"href": "/dashboard",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 24,
"api": 0
}
},
{
"idx": 4,
"tag": "a",
"role": "",
"cls": "",
"label": "商品库",
"href": "/products",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 31,
"api": 0
}
},
{
"idx": 5,
"tag": "a",
"role": "",
"cls": "active",
"label": "视频项目",
"href": "/projects",
"disabled": false,
"active": true,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 22,
"api": 0
}
},
{
"idx": 6,
"tag": "a",
"role": "",
"cls": "",
"label": "图片生成",
"href": "/asset-factory",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 22,
"api": 0
}
},
{
"idx": 7,
"tag": "a",
"role": "",
"cls": "",
"label": "资产库",
"href": "/library",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 36,
"api": 0
}
},
{
"idx": 8,
"tag": "a",
"role": "",
"cls": "",
"label": "团队",
"href": "/team",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 22,
"api": 0
}
},
{
"idx": 9,
"tag": "a",
"role": "",
"cls": "",
"label": "消费",
"href": "/account",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 25,
"api": 0
}
},
{
"idx": 10,
"tag": "a",
"role": "",
"cls": "",
"label": "设置",
"href": "/settings",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 56,
"api": 2
}
},
{
"idx": 11,
"tag": "a",
"role": "",
"cls": "btn.btn-ghost.pipeline-back",
"label": "返回视频项目",
"href": "/projects",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 22,
"api": 0
}
},
{
"idx": 12,
"tag": "button",
"role": "",
"cls": "icon-btn",
"label": "消息中心",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 22,
"api": 0
}
},
{
"idx": 13,
"tag": "a",
"role": "",
"cls": "sp-dot.done",
"label": "脚本",
"href": "#stage-1",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 20,
"api": 0
}
},
{
"idx": 14,
"tag": "a",
"role": "",
"cls": "sp-dot.active",
"label": "基础资产",
"href": "#stage-2",
"disabled": false,
"active": true,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 20,
"api": 0
}
},
{
"idx": 15,
"tag": "a",
"role": "",
"cls": "sp-dot",
"label": "故事板",
"href": "#stage-3",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 23,
"api": 0
}
},
{
"idx": 16,
"tag": "a",
"role": "",
"cls": "sp-dot",
"label": "视频",
"href": "#stage-4",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 25,
"api": 0
}
},
{
"idx": 17,
"tag": "a",
"role": "",
"cls": "sp-dot",
"label": "拼接导出",
"href": "#stage-5",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 27,
"api": 1
}
},
{
"idx": 18,
"tag": "button",
"role": "",
"cls": "tag-add",
"label": "添加人物",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 24,
"api": 0
}
},
{
"idx": 19,
"tag": "button",
"role": "",
"cls": "tag-add",
"label": "添加场景",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 24,
"api": 0
}
},
{
"idx": 20,
"tag": "button",
"role": "",
"cls": "btn.btn-ghost.btn-sm",
"label": "↻ 整体重写",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 22,
"api": 1
}
},
{
"idx": 21,
"tag": "button",
"role": "",
"cls": "btn.btn-ghost.btn-sm",
"label": "清空对话",
"href": "",
"disabled": true,
"active": false,
"verdict": "disabled"
},
{
"idx": 22,
"tag": "button",
"role": "",
"cls": "chat-mode.primary",
"label": "AI 全生",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 22,
"api": 1
}
},
{
"idx": 23,
"tag": "button",
"role": "",
"cls": "chat-mode",
"label": "一句话主题",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": true,
"mutations": 21,
"api": 0
}
},
{
"idx": 24,
"tag": "button",
"role": "",
"cls": "chat-mode",
"label": "自带脚本",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": true,
"mutations": 21,
"api": 0
}
},
{
"idx": 25,
"tag": "button",
"role": "",
"cls": "chat-icon-btn",
"label": "上传脚本附件",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 0,
"api": 0
}
},
{
"idx": 26,
"tag": "button",
"role": "",
"cls": "chat-send-btn",
"label": "发送",
"href": "",
"disabled": true,
"active": false,
"verdict": "disabled"
},
{
"idx": 27,
"tag": "button",
"role": "",
"cls": "btn",
"label": "重新生成全部",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 22,
"api": 1
}
},
{
"idx": 28,
"tag": "button",
"role": "",
"cls": "btn.btn-primary.btn-lg",
"label": "进入下一步",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 20,
"api": 0
}
}
],
"missing": [
"搜索",
"李 小李的店",
"余额 ¥327.40",
"账户",
"确认脚本,进入下一步"
]
}
@@ -0,0 +1,14 @@
# 功能审计 · pipeline
路由:`/pipeline/1048451e-3b4a-4b66-a8f4-cb865096de2f` · 模式:isolated
合计 29 · ✅ works 27 · ❌ **dead 0** · 🛑 error 0 · ⏭ skipped(破坏性)0 · ◷ noop-active 0 · ⚪ disabled 2
## 🔍 设计稿里有、React 没渲染出来的控件(MISSING · 启发式)
> 按控件文字与设计稿 `/exact` 对比,可能含装饰/动态文案误报,人工过一眼。
- 搜索
- 李 小李的店
- 余额 ¥327.40
- 账户
- 确认脚本,进入下一步
@@ -0,0 +1,705 @@
{
"name": "platform-cover",
"route": "/platform-cover",
"url": "http://127.0.0.1:5173/platform-cover",
"mode": "isolated",
"tally": {
"total": 38,
"works": 35,
"dead": 0,
"error": 0,
"disabled": 0,
"skipped": 1,
"noop": 2,
"blocked": 0
},
"results": [
{
"idx": 0,
"tag": "a",
"role": "",
"cls": "brand",
"label": "Airshelf 工作台",
"href": "/dashboard",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 25,
"api": 0
}
},
{
"idx": 1,
"tag": "button",
"role": "",
"cls": "sidebar-toggle",
"label": "展开导航",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 17,
"api": 0
}
},
{
"idx": 2,
"tag": "div",
"role": "button",
"cls": "search-box",
"label": "搜索 (Ctrl K)",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": true,
"self": false,
"mutations": 14,
"api": 0
}
},
{
"idx": 3,
"tag": "a",
"role": "",
"cls": "",
"label": "工作台",
"href": "/dashboard",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 25,
"api": 0
}
},
{
"idx": 4,
"tag": "a",
"role": "",
"cls": "",
"label": "商品库",
"href": "/products",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 20,
"api": 0
}
},
{
"idx": 5,
"tag": "a",
"role": "",
"cls": "",
"label": "视频项目",
"href": "/projects",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 20,
"api": 0
}
},
{
"idx": 6,
"tag": "a",
"role": "",
"cls": "active",
"label": "图片生成",
"href": "/asset-factory",
"disabled": false,
"active": true,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 18,
"api": 0
}
},
{
"idx": 7,
"tag": "a",
"role": "",
"cls": "",
"label": "资产库",
"href": "/library",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 36,
"api": 0
}
},
{
"idx": 8,
"tag": "a",
"role": "",
"cls": "",
"label": "团队",
"href": "/team",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 20,
"api": 0
}
},
{
"idx": 9,
"tag": "a",
"role": "",
"cls": "",
"label": "消费",
"href": "/account",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 22,
"api": 0
}
},
{
"idx": 10,
"tag": "a",
"role": "",
"cls": "",
"label": "设置",
"href": "/settings",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 49,
"api": 2
}
},
{
"idx": 11,
"tag": "a",
"role": "",
"cls": "",
"label": "工作台",
"href": "/dashboard",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 25,
"api": 0
}
},
{
"idx": 12,
"tag": "button",
"role": "",
"cls": "icon-btn",
"label": "消息中心",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 19,
"api": 0
}
},
{
"idx": 13,
"tag": "button",
"role": "",
"cls": "back-pill",
"label": "返回",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 18,
"api": 0
}
},
{
"idx": 14,
"tag": "button",
"role": "",
"cls": "new-prod",
"label": "新建商品",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": true,
"self": false,
"mutations": 20,
"api": 0
}
},
{
"idx": 15,
"tag": "button",
"role": "",
"cls": "iw-prod-item.active",
"label": "南卡南卡 Lite Pro 蓝牙耳机// 数码 3C",
"href": "",
"disabled": false,
"active": true,
"verdict": "noop-active",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 0,
"api": 0
}
},
{
"idx": 16,
"tag": "button",
"role": "",
"cls": "iw-prod-item.",
"label": "露露露露同款裸感瑜伽裤// 运动户外",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": true,
"mutations": 7,
"api": 0
}
},
{
"idx": 17,
"tag": "button",
"role": "",
"cls": "iw-prod-item.",
"label": "透真透真清透物理防晒霜// 美妆个护",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": true,
"mutations": 7,
"api": 0
}
},
{
"idx": 18,
"tag": "button",
"role": "",
"cls": "iw-prod-item.",
"label": "滋啦滋啦速食牛肉面 · 6 桶装// 食品饮料",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": true,
"mutations": 7,
"api": 0
}
},
{
"idx": 19,
"tag": "button",
"role": "",
"cls": "iw-prod-item.",
"label": "透真透真玻尿酸补水面膜// 美妆个护",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": true,
"mutations": 7,
"api": 0
}
},
{
"idx": 20,
"tag": "button",
"role": "",
"cls": "iw-prod-item.",
"label": "桥接桥接测试补水面膜 20260529// 美妆个护",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": true,
"mutations": 7,
"api": 0
}
},
{
"idx": 21,
"tag": "button",
"role": "",
"cls": "iw-prod-item.",
"label": "三顿三顿半同款冻干咖啡粉// 食品饮料",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": true,
"mutations": 7,
"api": 0
}
},
{
"idx": 22,
"tag": "button",
"role": "",
"cls": "iw-prod-item.",
"label": "小熊小熊 4L 可视空气炸锅// 家居家电",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": true,
"mutations": 7,
"api": 0
}
},
{
"idx": 23,
"tag": "button",
"role": "",
"cls": "search-btn",
"label": "搜索",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": true,
"mutations": 6,
"api": 0
}
},
{
"idx": 24,
"tag": "button",
"role": "",
"cls": "platform-card.",
"label": "抖抖音电商",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": true,
"mutations": 3,
"api": 0
}
},
{
"idx": 25,
"tag": "button",
"role": "",
"cls": "platform-card.",
"label": "淘淘宝",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": true,
"mutations": 3,
"api": 0
}
},
{
"idx": 26,
"tag": "button",
"role": "",
"cls": "platform-card.",
"label": "猫天猫",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": true,
"mutations": 3,
"api": 0
}
},
{
"idx": 27,
"tag": "button",
"role": "",
"cls": "platform-card.",
"label": "京京东",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": true,
"mutations": 3,
"api": 0
}
},
{
"idx": 28,
"tag": "button",
"role": "",
"cls": "platform-card.",
"label": "拼拼多多",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": true,
"mutations": 3,
"api": 0
}
},
{
"idx": 29,
"tag": "button",
"role": "",
"cls": "platform-card.",
"label": "红小红书",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": true,
"mutations": 3,
"api": 0
}
},
{
"idx": 30,
"tag": "button",
"role": "",
"cls": "platform-card.",
"label": "快快手",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": true,
"mutations": 3,
"api": 0
}
},
{
"idx": 31,
"tag": "button",
"role": "",
"cls": "platform-card.",
"label": "视视频号",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": true,
"mutations": 3,
"api": 0
}
},
{
"idx": 32,
"tag": "button",
"role": "",
"cls": "platform-card.",
"label": "a亚马逊",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": true,
"mutations": 3,
"api": 0
}
},
{
"idx": 33,
"tag": "button",
"role": "",
"cls": "platform-card.",
"label": "阿1688",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": true,
"mutations": 3,
"api": 0
}
},
{
"idx": 34,
"tag": "button",
"role": "",
"cls": "opt.active",
"label": "4 张",
"href": "",
"disabled": false,
"active": true,
"verdict": "noop-active",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 0,
"api": 0
}
},
{
"idx": 35,
"tag": "button",
"role": "",
"cls": "opt.",
"label": "8 张",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": true,
"mutations": 5,
"api": 0
}
},
{
"idx": 36,
"tag": "button",
"role": "",
"cls": "opt.",
"label": "12 张",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": true,
"mutations": 5,
"api": 0
}
},
{
"idx": 37,
"tag": "button",
"role": "",
"cls": "btn.btn-primary",
"label": "立即生成 (预估 ¥2.00)",
"href": "",
"disabled": false,
"active": false,
"verdict": "skipped-destructive"
}
],
"missing": [
"李 小李的店",
"余额 ¥327.40",
"账户",
"折叠侧栏",
"全部商品 7 个",
"搜索批次/平台",
"时间",
"平台"
]
}
@@ -0,0 +1,20 @@
# 功能审计 · platform-cover
路由:`/platform-cover` · 模式:isolated
合计 38 · ✅ works 35 · ❌ **dead 0** · 🛑 error 0 · ⏭ skipped(破坏性)1 · ◷ noop-active 2 · ⚪ disabled 0
## 🔍 设计稿里有、React 没渲染出来的控件(MISSING · 启发式)
> 按控件文字与设计稿 `/exact` 对比,可能含装饰/动态文案误报,人工过一眼。
- 李 小李的店
- 余额 ¥327.40
- 账户
- 折叠侧栏
- 全部商品 7 个
- 搜索批次/平台
- 时间
- 平台
## ⏭ 破坏性按钮(未自动点,需人工验)
- 立即生成 (预估 ¥2.00) `button`
@@ -0,0 +1,589 @@
{
"name": "product-create",
"route": "/products/new",
"url": "http://127.0.0.1:5173/products/new",
"mode": "isolated",
"tally": {
"total": 31,
"works": 31,
"dead": 0,
"error": 0,
"disabled": 0,
"skipped": 0,
"noop": 0,
"blocked": 0
},
"results": [
{
"idx": 0,
"tag": "a",
"role": "",
"cls": "brand",
"label": "Airshelf 工作台",
"href": "/dashboard",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": true,
"self": false,
"mutations": 26,
"api": 0
}
},
{
"idx": 1,
"tag": "button",
"role": "",
"cls": "sidebar-toggle",
"label": "展开导航",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 17,
"api": 0
}
},
{
"idx": 2,
"tag": "div",
"role": "button",
"cls": "search-box",
"label": "搜索 (Ctrl K)",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": true,
"self": false,
"mutations": 14,
"api": 0
}
},
{
"idx": 3,
"tag": "a",
"role": "",
"cls": "",
"label": "工作台",
"href": "/dashboard",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": true,
"self": true,
"mutations": 25,
"api": 0
}
},
{
"idx": 4,
"tag": "a",
"role": "",
"cls": "active",
"label": "商品库",
"href": "/products",
"disabled": false,
"active": true,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 26,
"api": 0
}
},
{
"idx": 5,
"tag": "a",
"role": "",
"cls": "",
"label": "视频项目",
"href": "/projects",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": true,
"self": true,
"mutations": 20,
"api": 0
}
},
{
"idx": 6,
"tag": "a",
"role": "",
"cls": "",
"label": "图片生成",
"href": "/asset-factory",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": true,
"self": true,
"mutations": 20,
"api": 0
}
},
{
"idx": 7,
"tag": "a",
"role": "",
"cls": "",
"label": "资产库",
"href": "/library",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": true,
"self": true,
"mutations": 36,
"api": 0
}
},
{
"idx": 8,
"tag": "a",
"role": "",
"cls": "",
"label": "团队",
"href": "/team",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": true,
"self": true,
"mutations": 20,
"api": 0
}
},
{
"idx": 9,
"tag": "a",
"role": "",
"cls": "",
"label": "消费",
"href": "/account",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": true,
"self": true,
"mutations": 22,
"api": 0
}
},
{
"idx": 10,
"tag": "a",
"role": "",
"cls": "",
"label": "设置",
"href": "/settings",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": true,
"self": true,
"mutations": 49,
"api": 2
}
},
{
"idx": 11,
"tag": "a",
"role": "",
"cls": "",
"label": "工作台",
"href": "/dashboard",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": true,
"self": false,
"mutations": 25,
"api": 0
}
},
{
"idx": 12,
"tag": "button",
"role": "",
"cls": "icon-btn",
"label": "消息中心",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": true,
"self": false,
"mutations": 19,
"api": 0
}
},
{
"idx": 13,
"tag": "button",
"role": "",
"cls": "btn.btn-edit-toggle",
"label": "管理商品",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": true,
"mutations": 22,
"api": 0
}
},
{
"idx": 14,
"tag": "button",
"role": "",
"cls": "btn.btn-primary.btn-create",
"label": "新建商品",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 11,
"api": 0
}
},
{
"idx": 15,
"tag": "button",
"role": "",
"cls": "chip",
"label": "商品分类",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": true,
"self": false,
"mutations": 12,
"api": 0
}
},
{
"idx": 16,
"tag": "button",
"role": "",
"cls": "chip",
"label": "创建时间",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": true,
"self": false,
"mutations": 12,
"api": 0
}
},
{
"idx": 17,
"tag": "div",
"role": "button",
"cls": "product-card",
"label": "南卡 Lite Pro 蓝牙耳机 · 1200×800南卡 Lite Pro 蓝牙耳机数码 3C",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": true,
"self": false,
"mutations": 31,
"api": 0
}
},
{
"idx": 18,
"tag": "div",
"role": "button",
"cls": "product-card",
"label": "露露同款裸感瑜伽裤 · 1200×800露露同款裸感瑜伽裤运动户外2026-06-08 创建素材",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": true,
"self": false,
"mutations": 30,
"api": 0
}
},
{
"idx": 19,
"tag": "div",
"role": "button",
"cls": "product-card",
"label": "透真清透物理防晒霜 · 1200×800透真清透物理防晒霜美妆个护2026-06-08 创建素材",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": true,
"self": false,
"mutations": 30,
"api": 0
}
},
{
"idx": 20,
"tag": "div",
"role": "button",
"cls": "product-card",
"label": "滋啦速食牛肉面 · 6 桶装 · 1200×800滋啦速食牛肉面 · 6 桶装食品饮料2026-",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": true,
"self": false,
"mutations": 30,
"api": 0
}
},
{
"idx": 21,
"tag": "div",
"role": "button",
"cls": "product-card",
"label": "透真玻尿酸补水面膜 · 1200×800透真玻尿酸补水面膜美妆个护2026-05-29 创建素材",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": true,
"self": false,
"mutations": 31,
"api": 0
}
},
{
"idx": 22,
"tag": "div",
"role": "button",
"cls": "product-card",
"label": "桥接测试补水面膜 20260529 · 1200×800桥接测试补水面膜 20260529美妆个",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": true,
"self": false,
"mutations": 30,
"api": 0
}
},
{
"idx": 23,
"tag": "div",
"role": "button",
"cls": "product-card",
"label": "三顿半同款冻干咖啡粉 · 1200×800三顿半同款冻干咖啡粉食品饮料2026-06-08 创建",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": true,
"self": false,
"mutations": 30,
"api": 0
}
},
{
"idx": 24,
"tag": "div",
"role": "button",
"cls": "product-card",
"label": "小熊 4L 可视空气炸锅 · 1200×800小熊 4L 可视空气炸锅家居家电2026-06-0",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": true,
"self": false,
"mutations": 30,
"api": 0
}
},
{
"idx": 25,
"tag": "button",
"role": "",
"cls": "x",
"label": "关闭",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": true,
"self": false,
"mutations": 14,
"api": 0
}
},
{
"idx": 26,
"tag": "select",
"role": "",
"cls": "select",
"label": "美妆个护",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 0,
"api": 0
}
},
{
"idx": 27,
"tag": "div",
"role": "button",
"cls": "pf-upload-zone",
"label": "点击上传或拖拽图片到此处// 支持 JPG、PNG 格式,建议尺寸 800×800 以上,大小不",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 0,
"api": 0
}
},
{
"idx": 28,
"tag": "button",
"role": "",
"cls": "btn-guide",
"label": "使用指南",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": true,
"mutations": 13,
"api": 0
}
},
{
"idx": 29,
"tag": "button",
"role": "",
"cls": "btn",
"label": "取消",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": true,
"self": false,
"mutations": 14,
"api": 0
}
},
{
"idx": 30,
"tag": "button",
"role": "",
"cls": "btn.btn-primary",
"label": "创建商品",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 14,
"api": 0
}
}
],
"missing": [
"搜索",
"李 小李的店",
"余额 ¥327.40",
"账户",
"瑜伽裤 · 1200×800 露露同款裸感瑜伽裤 运动户外 2026-04-30 创建 素材 4",
"空气炸锅 · 1200×800 小熊 4L 可视空气炸锅 家居家电 2026-05-03 创建 ",
"咖啡冻干粉 · 1200×800 三顿半同款冻干咖啡粉 食品饮料 2026-05-05 创建 素",
"防晒霜 · 1200×800 透真清透物理防晒霜 美妆个护 2026-05-08 创建 素材 7",
"速食牛肉面 · 1200×800 滋啦速食牛肉面 · 6 桶装 食品饮料 2026-05-10 ",
"蓝牙耳机 · 1200×800 南卡 Lite Pro 蓝牙耳机 数码 3C 2026-05-1",
"补水面膜 · 1200×800 透真玻尿酸补水面膜 美妆个护 2026-05-15 创建 素材 "
]
}
@@ -0,0 +1,20 @@
# 功能审计 · product-create
路由:`/products/new` · 模式:isolated
合计 31 · ✅ works 31 · ❌ **dead 0** · 🛑 error 0 · ⏭ skipped(破坏性)0 · ◷ noop-active 0 · ⚪ disabled 0
## 🔍 设计稿里有、React 没渲染出来的控件(MISSING · 启发式)
> 按控件文字与设计稿 `/exact` 对比,可能含装饰/动态文案误报,人工过一眼。
- 搜索
- 李 小李的店
- 余额 ¥327.40
- 账户
- 瑜伽裤 · 1200×800 露露同款裸感瑜伽裤 运动户外 2026-04-30 创建 素材 4
- 空气炸锅 · 1200×800 小熊 4L 可视空气炸锅 家居家电 2026-05-03 创建
- 咖啡冻干粉 · 1200×800 三顿半同款冻干咖啡粉 食品饮料 2026-05-05 创建 素
- 防晒霜 · 1200×800 透真清透物理防晒霜 美妆个护 2026-05-08 创建 素材 7
- 速食牛肉面 · 1200×800 滋啦速食牛肉面 · 6 桶装 食品饮料 2026-05-10
- 蓝牙耳机 · 1200×800 南卡 Lite Pro 蓝牙耳机 数码 3C 2026-05-1
- 补水面膜 · 1200×800 透真玻尿酸补水面膜 美妆个护 2026-05-15 创建 素材
@@ -0,0 +1,553 @@
{
"name": "product-detail",
"route": "/products/045ad8d6-8b15-486b-a4a9-f6968eb1555f",
"url": "http://127.0.0.1:5173/products/045ad8d6-8b15-486b-a4a9-f6968eb1555f",
"mode": "isolated",
"tally": {
"total": 29,
"works": 28,
"dead": 0,
"error": 0,
"disabled": 0,
"skipped": 0,
"noop": 1,
"blocked": 0
},
"results": [
{
"idx": 0,
"tag": "a",
"role": "",
"cls": "brand",
"label": "Airshelf 工作台",
"href": "/dashboard",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 25,
"api": 0
}
},
{
"idx": 1,
"tag": "button",
"role": "",
"cls": "sidebar-toggle",
"label": "收窄导航",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 17,
"api": 0
}
},
{
"idx": 2,
"tag": "div",
"role": "button",
"cls": "search-box",
"label": "搜索 (Ctrl K)",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": true,
"self": false,
"mutations": 14,
"api": 0
}
},
{
"idx": 3,
"tag": "a",
"role": "",
"cls": "",
"label": "工作台",
"href": "/dashboard",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 25,
"api": 0
}
},
{
"idx": 4,
"tag": "a",
"role": "",
"cls": "active",
"label": "商品库",
"href": "/products",
"disabled": false,
"active": true,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 18,
"api": 0
}
},
{
"idx": 5,
"tag": "a",
"role": "",
"cls": "",
"label": "视频项目",
"href": "/projects",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 20,
"api": 0
}
},
{
"idx": 6,
"tag": "a",
"role": "",
"cls": "",
"label": "图片生成",
"href": "/asset-factory",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 20,
"api": 0
}
},
{
"idx": 7,
"tag": "a",
"role": "",
"cls": "",
"label": "资产库",
"href": "/library",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 36,
"api": 0
}
},
{
"idx": 8,
"tag": "a",
"role": "",
"cls": "",
"label": "团队",
"href": "/team",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 20,
"api": 0
}
},
{
"idx": 9,
"tag": "a",
"role": "",
"cls": "",
"label": "消费",
"href": "/account",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 22,
"api": 0
}
},
{
"idx": 10,
"tag": "a",
"role": "",
"cls": "",
"label": "设置",
"href": "/settings",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 49,
"api": 2
}
},
{
"idx": 11,
"tag": "a",
"role": "",
"cls": "",
"label": "工作台",
"href": "/dashboard",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 25,
"api": 0
}
},
{
"idx": 12,
"tag": "button",
"role": "",
"cls": "icon-btn",
"label": "消息中心",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 19,
"api": 0
}
},
{
"idx": 13,
"tag": "button",
"role": "",
"cls": "ov-edit.ov-tri-trigger",
"label": "AI 生成商品三视图",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": true,
"self": true,
"mutations": 12,
"api": 0
}
},
{
"idx": 14,
"tag": "button",
"role": "",
"cls": "ov-edit.ov-edit-single",
"label": "编辑商品信息",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 10,
"api": 0
}
},
{
"idx": 15,
"tag": "div",
"role": "button",
"cls": "thumb.placeholder",
"label": "点击放大",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 11,
"api": 0
}
},
{
"idx": 16,
"tag": "div",
"role": "button",
"cls": "qa-item",
"label": "模特上身图",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 26,
"api": 0
},
"consoleNote": [
"Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — ",
"Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — "
]
},
{
"idx": 17,
"tag": "div",
"role": "button",
"cls": "qa-item",
"label": "平台套图",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 20,
"api": 0
}
},
{
"idx": 18,
"tag": "div",
"role": "button",
"cls": "qa-item",
"label": "图片创作",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 20,
"api": 0
}
},
{
"idx": 19,
"tag": "div",
"role": "button",
"cls": "qa-item.primary",
"label": "生成视频",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 20,
"api": 0
}
},
{
"idx": 20,
"tag": "button",
"role": "",
"cls": "tab.active",
"label": "AI 生成素材",
"href": "",
"disabled": false,
"active": true,
"verdict": "noop-active",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 0,
"api": 0
}
},
{
"idx": 21,
"tag": "button",
"role": "",
"cls": "tab",
"label": "视频项目",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": true,
"mutations": 13,
"api": 0
}
},
{
"idx": 22,
"tag": "button",
"role": "",
"cls": "filter",
"label": "全部类型",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": true,
"self": false,
"mutations": 10,
"api": 0
}
},
{
"idx": 23,
"tag": "button",
"role": "",
"cls": "filter",
"label": "最新生成",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": true,
"self": false,
"mutations": 10,
"api": 0
}
},
{
"idx": 24,
"tag": "div",
"role": "button",
"cls": "thumb.placeholder",
"label": "点击放大",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 11,
"api": 0
}
},
{
"idx": 25,
"tag": "div",
"role": "button",
"cls": "thumb.placeholder",
"label": "点击放大",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 11,
"api": 0
}
},
{
"idx": 26,
"tag": "div",
"role": "button",
"cls": "thumb.placeholder",
"label": "点击放大",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 11,
"api": 0
}
},
{
"idx": 27,
"tag": "div",
"role": "button",
"cls": "thumb.placeholder",
"label": "点击放大",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 11,
"api": 0
}
},
{
"idx": 28,
"tag": "div",
"role": "button",
"cls": "thumb.placeholder",
"label": "点击放大",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 11,
"api": 0
}
}
],
"missing": [
"搜索",
"李 小李的店",
"余额 ¥327.40",
"账户",
"通过",
"网格视图",
"列表视图"
]
}
@@ -0,0 +1,16 @@
# 功能审计 · product-detail
路由:`/products/045ad8d6-8b15-486b-a4a9-f6968eb1555f` · 模式:isolated
合计 29 · ✅ works 28 · ❌ **dead 0** · 🛑 error 0 · ⏭ skipped(破坏性)0 · ◷ noop-active 1 · ⚪ disabled 0
## 🔍 设计稿里有、React 没渲染出来的控件(MISSING · 启发式)
> 按控件文字与设计稿 `/exact` 对比,可能含装饰/动态文案误报,人工过一眼。
- 搜索
- 李 小李的店
- 余额 ¥327.40
- 账户
- 通过
- 网格视图
- 列表视图
@@ -0,0 +1,481 @@
{
"name": "products",
"route": "/products",
"url": "http://127.0.0.1:5173/products",
"mode": "isolated",
"tally": {
"total": 25,
"works": 25,
"dead": 0,
"error": 0,
"disabled": 0,
"skipped": 0,
"noop": 0,
"blocked": 0
},
"results": [
{
"idx": 0,
"tag": "a",
"role": "",
"cls": "brand",
"label": "Airshelf 工作台",
"href": "/dashboard",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 26,
"api": 0
}
},
{
"idx": 1,
"tag": "button",
"role": "",
"cls": "sidebar-toggle",
"label": "展开导航",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 17,
"api": 0
}
},
{
"idx": 2,
"tag": "div",
"role": "button",
"cls": "search-box",
"label": "搜索 (Ctrl K)",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": true,
"self": false,
"mutations": 14,
"api": 0
}
},
{
"idx": 3,
"tag": "a",
"role": "",
"cls": "",
"label": "工作台",
"href": "/dashboard",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 25,
"api": 0
}
},
{
"idx": 4,
"tag": "a",
"role": "",
"cls": "active",
"label": "商品库",
"href": "/products",
"disabled": false,
"active": true,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 26,
"api": 0
}
},
{
"idx": 5,
"tag": "a",
"role": "",
"cls": "",
"label": "视频项目",
"href": "/projects",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 20,
"api": 0
}
},
{
"idx": 6,
"tag": "a",
"role": "",
"cls": "",
"label": "图片生成",
"href": "/asset-factory",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 20,
"api": 0
}
},
{
"idx": 7,
"tag": "a",
"role": "",
"cls": "",
"label": "资产库",
"href": "/library",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 36,
"api": 0
}
},
{
"idx": 8,
"tag": "a",
"role": "",
"cls": "",
"label": "团队",
"href": "/team",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 20,
"api": 0
}
},
{
"idx": 9,
"tag": "a",
"role": "",
"cls": "",
"label": "消费",
"href": "/account",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 22,
"api": 0
}
},
{
"idx": 10,
"tag": "a",
"role": "",
"cls": "",
"label": "设置",
"href": "/settings",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 49,
"api": 2
}
},
{
"idx": 11,
"tag": "a",
"role": "",
"cls": "",
"label": "工作台",
"href": "/dashboard",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 25,
"api": 0
}
},
{
"idx": 12,
"tag": "button",
"role": "",
"cls": "icon-btn",
"label": "消息中心",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 19,
"api": 0
}
},
{
"idx": 13,
"tag": "button",
"role": "",
"cls": "btn.btn-edit-toggle",
"label": "管理商品",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": true,
"mutations": 22,
"api": 0
}
},
{
"idx": 14,
"tag": "button",
"role": "",
"cls": "btn.btn-primary.btn-create",
"label": "新建商品",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": true,
"self": false,
"mutations": 14,
"api": 0
}
},
{
"idx": 15,
"tag": "button",
"role": "",
"cls": "chip",
"label": "商品分类",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": true,
"self": false,
"mutations": 12,
"api": 0
}
},
{
"idx": 16,
"tag": "button",
"role": "",
"cls": "chip",
"label": "创建时间",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": true,
"self": false,
"mutations": 12,
"api": 0
}
},
{
"idx": 17,
"tag": "div",
"role": "button",
"cls": "product-card",
"label": "南卡 Lite Pro 蓝牙耳机 · 1200×800南卡 Lite Pro 蓝牙耳机数码 3C",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 31,
"api": 0
}
},
{
"idx": 18,
"tag": "div",
"role": "button",
"cls": "product-card",
"label": "露露同款裸感瑜伽裤 · 1200×800露露同款裸感瑜伽裤运动户外2026-06-08 创建素材",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 30,
"api": 0
}
},
{
"idx": 19,
"tag": "div",
"role": "button",
"cls": "product-card",
"label": "透真清透物理防晒霜 · 1200×800透真清透物理防晒霜美妆个护2026-06-08 创建素材",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 30,
"api": 0
}
},
{
"idx": 20,
"tag": "div",
"role": "button",
"cls": "product-card",
"label": "滋啦速食牛肉面 · 6 桶装 · 1200×800滋啦速食牛肉面 · 6 桶装食品饮料2026-",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 30,
"api": 0
}
},
{
"idx": 21,
"tag": "div",
"role": "button",
"cls": "product-card",
"label": "透真玻尿酸补水面膜 · 1200×800透真玻尿酸补水面膜美妆个护2026-05-29 创建素材",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 31,
"api": 0
}
},
{
"idx": 22,
"tag": "div",
"role": "button",
"cls": "product-card",
"label": "桥接测试补水面膜 20260529 · 1200×800桥接测试补水面膜 20260529美妆个",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 30,
"api": 0
}
},
{
"idx": 23,
"tag": "div",
"role": "button",
"cls": "product-card",
"label": "三顿半同款冻干咖啡粉 · 1200×800三顿半同款冻干咖啡粉食品饮料2026-06-08 创建",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 30,
"api": 0
}
},
{
"idx": 24,
"tag": "div",
"role": "button",
"cls": "product-card",
"label": "小熊 4L 可视空气炸锅 · 1200×800小熊 4L 可视空气炸锅家居家电2026-06-0",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 30,
"api": 0
}
}
],
"missing": [
"搜索",
"李 小李的店",
"余额 ¥327.40",
"账户",
"瑜伽裤 · 1200×800 露露同款裸感瑜伽裤 运动户外 2026-04-30 创建 素材 4",
"空气炸锅 · 1200×800 小熊 4L 可视空气炸锅 家居家电 2026-05-03 创建 ",
"咖啡冻干粉 · 1200×800 三顿半同款冻干咖啡粉 食品饮料 2026-05-05 创建 素",
"防晒霜 · 1200×800 透真清透物理防晒霜 美妆个护 2026-05-08 创建 素材 7",
"速食牛肉面 · 1200×800 滋啦速食牛肉面 · 6 桶装 食品饮料 2026-05-10 ",
"蓝牙耳机 · 1200×800 南卡 Lite Pro 蓝牙耳机 数码 3C 2026-05-1",
"补水面膜 · 1200×800 透真玻尿酸补水面膜 美妆个护 2026-05-15 创建 素材 "
]
}
@@ -0,0 +1,20 @@
# 功能审计 · products
路由:`/products` · 模式:isolated
合计 25 · ✅ works 25 · ❌ **dead 0** · 🛑 error 0 · ⏭ skipped(破坏性)0 · ◷ noop-active 0 · ⚪ disabled 0
## 🔍 设计稿里有、React 没渲染出来的控件(MISSING · 启发式)
> 按控件文字与设计稿 `/exact` 对比,可能含装饰/动态文案误报,人工过一眼。
- 搜索
- 李 小李的店
- 余额 ¥327.40
- 账户
- 瑜伽裤 · 1200×800 露露同款裸感瑜伽裤 运动户外 2026-04-30 创建 素材 4
- 空气炸锅 · 1200×800 小熊 4L 可视空气炸锅 家居家电 2026-05-03 创建
- 咖啡冻干粉 · 1200×800 三顿半同款冻干咖啡粉 食品饮料 2026-05-05 创建 素
- 防晒霜 · 1200×800 透真清透物理防晒霜 美妆个护 2026-05-08 创建 素材 7
- 速食牛肉面 · 1200×800 滋啦速食牛肉面 · 6 桶装 食品饮料 2026-05-10
- 蓝牙耳机 · 1200×800 南卡 Lite Pro 蓝牙耳机 数码 3C 2026-05-1
- 补水面膜 · 1200×800 透真玻尿酸补水面膜 美妆个护 2026-05-15 创建 素材
@@ -0,0 +1,304 @@
{
"name": "projects-new",
"route": "/projects/new",
"url": "http://127.0.0.1:5173/projects/new",
"mode": "isolated",
"tally": {
"total": 15,
"works": 15,
"dead": 0,
"error": 0,
"disabled": 0,
"skipped": 0,
"noop": 0,
"blocked": 0
},
"results": [
{
"idx": 0,
"tag": "a",
"role": "",
"cls": "brand",
"label": "Airshelf 工作台",
"href": "/dashboard",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 25,
"api": 0
}
},
{
"idx": 1,
"tag": "button",
"role": "",
"cls": "sidebar-toggle",
"label": "展开导航",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 17,
"api": 0
}
},
{
"idx": 2,
"tag": "div",
"role": "button",
"cls": "search-box",
"label": "搜索 (Ctrl K)",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": true,
"self": false,
"mutations": 14,
"api": 0
}
},
{
"idx": 3,
"tag": "a",
"role": "",
"cls": "",
"label": "工作台",
"href": "/dashboard",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 25,
"api": 0
}
},
{
"idx": 4,
"tag": "a",
"role": "",
"cls": "",
"label": "商品库",
"href": "/products",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 20,
"api": 0
}
},
{
"idx": 5,
"tag": "a",
"role": "",
"cls": "active",
"label": "视频项目",
"href": "/projects",
"disabled": false,
"active": true,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 18,
"api": 0
}
},
{
"idx": 6,
"tag": "a",
"role": "",
"cls": "",
"label": "图片生成",
"href": "/asset-factory",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 20,
"api": 0
}
},
{
"idx": 7,
"tag": "a",
"role": "",
"cls": "",
"label": "资产库",
"href": "/library",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 36,
"api": 0
}
},
{
"idx": 8,
"tag": "a",
"role": "",
"cls": "",
"label": "团队",
"href": "/team",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 20,
"api": 0
}
},
{
"idx": 9,
"tag": "a",
"role": "",
"cls": "",
"label": "消费",
"href": "/account",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 22,
"api": 0
}
},
{
"idx": 10,
"tag": "a",
"role": "",
"cls": "",
"label": "设置",
"href": "/settings",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 49,
"api": 2
}
},
{
"idx": 11,
"tag": "a",
"role": "",
"cls": "",
"label": "工作台",
"href": "/dashboard",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 25,
"api": 0
}
},
{
"idx": 12,
"tag": "button",
"role": "",
"cls": "icon-btn",
"label": "消息中心",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 19,
"api": 0
}
},
{
"idx": 13,
"tag": "button",
"role": "",
"cls": "btn.btn-ghost",
"label": "退出",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 18,
"api": 0
}
},
{
"idx": 14,
"tag": "button",
"role": "",
"cls": "pp-chip",
"label": "全部分类",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 6,
"api": 0
}
}
],
"missing": [
"搜索",
"李 小李的店",
"余额 ¥327.40",
"账户",
"1 选择商品 未选择",
"2 项目配置 时长 · 风格 · 人物",
"创建新商品 // 在此添加一个新商品",
"透真玻尿酸补水面膜 · 1200×800 透真玻尿酸补水面膜 美妆个护 2026-05-15 创",
"透真清透物理防晒霜 · 1200×800 透真清透物理防晒霜 美妆个护 2026-05-08 创",
"三顿半同款冻干咖啡粉 · 1200×800 三顿半同款冻干咖啡粉 食品饮料 2026-05-05",
"南卡 Lite Pro 蓝牙耳机 · 1200×800 南卡 Lite Pro 蓝牙耳机 数码 ",
"滋啦速食牛肉面 · 6 桶装 · 1200×800 滋啦速食牛肉面 · 6 桶装 食品饮料 20",
"小熊 4L 可视空气炸锅 · 1200×800 小熊 4L 可视空气炸锅 家居家电 2026-0",
"露露同款裸感瑜伽裤 · 1200×800 露露同款裸感瑜伽裤 运动户外 2026-04-30 创"
]
}
@@ -0,0 +1,23 @@
# 功能审计 · projects-new
路由:`/projects/new` · 模式:isolated
合计 15 · ✅ works 15 · ❌ **dead 0** · 🛑 error 0 · ⏭ skipped(破坏性)0 · ◷ noop-active 0 · ⚪ disabled 0
## 🔍 设计稿里有、React 没渲染出来的控件(MISSING · 启发式)
> 按控件文字与设计稿 `/exact` 对比,可能含装饰/动态文案误报,人工过一眼。
- 搜索
- 李 小李的店
- 余额 ¥327.40
- 账户
- 1 选择商品 未选择
- 2 项目配置 时长 · 风格 · 人物
- 创建新商品 // 在此添加一个新商品
- 透真玻尿酸补水面膜 · 1200×800 透真玻尿酸补水面膜 美妆个护 2026-05-15 创
- 透真清透物理防晒霜 · 1200×800 透真清透物理防晒霜 美妆个护 2026-05-08 创
- 三顿半同款冻干咖啡粉 · 1200×800 三顿半同款冻干咖啡粉 食品饮料 2026-05-05
- 南卡 Lite Pro 蓝牙耳机 · 1200×800 南卡 Lite Pro 蓝牙耳机 数码
- 滋啦速食牛肉面 · 6 桶装 · 1200×800 滋啦速食牛肉面 · 6 桶装 食品饮料 20
- 小熊 4L 可视空气炸锅 · 1200×800 小熊 4L 可视空气炸锅 家居家电 2026-0
- 露露同款裸感瑜伽裤 · 1200×800 露露同款裸感瑜伽裤 运动户外 2026-04-30 创
@@ -0,0 +1,467 @@
{
"name": "projects",
"route": "/projects",
"url": "http://127.0.0.1:5173/projects",
"mode": "isolated",
"tally": {
"total": 24,
"works": 22,
"dead": 0,
"error": 0,
"disabled": 0,
"skipped": 0,
"noop": 2,
"blocked": 0
},
"results": [
{
"idx": 0,
"tag": "a",
"role": "",
"cls": "brand",
"label": "Airshelf 工作台",
"href": "/dashboard",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 25,
"api": 0
}
},
{
"idx": 1,
"tag": "button",
"role": "",
"cls": "sidebar-toggle",
"label": "收窄导航",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 17,
"api": 0
}
},
{
"idx": 2,
"tag": "div",
"role": "button",
"cls": "search-box",
"label": "搜索 (Ctrl K)",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": true,
"self": false,
"mutations": 14,
"api": 0
}
},
{
"idx": 3,
"tag": "a",
"role": "",
"cls": "",
"label": "工作台",
"href": "/dashboard",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 26,
"api": 0
}
},
{
"idx": 4,
"tag": "a",
"role": "",
"cls": "",
"label": "商品库",
"href": "/products",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 21,
"api": 0
}
},
{
"idx": 5,
"tag": "a",
"role": "",
"cls": "active",
"label": "视频项目",
"href": "/projects",
"disabled": false,
"active": true,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 17,
"api": 0
}
},
{
"idx": 6,
"tag": "a",
"role": "",
"cls": "",
"label": "图片生成",
"href": "/asset-factory",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 21,
"api": 0
}
},
{
"idx": 7,
"tag": "a",
"role": "",
"cls": "",
"label": "资产库",
"href": "/library",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 37,
"api": 0
}
},
{
"idx": 8,
"tag": "a",
"role": "",
"cls": "",
"label": "团队",
"href": "/team",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 21,
"api": 0
}
},
{
"idx": 9,
"tag": "a",
"role": "",
"cls": "",
"label": "消费",
"href": "/account",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 23,
"api": 0
}
},
{
"idx": 10,
"tag": "a",
"role": "",
"cls": "",
"label": "设置",
"href": "/settings",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 50,
"api": 2
}
},
{
"idx": 11,
"tag": "a",
"role": "",
"cls": "",
"label": "工作台",
"href": "/dashboard",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 26,
"api": 0
}
},
{
"idx": 12,
"tag": "button",
"role": "",
"cls": "icon-btn",
"label": "消息中心",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 20,
"api": 0
}
},
{
"idx": 13,
"tag": "button",
"role": "",
"cls": "btn.btn-edit-toggle",
"label": "管理项目",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": true,
"mutations": 12,
"api": 0
}
},
{
"idx": 14,
"tag": "button",
"role": "",
"cls": "btn.btn-primary.btn-lg",
"label": "新建项目",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 19,
"api": 0
}
},
{
"idx": 15,
"tag": "div",
"role": "",
"cls": "tab.active",
"label": "全部 6",
"href": "",
"disabled": false,
"active": true,
"verdict": "noop-active",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 0,
"api": 0
}
},
{
"idx": 16,
"tag": "div",
"role": "",
"cls": "tab",
"label": "进行中 5",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": true,
"mutations": 6,
"api": 0
}
},
{
"idx": 17,
"tag": "div",
"role": "",
"cls": "tab",
"label": "已完成 1",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": true,
"mutations": 10,
"api": 0
}
},
{
"idx": 18,
"tag": "div",
"role": "",
"cls": "tab",
"label": "失败 0",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": true,
"mutations": 12,
"api": 0
}
},
{
"idx": 19,
"tag": "button",
"role": "",
"cls": "chip",
"label": "商品品类",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": true,
"self": false,
"mutations": 3,
"api": 0
}
},
{
"idx": 20,
"tag": "button",
"role": "",
"cls": "chip",
"label": "脚本来源",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": true,
"self": false,
"mutations": 3,
"api": 0
}
},
{
"idx": 21,
"tag": "button",
"role": "",
"cls": "chip",
"label": "创建时间",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": true,
"self": false,
"mutations": 3,
"api": 0
}
},
{
"idx": 22,
"tag": "button",
"role": "",
"cls": "",
"label": "网格",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": true,
"mutations": 13,
"api": 0
}
},
{
"idx": 23,
"tag": "button",
"role": "",
"cls": "active",
"label": "列表",
"href": "",
"disabled": false,
"active": true,
"verdict": "noop-active",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 0,
"api": 0
}
}
],
"missing": [
"搜索",
"李 小李的店",
"余额 ¥327.40",
"账户",
"9:16 补水面膜 · 痛点种草 · v36 镜 · 0-15s 透真补水面膜 AI 全生 3/",
"9:16 速食牛肉面 · 加班治愈4 镜 · 0-12s 滋啦速食 · 6 桶装 一句话主题 2",
"删除项目",
"9:16 透真防晒 · 通勤对比6 镜 · 0-18s 透真清透防晒霜 AI 全生 4/5 视频",
"9:16 咖啡冻干 · 早八剧情5 镜 · 0-15s 三顿半同款冻干 一句话主题 3/5 故事",
"9:16 蓝牙耳机 · 开箱测评5 镜 · 0-15s 南卡 Lite Pro 自带脚本 5/5",
"9:16 瑜伽裤 · 通勤穿搭5 镜 · 0-15s 露露同款瑜伽裤 AI 全生 5/5 已完成",
"故事板生成中",
"资产生成中",
"视频生成 4/6",
"故事板生成失败"
]
}
@@ -0,0 +1,24 @@
# 功能审计 · projects
路由:`/projects` · 模式:isolated
合计 24 · ✅ works 22 · ❌ **dead 0** · 🛑 error 0 · ⏭ skipped(破坏性)0 · ◷ noop-active 2 · ⚪ disabled 0
## 🔍 设计稿里有、React 没渲染出来的控件(MISSING · 启发式)
> 按控件文字与设计稿 `/exact` 对比,可能含装饰/动态文案误报,人工过一眼。
- 搜索
- 李 小李的店
- 余额 ¥327.40
- 账户
- 9:16 补水面膜 · 痛点种草 · v36 镜 · 0-15s 透真补水面膜 AI 全生 3/
- 9:16 速食牛肉面 · 加班治愈4 镜 · 0-12s 滋啦速食 · 6 桶装 一句话主题 2
- 删除项目
- 9:16 透真防晒 · 通勤对比6 镜 · 0-18s 透真清透防晒霜 AI 全生 4/5 视频
- 9:16 咖啡冻干 · 早八剧情5 镜 · 0-15s 三顿半同款冻干 一句话主题 3/5 故事
- 9:16 蓝牙耳机 · 开箱测评5 镜 · 0-15s 南卡 Lite Pro 自带脚本 5/5
- 9:16 瑜伽裤 · 通勤穿搭5 镜 · 0-15s 露露同款瑜伽裤 AI 全生 5/5 已完成
- 故事板生成中
- 资产生成中
- 视频生成 4/6
- 故事板生成失败
@@ -0,0 +1,492 @@
{
"name": "settings",
"route": "/settings",
"url": "http://127.0.0.1:5173/settings",
"mode": "isolated",
"tally": {
"total": 26,
"works": 25,
"dead": 0,
"error": 0,
"disabled": 0,
"skipped": 0,
"noop": 1,
"blocked": 0
},
"results": [
{
"idx": 0,
"tag": "a",
"role": "",
"cls": "brand",
"label": "Airshelf 工作台",
"href": "/dashboard",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 25,
"api": 0
}
},
{
"idx": 1,
"tag": "button",
"role": "",
"cls": "sidebar-toggle",
"label": "展开导航",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 17,
"api": 0
}
},
{
"idx": 2,
"tag": "div",
"role": "button",
"cls": "search-box",
"label": "搜索 (Ctrl K)",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": true,
"self": false,
"mutations": 14,
"api": 0
}
},
{
"idx": 3,
"tag": "a",
"role": "",
"cls": "",
"label": "工作台",
"href": "/dashboard",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 25,
"api": 0
}
},
{
"idx": 4,
"tag": "a",
"role": "",
"cls": "",
"label": "商品库",
"href": "/products",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 20,
"api": 0
}
},
{
"idx": 5,
"tag": "a",
"role": "",
"cls": "",
"label": "视频项目",
"href": "/projects",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 20,
"api": 0
}
},
{
"idx": 6,
"tag": "a",
"role": "",
"cls": "",
"label": "图片生成",
"href": "/asset-factory",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 20,
"api": 0
}
},
{
"idx": 7,
"tag": "a",
"role": "",
"cls": "",
"label": "资产库",
"href": "/library",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 36,
"api": 0
}
},
{
"idx": 8,
"tag": "a",
"role": "",
"cls": "",
"label": "团队",
"href": "/team",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 20,
"api": 0
}
},
{
"idx": 9,
"tag": "a",
"role": "",
"cls": "",
"label": "消费",
"href": "/account",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 22,
"api": 0
}
},
{
"idx": 10,
"tag": "a",
"role": "",
"cls": "active",
"label": "设置",
"href": "/settings",
"disabled": false,
"active": true,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 22,
"api": 0
}
},
{
"idx": 11,
"tag": "a",
"role": "",
"cls": "",
"label": "工作台",
"href": "/dashboard",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 25,
"api": 0
}
},
{
"idx": 12,
"tag": "button",
"role": "",
"cls": "icon-btn",
"label": "消息中心",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 19,
"api": 0
}
},
{
"idx": 13,
"tag": "button",
"role": "",
"cls": "btn",
"label": "取消",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 23,
"api": 0
}
},
{
"idx": 14,
"tag": "button",
"role": "",
"cls": "btn.btn-primary",
"label": "保存所有变更",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 47,
"api": 11
}
},
{
"idx": 15,
"tag": "a",
"role": "tab",
"cls": "active",
"label": "个人信息",
"href": "#sec-profile",
"disabled": false,
"active": true,
"verdict": "noop-active",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 0,
"api": 0
}
},
{
"idx": 16,
"tag": "a",
"role": "tab",
"cls": "",
"label": "安全3 设备",
"href": "#sec-security",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": true,
"mutations": 6,
"api": 0
}
},
{
"idx": 17,
"tag": "a",
"role": "tab",
"cls": "",
"label": "通知4/4",
"href": "#sec-notify",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": true,
"mutations": 6,
"api": 0
}
},
{
"idx": 18,
"tag": "a",
"role": "tab",
"cls": "",
"label": "创作默认",
"href": "#sec-pref",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": true,
"mutations": 6,
"api": 0
}
},
{
"idx": 19,
"tag": "a",
"role": "tab",
"cls": "",
"label": "显示",
"href": "#sec-display",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": true,
"mutations": 6,
"api": 0
}
},
{
"idx": 20,
"tag": "button",
"role": "",
"cls": "logout-pill",
"label": "退出登录",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": true,
"self": false,
"mutations": 8,
"api": 0
}
},
{
"idx": 21,
"tag": "button",
"role": "",
"cls": "btn.btn-sm",
"label": "上传新头像",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": true,
"self": false,
"mutations": 8,
"api": 0
}
},
{
"idx": 22,
"tag": "button",
"role": "",
"cls": "btn.btn-ghost.btn-sm",
"label": "恢复默认",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 45,
"api": 11
}
},
{
"idx": 23,
"tag": "button",
"role": "",
"cls": "btn.btn-ghost.btn-sm",
"label": "验证",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 23,
"api": 0
}
},
{
"idx": 24,
"tag": "button",
"role": "",
"cls": "btn.btn-ghost.btn-sm",
"label": "更换",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 23,
"api": 0
}
},
{
"idx": 25,
"tag": "a",
"role": "",
"cls": "row-link",
"label": "管理团队 →",
"href": "#team",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 22,
"api": 0
}
}
],
"missing": [
"搜索",
"李 小李的店",
"余额 ¥327.40",
"账户"
]
}
@@ -0,0 +1,13 @@
# 功能审计 · settings
路由:`/settings` · 模式:isolated
合计 26 · ✅ works 25 · ❌ **dead 0** · 🛑 error 0 · ⏭ skipped(破坏性)0 · ◷ noop-active 1 · ⚪ disabled 0
## 🔍 设计稿里有、React 没渲染出来的控件(MISSING · 启发式)
> 按控件文字与设计稿 `/exact` 对比,可能含装饰/动态文案误报,人工过一眼。
- 搜索
- 李 小李的店
- 余额 ¥327.40
- 账户
@@ -0,0 +1,74 @@
[
{
"page": "asset-factory",
"blocked": 0,
"total": 24,
"works": 22,
"dead": 0,
"error": 0,
"disabled": 0,
"skipped": 0,
"noop": 2,
"missing": 4
},
{
"page": "image-optimize",
"blocked": 0,
"total": 24,
"works": 24,
"dead": 0,
"error": 0,
"disabled": 0,
"skipped": 0,
"noop": 0,
"missing": 12
},
{
"page": "model-photo",
"blocked": 0,
"total": 32,
"works": 31,
"dead": 0,
"error": 0,
"disabled": 0,
"skipped": 0,
"noop": 1,
"missing": 7
},
{
"page": "model-photo-demo-a",
"blocked": 0,
"total": 37,
"works": 33,
"dead": 0,
"error": 0,
"disabled": 0,
"skipped": 1,
"noop": 3,
"missing": 5
},
{
"page": "model-photo-demo-b",
"blocked": 0,
"total": 37,
"works": 36,
"dead": 0,
"error": 0,
"disabled": 0,
"skipped": 0,
"noop": 1,
"missing": 5
},
{
"page": "platform-cover",
"blocked": 0,
"total": 38,
"works": 35,
"dead": 0,
"error": 0,
"disabled": 0,
"skipped": 1,
"noop": 2,
"missing": 8
}
]
+18
View File
@@ -0,0 +1,18 @@
# 功能审计汇总
生成时间:2026-06-09T07:56:41.981Z · 模式:isolated
| 页面 | 合计 | ✅works | ❌dead | 🛑error | ⏭skip | 🔍missing | 状态 |
|---|---|---|---|---|---|---|---|
| asset-factory | 24 | 22 | **0** | 0 | 0 | 4 | |
| image-optimize | 24 | 24 | **0** | 0 | 0 | 12 | |
| model-photo | 32 | 31 | **0** | 0 | 0 | 7 | |
| model-photo-demo-a | 37 | 33 | **0** | 0 | 1 | 5 | |
| model-photo-demo-b | 37 | 36 | **0** | 0 | 0 | 5 | |
| platform-cover | 38 | 35 | **0** | 0 | 1 | 8 | |
- ⛔blocked = 页面始终落登录页/未就绪(后端或远程库不可用),**未审计**,非「0 缺陷」。修好后端再单独 `--only <page>` 复跑。
- ❌dead = 点了五路探针(URL/浮层/自身状态/网络/DOM)全无反应,优先修。
- 🔍missing = 设计稿 `/exact` 有、React 没渲染出来的控件(启发式,需人工过)。
- ⏭skip = 破坏性按钮(删除/充值/生成…)未自动点,需人工验。
- 单页明细见 `output/<page>.audit.md`
@@ -0,0 +1,333 @@
{
"name": "team",
"route": "/team",
"url": "http://127.0.0.1:5173/team",
"mode": "isolated",
"tally": {
"total": 17,
"works": 17,
"dead": 0,
"error": 0,
"disabled": 0,
"skipped": 0,
"noop": 0,
"blocked": 0
},
"results": [
{
"idx": 0,
"tag": "a",
"role": "",
"cls": "brand",
"label": "Airshelf 工作台",
"href": "/dashboard",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 25,
"api": 0
}
},
{
"idx": 1,
"tag": "button",
"role": "",
"cls": "sidebar-toggle",
"label": "展开导航",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 17,
"api": 0
}
},
{
"idx": 2,
"tag": "div",
"role": "button",
"cls": "search-box",
"label": "搜索 (Ctrl K)",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": true,
"self": false,
"mutations": 14,
"api": 0
}
},
{
"idx": 3,
"tag": "a",
"role": "",
"cls": "",
"label": "工作台",
"href": "/dashboard",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 25,
"api": 0
}
},
{
"idx": 4,
"tag": "a",
"role": "",
"cls": "",
"label": "商品库",
"href": "/products",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 20,
"api": 0
}
},
{
"idx": 5,
"tag": "a",
"role": "",
"cls": "",
"label": "视频项目",
"href": "/projects",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 20,
"api": 0
}
},
{
"idx": 6,
"tag": "a",
"role": "",
"cls": "",
"label": "图片生成",
"href": "/asset-factory",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 20,
"api": 0
}
},
{
"idx": 7,
"tag": "a",
"role": "",
"cls": "",
"label": "资产库",
"href": "/library",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 36,
"api": 0
}
},
{
"idx": 8,
"tag": "a",
"role": "",
"cls": "active",
"label": "团队",
"href": "/team",
"disabled": false,
"active": true,
"verdict": "works",
"signals": {
"url": false,
"overlay": false,
"self": false,
"mutations": 17,
"api": 0
}
},
{
"idx": 9,
"tag": "a",
"role": "",
"cls": "",
"label": "消费",
"href": "/account",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 22,
"api": 0
}
},
{
"idx": 10,
"tag": "a",
"role": "",
"cls": "",
"label": "设置",
"href": "/settings",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": true,
"mutations": 49,
"api": 2
}
},
{
"idx": 11,
"tag": "a",
"role": "",
"cls": "",
"label": "工作台",
"href": "/dashboard",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 25,
"api": 0
}
},
{
"idx": 12,
"tag": "button",
"role": "",
"cls": "icon-btn",
"label": "消息中心",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 19,
"api": 0
}
},
{
"idx": 13,
"tag": "button",
"role": "",
"cls": "btn.btn-primary",
"label": "创建账户",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": true,
"self": false,
"mutations": 3,
"api": 0
}
},
{
"idx": 14,
"tag": "button",
"role": "",
"cls": "btn.btn-sm",
"label": "充值",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": true,
"self": false,
"mutations": 3,
"api": 0
}
},
{
"idx": 15,
"tag": "button",
"role": "",
"cls": "btn.btn-ghost.btn-sm",
"label": "设置月限额",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": false,
"overlay": true,
"self": false,
"mutations": 3,
"api": 0
}
},
{
"idx": 16,
"tag": "a",
"role": "button",
"cls": "more",
"label": "全部 →",
"href": "",
"disabled": false,
"active": false,
"verdict": "works",
"signals": {
"url": true,
"overlay": false,
"self": false,
"mutations": 19,
"api": 0
}
}
],
"missing": [
"搜索",
"李 小李的店",
"余额 ¥327.40",
"账户",
"编辑",
"重置密码",
"移出"
]
}
@@ -0,0 +1,16 @@
# 功能审计 · team
路由:`/team` · 模式:isolated
合计 17 · ✅ works 17 · ❌ **dead 0** · 🛑 error 0 · ⏭ skipped(破坏性)0 · ◷ noop-active 0 · ⚪ disabled 0
## 🔍 设计稿里有、React 没渲染出来的控件(MISSING · 启发式)
> 按控件文字与设计稿 `/exact` 对比,可能含装饰/动态文案误报,人工过一眼。
- 搜索
- 李 小李的店
- 余额 ¥327.40
- 账户
- 编辑
- 重置密码
- 移出