{ "issueId": "OAFRONT3-1", "mode": "pc-readonly-visual-evidence", "status": "PASS_PC_READONLY_VISUAL_READY", "conclusion": "PASS_PC_READONLY_VISUAL_READY", "baseUrl": "https://oa.hyinda.com", "checkedAt": "2026-05-26T09:49:00.322Z", "readOnly": true, "viewport": "1440x960", "roleCount": 7, "routeCount": 32, "screenshotDir": "output/playwright/oafront3-pc-readonly-postdeploy", "reportDir": ".trellis/tasks/05-26-oa-frontend-postdeploy-public-verification/research/postdeploy-oafront3-pc-readonly", "roles": [ { "role": "employee", "login": "PASS" }, { "role": "manager", "login": "PASS" }, { "role": "finance", "login": "PASS" }, { "role": "finance_mgr", "login": "PASS" }, { "role": "admin", "login": "PASS" }, { "role": "ceo", "login": "PASS" }, { "role": "hr", "login": "PASS" } ], "routes": [ { "role": "employee", "route": "/portal", "label": "员工工作台", "layer": "A", "expectation": "accessible", "status": "PASS", "finalPath": "/portal", "screenshot": "output/playwright/oafront3-pc-readonly-postdeploy/employee-portal.png", "metrics": { "title": "海音达工作台", "textLength": 786, "headingCount": 1, "tableCount": 0, "uuidCount": 0, "rawStatusTokenCount": 0, "longNumberCount": 0, "rawJsonBlockCount": 0, "englishFound": [], "datePlaceholderCount": 0, "clippedCount": 0, "forbiddenLike": false, "appErrorLike": false, "navPortalCopy": false } }, { "role": "employee", "route": "/reimbursements", "label": "员工报销列表", "layer": "A", "expectation": "accessible", "status": "PASS", "finalPath": "/reimbursements", "screenshot": "output/playwright/oafront3-pc-readonly-postdeploy/employee-reimbursements.png", "metrics": { "title": "海音达工作台", "textLength": 718, "headingCount": 1, "tableCount": 1, "uuidCount": 0, "rawStatusTokenCount": 0, "longNumberCount": 0, "rawJsonBlockCount": 0, "englishFound": [], "datePlaceholderCount": 0, "clippedCount": 0, "forbiddenLike": false, "appErrorLike": false, "navPortalCopy": false } }, { "role": "employee", "route": "/invoice-pool", "label": "员工票据中心", "layer": "B", "expectation": "accessible", "status": "PASS", "finalPath": "/invoice-pool", "screenshot": "output/playwright/oafront3-pc-readonly-postdeploy/employee-invoice-pool.png", "metrics": { "title": "海音达工作台", "textLength": 3447, "headingCount": 1, "tableCount": 1, "uuidCount": 0, "rawStatusTokenCount": 0, "longNumberCount": 0, "rawJsonBlockCount": 0, "englishFound": [], "datePlaceholderCount": 0, "clippedCount": 0, "forbiddenLike": false, "appErrorLike": false, "navPortalCopy": false } }, { "role": "employee", "route": "/purchase-requests", "label": "员工采购申请", "layer": "B", "expectation": "accessible", "status": "PASS", "finalPath": "/purchase-requests", "screenshot": "output/playwright/oafront3-pc-readonly-postdeploy/employee-purchase-requests.png", "metrics": { "title": "海音达工作台", "textLength": 1085, "headingCount": 1, "tableCount": 3, "uuidCount": 0, "rawStatusTokenCount": 0, "longNumberCount": 0, "rawJsonBlockCount": 0, "englishFound": [], "datePlaceholderCount": 0, "clippedCount": 0, "forbiddenLike": false, "appErrorLike": false, "navPortalCopy": false } }, { "role": "employee", "route": "/assets", "label": "员工资产台账", "layer": "B", "expectation": "accessible", "status": "PASS", "finalPath": "/assets", "screenshot": "output/playwright/oafront3-pc-readonly-postdeploy/employee-assets.png", "metrics": { "title": "海音达工作台", "textLength": 830, "headingCount": 1, "tableCount": 2, "uuidCount": 0, "rawStatusTokenCount": 0, "longNumberCount": 0, "rawJsonBlockCount": 0, "englishFound": [], "datePlaceholderCount": 0, "clippedCount": 0, "forbiddenLike": false, "appErrorLike": false, "navPortalCopy": false } }, { "role": "employee", "route": "/payment-batches", "label": "员工付款权限负例", "layer": "B", "expectation": "forbidden_ok", "status": "FORBIDDEN_EXPECTED", "finalPath": "/403", "screenshot": "output/playwright/oafront3-pc-readonly-postdeploy/employee-payment-batches.png", "metrics": { "title": "海音达工作台", "textLength": 56, "headingCount": 1, "tableCount": 0, "uuidCount": 0, "rawStatusTokenCount": 0, "longNumberCount": 0, "rawJsonBlockCount": 0, "englishFound": [], "datePlaceholderCount": 0, "clippedCount": 0, "forbiddenLike": true, "appErrorLike": false, "navPortalCopy": false } }, { "role": "manager", "route": "/portal", "label": "主管工作台", "layer": "A", "expectation": "accessible", "status": "PASS", "finalPath": "/portal", "screenshot": "output/playwright/oafront3-pc-readonly-postdeploy/manager-portal.png", "metrics": { "title": "海音达工作台", "textLength": 984, "headingCount": 1, "tableCount": 0, "uuidCount": 0, "rawStatusTokenCount": 0, "longNumberCount": 0, "rawJsonBlockCount": 0, "englishFound": [], "datePlaceholderCount": 0, "clippedCount": 0, "forbiddenLike": false, "appErrorLike": false, "navPortalCopy": false } }, { "role": "manager", "route": "/workflow/tasks", "label": "主管审批待办", "layer": "A", "expectation": "accessible", "status": "PASS", "finalPath": "/workflow/tasks", "screenshot": "output/playwright/oafront3-pc-readonly-postdeploy/manager-workflow-tasks.png", "metrics": { "title": "海音达工作台", "textLength": 550, "headingCount": 1, "tableCount": 1, "uuidCount": 0, "rawStatusTokenCount": 0, "longNumberCount": 0, "rawJsonBlockCount": 0, "englishFound": [], "datePlaceholderCount": 0, "clippedCount": 0, "forbiddenLike": false, "appErrorLike": false, "navPortalCopy": false } }, { "role": "manager", "route": "/purchase-requests", "label": "主管采购申请", "layer": "B", "expectation": "accessible", "status": "PASS", "finalPath": "/purchase-requests", "screenshot": "output/playwright/oafront3-pc-readonly-postdeploy/manager-purchase-requests.png", "metrics": { "title": "海音达工作台", "textLength": 475, "headingCount": 1, "tableCount": 1, "uuidCount": 0, "rawStatusTokenCount": 0, "longNumberCount": 0, "rawJsonBlockCount": 0, "englishFound": [], "datePlaceholderCount": 0, "clippedCount": 0, "forbiddenLike": false, "appErrorLike": false, "navPortalCopy": false } }, { "role": "manager", "route": "/projects", "label": "主管项目列表", "layer": "B", "expectation": "optional", "status": "PASS", "finalPath": "/projects", "screenshot": "output/playwright/oafront3-pc-readonly-postdeploy/manager-projects.png", "metrics": { "title": "海音达工作台", "textLength": 777, "headingCount": 1, "tableCount": 0, "uuidCount": 0, "rawStatusTokenCount": 0, "longNumberCount": 0, "rawJsonBlockCount": 0, "englishFound": [], "datePlaceholderCount": 0, "clippedCount": 0, "forbiddenLike": false, "appErrorLike": false, "navPortalCopy": false } }, { "role": "finance", "route": "/portal", "label": "财务工作台", "layer": "A", "expectation": "accessible", "status": "PASS", "finalPath": "/portal", "screenshot": "output/playwright/oafront3-pc-readonly-postdeploy/finance-portal.png", "metrics": { "title": "海音达工作台", "textLength": 1009, "headingCount": 1, "tableCount": 0, "uuidCount": 0, "rawStatusTokenCount": 0, "longNumberCount": 0, "rawJsonBlockCount": 0, "englishFound": [], "datePlaceholderCount": 0, "clippedCount": 0, "forbiddenLike": false, "appErrorLike": false, "navPortalCopy": false } }, { "role": "finance", "route": "/invoice-pool", "label": "财务票据中心", "layer": "B", "expectation": "accessible", "status": "PASS", "finalPath": "/invoice-pool", "screenshot": "output/playwright/oafront3-pc-readonly-postdeploy/finance-invoice-pool.png", "metrics": { "title": "海音达工作台", "textLength": 526, "headingCount": 1, "tableCount": 1, "uuidCount": 0, "rawStatusTokenCount": 0, "longNumberCount": 0, "rawJsonBlockCount": 0, "englishFound": [], "datePlaceholderCount": 0, "clippedCount": 0, "forbiddenLike": false, "appErrorLike": false, "navPortalCopy": false } }, { "role": "finance", "route": "/payment-batches", "label": "财务付款批次", "layer": "B", "expectation": "accessible", "status": "PASS", "finalPath": "/payment-batches", "screenshot": "output/playwright/oafront3-pc-readonly-postdeploy/finance-payment-batches.png", "metrics": { "title": "海音达工作台", "textLength": 1726, "headingCount": 1, "tableCount": 0, "uuidCount": 0, "rawStatusTokenCount": 0, "longNumberCount": 0, "rawJsonBlockCount": 0, "englishFound": [], "datePlaceholderCount": 0, "clippedCount": 0, "forbiddenLike": false, "appErrorLike": false, "navPortalCopy": false } }, { "role": "finance", "route": "/ap-operations", "label": "财务 AP 运营", "layer": "B", "expectation": "accessible", "status": "PASS", "finalPath": "/ap-operations", "screenshot": "output/playwright/oafront3-pc-readonly-postdeploy/finance-ap-operations.png", "metrics": { "title": "海音达工作台", "textLength": 736, "headingCount": 1, "tableCount": 1, "uuidCount": 0, "rawStatusTokenCount": 0, "longNumberCount": 0, "rawJsonBlockCount": 0, "englishFound": [], "datePlaceholderCount": 0, "clippedCount": 0, "forbiddenLike": false, "appErrorLike": false, "navPortalCopy": false } }, { "role": "finance", "route": "/reimbursements", "label": "财务报销列表", "layer": "A", "expectation": "accessible", "status": "PASS", "finalPath": "/reimbursements", "screenshot": "output/playwright/oafront3-pc-readonly-postdeploy/finance-reimbursements.png", "metrics": { "title": "海音达工作台", "textLength": 453, "headingCount": 1, "tableCount": 1, "uuidCount": 0, "rawStatusTokenCount": 0, "longNumberCount": 0, "rawJsonBlockCount": 0, "englishFound": [], "datePlaceholderCount": 0, "clippedCount": 0, "forbiddenLike": false, "appErrorLike": false, "navPortalCopy": false } }, { "role": "finance_mgr", "route": "/portal", "label": "财务负责人工作台", "layer": "A", "expectation": "accessible", "status": "PASS", "finalPath": "/portal", "screenshot": "output/playwright/oafront3-pc-readonly-postdeploy/finance_mgr-portal.png", "metrics": { "title": "海音达工作台", "textLength": 1111, "headingCount": 1, "tableCount": 0, "uuidCount": 0, "rawStatusTokenCount": 0, "longNumberCount": 0, "rawJsonBlockCount": 0, "englishFound": [], "datePlaceholderCount": 0, "clippedCount": 0, "forbiddenLike": false, "appErrorLike": false, "navPortalCopy": false } }, { "role": "finance_mgr", "route": "/workflow/tasks", "label": "财务负责人审批待办", "layer": "A", "expectation": "accessible", "status": "PASS", "finalPath": "/workflow/tasks", "screenshot": "output/playwright/oafront3-pc-readonly-postdeploy/finance_mgr-workflow-tasks.png", "metrics": { "title": "海音达工作台", "textLength": 839, "headingCount": 1, "tableCount": 1, "uuidCount": 0, "rawStatusTokenCount": 0, "longNumberCount": 0, "rawJsonBlockCount": 0, "englishFound": [], "datePlaceholderCount": 0, "clippedCount": 0, "forbiddenLike": false, "appErrorLike": false, "navPortalCopy": false } }, { "role": "finance_mgr", "route": "/payment-batches", "label": "财务负责人付款批次", "layer": "B", "expectation": "accessible", "status": "PASS", "finalPath": "/payment-batches", "screenshot": "output/playwright/oafront3-pc-readonly-postdeploy/finance_mgr-payment-batches.png", "metrics": { "title": "海音达工作台", "textLength": 1792, "headingCount": 1, "tableCount": 0, "uuidCount": 0, "rawStatusTokenCount": 0, "longNumberCount": 0, "rawJsonBlockCount": 0, "englishFound": [], "datePlaceholderCount": 0, "clippedCount": 0, "forbiddenLike": false, "appErrorLike": false, "navPortalCopy": false } }, { "role": "finance_mgr", "route": "/ap-operations", "label": "财务负责人 AP 运营", "layer": "B", "expectation": "accessible", "status": "PASS", "finalPath": "/ap-operations", "screenshot": "output/playwright/oafront3-pc-readonly-postdeploy/finance_mgr-ap-operations.png", "metrics": { "title": "海音达工作台", "textLength": 809, "headingCount": 1, "tableCount": 1, "uuidCount": 0, "rawStatusTokenCount": 0, "longNumberCount": 0, "rawJsonBlockCount": 0, "englishFound": [], "datePlaceholderCount": 0, "clippedCount": 0, "forbiddenLike": false, "appErrorLike": false, "navPortalCopy": false } }, { "role": "finance_mgr", "route": "/audit-logs", "label": "财务负责人审计日志", "layer": "C", "expectation": "accessible", "status": "PASS", "finalPath": "/audit-logs", "screenshot": "output/playwright/oafront3-pc-readonly-postdeploy/finance_mgr-audit-logs.png", "metrics": { "title": "海音达工作台", "textLength": 3519, "headingCount": 1, "tableCount": 1, "uuidCount": 40, "rawStatusTokenCount": 0, "longNumberCount": 0, "rawJsonBlockCount": 0, "englishFound": [], "datePlaceholderCount": 0, "clippedCount": 0, "forbiddenLike": false, "appErrorLike": false, "navPortalCopy": false } }, { "role": "admin", "route": "/portal", "label": "管理员工作台", "layer": "A", "expectation": "accessible", "status": "PASS", "finalPath": "/portal", "screenshot": "output/playwright/oafront3-pc-readonly-postdeploy/admin-portal.png", "metrics": { "title": "海音达工作台", "textLength": 896, "headingCount": 1, "tableCount": 0, "uuidCount": 0, "rawStatusTokenCount": 0, "longNumberCount": 0, "rawJsonBlockCount": 0, "englishFound": [], "datePlaceholderCount": 0, "clippedCount": 0, "forbiddenLike": false, "appErrorLike": false, "navPortalCopy": false } }, { "role": "admin", "route": "/assets", "label": "管理员资产台账", "layer": "B", "expectation": "accessible", "status": "PASS", "finalPath": "/assets", "screenshot": "output/playwright/oafront3-pc-readonly-postdeploy/admin-assets.png", "metrics": { "title": "海音达工作台", "textLength": 3586, "headingCount": 1, "tableCount": 2, "uuidCount": 0, "rawStatusTokenCount": 0, "longNumberCount": 0, "rawJsonBlockCount": 0, "englishFound": [], "datePlaceholderCount": 0, "clippedCount": 0, "forbiddenLike": false, "appErrorLike": false, "navPortalCopy": false } }, { "role": "admin", "route": "/contracts-registry", "label": "管理员合同台账", "layer": "B", "expectation": "accessible", "status": "PASS", "finalPath": "/contracts-registry", "screenshot": "output/playwright/oafront3-pc-readonly-postdeploy/admin-contracts-registry.png", "metrics": { "title": "海音达工作台", "textLength": 1612, "headingCount": 1, "tableCount": 0, "uuidCount": 0, "rawStatusTokenCount": 0, "longNumberCount": 0, "rawJsonBlockCount": 0, "englishFound": [], "datePlaceholderCount": 0, "clippedCount": 0, "forbiddenLike": false, "appErrorLike": false, "navPortalCopy": false } }, { "role": "admin", "route": "/system/workspace", "label": "管理员工作区设置", "layer": "C", "expectation": "accessible", "status": "PASS", "finalPath": "/system/workspace", "screenshot": "output/playwright/oafront3-pc-readonly-postdeploy/admin-system-workspace.png", "metrics": { "title": "海音达工作台", "textLength": 1718, "headingCount": 1, "tableCount": 1, "uuidCount": 0, "rawStatusTokenCount": 0, "longNumberCount": 0, "rawJsonBlockCount": 0, "englishFound": [], "datePlaceholderCount": 0, "clippedCount": 0, "forbiddenLike": false, "appErrorLike": false, "navPortalCopy": false } }, { "role": "admin", "route": "/system/approval-rules", "label": "管理员审批规则", "layer": "C", "expectation": "accessible", "status": "PASS", "finalPath": "/system/approval-rules", "screenshot": "output/playwright/oafront3-pc-readonly-postdeploy/admin-system-approval-rules.png", "metrics": { "title": "海音达工作台", "textLength": 983, "headingCount": 1, "tableCount": 1, "uuidCount": 3, "rawStatusTokenCount": 0, "longNumberCount": 0, "rawJsonBlockCount": 0, "englishFound": [], "datePlaceholderCount": 0, "clippedCount": 0, "forbiddenLike": false, "appErrorLike": false, "navPortalCopy": false } }, { "role": "admin", "route": "/system/feature-flags", "label": "管理员功能开关", "layer": "C", "expectation": "accessible", "status": "PASS", "finalPath": "/system/feature-flags", "screenshot": "output/playwright/oafront3-pc-readonly-postdeploy/admin-system-feature-flags.png", "metrics": { "title": "海音达工作台", "textLength": 4638, "headingCount": 1, "tableCount": 1, "uuidCount": 0, "rawStatusTokenCount": 0, "longNumberCount": 0, "rawJsonBlockCount": 0, "englishFound": [], "datePlaceholderCount": 0, "clippedCount": 0, "forbiddenLike": false, "appErrorLike": false, "navPortalCopy": false } }, { "role": "ceo", "route": "/portal", "label": "负责人工作台", "layer": "A", "expectation": "accessible", "status": "PASS", "finalPath": "/portal", "screenshot": "output/playwright/oafront3-pc-readonly-postdeploy/ceo-portal.png", "metrics": { "title": "海音达工作台", "textLength": 928, "headingCount": 1, "tableCount": 0, "uuidCount": 0, "rawStatusTokenCount": 0, "longNumberCount": 0, "rawJsonBlockCount": 0, "englishFound": [], "datePlaceholderCount": 0, "clippedCount": 0, "forbiddenLike": false, "appErrorLike": false, "navPortalCopy": false } }, { "role": "ceo", "route": "/workflow/tasks", "label": "负责人审批待办", "layer": "A", "expectation": "accessible", "status": "PASS", "finalPath": "/workflow/tasks", "screenshot": "output/playwright/oafront3-pc-readonly-postdeploy/ceo-workflow-tasks.png", "metrics": { "title": "海音达工作台", "textLength": 465, "headingCount": 1, "tableCount": 1, "uuidCount": 0, "rawStatusTokenCount": 0, "longNumberCount": 0, "rawJsonBlockCount": 0, "englishFound": [], "datePlaceholderCount": 0, "clippedCount": 0, "forbiddenLike": false, "appErrorLike": false, "navPortalCopy": false } }, { "role": "ceo", "route": "/budgets", "label": "负责人预算视图", "layer": "B", "expectation": "optional", "status": "PASS", "finalPath": "/budgets", "screenshot": "output/playwright/oafront3-pc-readonly-postdeploy/ceo-budgets.png", "metrics": { "title": "海音达工作台", "textLength": 493, "headingCount": 1, "tableCount": 1, "uuidCount": 0, "rawStatusTokenCount": 0, "longNumberCount": 0, "rawJsonBlockCount": 0, "englishFound": [], "datePlaceholderCount": 0, "clippedCount": 0, "forbiddenLike": false, "appErrorLike": false, "navPortalCopy": false } }, { "role": "hr", "route": "/portal", "label": "HR 工作台", "layer": "A", "expectation": "accessible", "status": "PASS", "finalPath": "/portal", "screenshot": "output/playwright/oafront3-pc-readonly-postdeploy/hr-portal.png", "metrics": { "title": "海音达工作台", "textLength": 926, "headingCount": 1, "tableCount": 0, "uuidCount": 0, "rawStatusTokenCount": 0, "longNumberCount": 0, "rawJsonBlockCount": 0, "englishFound": [], "datePlaceholderCount": 0, "clippedCount": 0, "forbiddenLike": false, "appErrorLike": false, "navPortalCopy": false } }, { "role": "hr", "route": "/people", "label": "HR 人员管理", "layer": "C", "expectation": "accessible", "status": "PASS", "finalPath": "/people", "screenshot": "output/playwright/oafront3-pc-readonly-postdeploy/hr-people.png", "metrics": { "title": "海音达工作台", "textLength": 2822, "headingCount": 2, "tableCount": 1, "uuidCount": 0, "rawStatusTokenCount": 0, "longNumberCount": 5, "rawJsonBlockCount": 0, "englishFound": [ "Employee", "Admin" ], "datePlaceholderCount": 0, "clippedCount": 0, "forbiddenLike": false, "appErrorLike": false, "navPortalCopy": false } }, { "role": "hr", "route": "/wecom-approval-archive", "label": "HR 企微归档", "layer": "B", "expectation": "accessible", "status": "PASS", "finalPath": "/wecom-approval-archive", "screenshot": "output/playwright/oafront3-pc-readonly-postdeploy/hr-wecom-approval-archive.png", "metrics": { "title": "海音达工作台", "textLength": 728, "headingCount": 1, "tableCount": 0, "uuidCount": 0, "rawStatusTokenCount": 0, "longNumberCount": 0, "rawJsonBlockCount": 0, "englishFound": [], "datePlaceholderCount": 0, "clippedCount": 0, "forbiddenLike": false, "appErrorLike": false, "navPortalCopy": false } } ], "findingCount": 0, "findings": [], "boundaries": { "noBusinessWrites": true, "noFileUploads": true, "noFormSubmits": true, "noExports": true, "noWeComWrites": true, "noRealPaymentExecution": true }, "privacy": "no password/token/secret/full email/full phone/full local sensitive path/raw invoice/contract body/bank receipt/raw payload in JSON report" }