{ "generatedAt": "2026-05-07T11:36:29.101Z", "checks": [ { "label": "PC Portal", "route": "/portal", "mobile": false, "screenshot": "/home/shunli/Projects/hyb-oa/output/playwright/r106/pc-portal.png", "width": 1440, "height": 960, "scrollWidth": 1440, "tableCount": 0, "uuidCount": 0 }, { "label": "PC 报销列表", "route": "/reimbursements", "mobile": false, "screenshot": "/home/shunli/Projects/hyb-oa/output/playwright/r106/pc-reimbursements-list.png", "width": 1440, "height": 960, "scrollWidth": 1440, "tableCount": 1, "uuidCount": 0 }, { "label": "PC 报销详情", "route": "/reimbursements/[uuid]", "mobile": false, "screenshot": "/home/shunli/Projects/hyb-oa/output/playwright/r106/pc-reimbursement-detail.png", "width": 1440, "height": 960, "scrollWidth": 1440, "tableCount": 1, "uuidCount": 0 }, { "label": "PC 报销详情", "type": "button-compare", "status": "diff", "labelA": "明细编辑", "labelB": "明细删除", "data": { "a": { "text": "编辑", "rect": { "width": 50, "height": 40, "x": 853, "y": 1060 }, "style": { "backgroundColor": "rgba(255, 255, 255, 0.9)", "color": "rgb(51, 65, 85)", "border": "1px solid rgb(226, 232, 240)", "borderRadius": "8px", "fontSize": "12px", "fontWeight": "500", "padding": "0px 12px 0px 12px" } }, "b": { "text": "删除", "rect": { "width": 50, "height": 40, "x": 853, "y": 1108 }, "style": { "backgroundColor": "rgba(255, 255, 255, 0.9)", "color": "rgb(51, 65, 85)", "border": "1px solid rgb(226, 232, 240)", "borderRadius": "8px", "fontSize": "12px", "fontWeight": "500", "padding": "0px 12px 0px 12px" } } } }, { "label": "PC 报销详情", "type": "button-compare", "status": "same-layout", "labelA": "返回列表", "labelB": "删除草稿", "data": { "a": { "text": "返回列表", "rect": { "width": 90, "height": 44, "x": 1176, "y": 227 }, "style": { "backgroundColor": "rgba(255, 255, 255, 0.9)", "color": "rgb(51, 65, 85)", "border": "1px solid rgb(226, 232, 240)", "borderRadius": "12px", "fontSize": "14px", "fontWeight": "500", "padding": "0px 16px 0px 16px" } }, "b": { "text": "删除草稿", "rect": { "width": 88, "height": 44, "x": 1274, "y": 227 }, "style": { "backgroundColor": "rgb(220, 38, 38)", "color": "rgb(255, 255, 255)", "border": "0px solid rgb(229, 231, 235)", "borderRadius": "12px", "fontSize": "14px", "fontWeight": "500", "padding": "0px 16px 0px 16px" } } } }, { "label": "PC 票据中心", "route": "/invoice-pool", "mobile": false, "screenshot": "/home/shunli/Projects/hyb-oa/output/playwright/r106/pc-invoice-pool.png", "width": 1440, "height": 960, "scrollWidth": 1440, "tableCount": 1, "uuidCount": 1 }, { "label": "PC 请假", "route": "/leave", "mobile": false, "screenshot": "/home/shunli/Projects/hyb-oa/output/playwright/r106/pc-leave.png", "width": 1440, "height": 960, "scrollWidth": 1440, "tableCount": 0, "uuidCount": 0 }, { "label": "PC 采购", "route": "/purchase-requests", "mobile": false, "screenshot": "/home/shunli/Projects/hyb-oa/output/playwright/r106/pc-purchase.png", "width": 1440, "height": 960, "scrollWidth": 1440, "tableCount": 1, "uuidCount": 0 }, { "label": "PC 差旅", "route": "/travel-requests", "mobile": false, "screenshot": "/home/shunli/Projects/hyb-oa/output/playwright/r106/pc-travel.png", "width": 1440, "height": 960, "scrollWidth": 1440, "tableCount": 0, "uuidCount": 0 }, { "label": "企微模拟-首页", "route": "/mobile", "mobile": true, "screenshot": "/home/shunli/Projects/hyb-oa/output/playwright/r106/mobile-wecom-home.png", "width": 390, "height": 844, "scrollWidth": 390, "tableCount": 0, "uuidCount": 0 }, { "label": "企微模拟-报销", "route": "/mobile/reimbursements", "mobile": true, "screenshot": "/home/shunli/Projects/hyb-oa/output/playwright/r106/mobile-wecom-reimbursements.png", "width": 390, "height": 844, "scrollWidth": 390, "tableCount": 0, "uuidCount": 0 }, { "label": "企微模拟-请假", "route": "/mobile/leave", "mobile": true, "screenshot": "/home/shunli/Projects/hyb-oa/output/playwright/r106/mobile-wecom-leave.png", "width": 390, "height": 844, "scrollWidth": 390, "tableCount": 0, "uuidCount": 0 }, { "label": "企微模拟-票据上传", "route": "/mobile/capture", "mobile": true, "screenshot": "/home/shunli/Projects/hyb-oa/output/playwright/r106/mobile-wecom-capture.png", "width": 390, "height": 844, "scrollWidth": 390, "tableCount": 0, "uuidCount": 0 }, { "label": "企微模拟-我的", "route": "/mobile/me", "mobile": true, "screenshot": "/home/shunli/Projects/hyb-oa/output/playwright/r106/mobile-wecom-me.png", "width": 390, "height": 844, "scrollWidth": 390, "tableCount": 0, "uuidCount": 0 }, { "label": "企微模拟-审批", "route": "/mobile/approvals", "mobile": true, "screenshot": "/home/shunli/Projects/hyb-oa/output/playwright/r106/mobile-wecom-approvals-admin.png", "width": 390, "height": 844, "scrollWidth": 390, "tableCount": 0, "uuidCount": 0 } ], "findings": [ { "severity": "P2", "page": "PC 报销详情", "category": "文案", "title": "页面仍有偏解释型/啰嗦文案", "detail": "可在当前页面内直接绑定已有发票,或上传新发票后等待 OCR 完成。", "evidence": "/home/shunli/Projects/hyb-oa/output/playwright/r106/pc-reimbursement-detail.png" }, { "severity": "P2", "page": "PC 报销详情", "category": "按钮一致性", "title": "明细编辑 与 明细删除 视觉规格不一致", "detail": "纵向位置 1060/1108" }, { "severity": "P1", "page": "PC 票据中心", "category": "业务展示", "title": "页面向用户暴露内部 UUID", "detail": "1 个 UUID", "evidence": "/home/shunli/Projects/hyb-oa/output/playwright/r106/pc-invoice-pool.png" }, { "severity": "P2", "page": "PC 票据中心", "category": "业务展示", "title": "票据详情仍把内部票据 ID 放在主信息区", "detail": "票据详情存在“票据 ID”字段,应改为票据号码/销售方/金额等业务信息。", "evidence": "/home/shunli/Projects/hyb-oa/output/playwright/r106/pc-invoice-pool.png" }, { "severity": "P2", "page": "PC 票据中心", "category": "按钮样式", "title": "危险/终态操作出现主色背景叠红色文字", "detail": "[{\"text\":\"手工归档\",\"testid\":\"invoice-archive\",\"color\":\"rgb(220, 38, 38)\",\"backgroundColor\":\"rgb(0, 57, 138)\",\"visible\":true,\"redTextOnPrimary\":true}]", "evidence": "/home/shunli/Projects/hyb-oa/output/playwright/r106/pc-invoice-pool.png" }, { "severity": "P2", "page": "PC 差旅", "category": "视觉", "title": "存在疑似文字/控件裁切", "detail": "[{\"tag\":\"input\",\"testid\":\"\",\"text\":\"\",\"client\":\"189x42\",\"scroll\":\"224x42\"},{\"tag\":\"input\",\"testid\":\"\",\"text\":\"\",\"client\":\"189x42\",\"scroll\":\"224x42\"}]", "evidence": "/home/shunli/Projects/hyb-oa/output/playwright/r106/pc-travel.png" } ], "seedData": { "reimbursementId": "[redacted-local-id]", "reimbursementItemId": "[redacted-local-id]", "invoicePoolId": "[redacted-local-id]", "invoiceUploadStatus": "pending_ocr" } }