文件

893 行
25 KiB
JSON

{
"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"
}