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:
@@ -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 创"
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user