{ "reportName": "后台管理测试环境 HTTP API 验收", "marker": "ADMIN-API-20260808014241953", "gateway": "http://8.163.30.128:9000", "generatedAt": "2026-08-08T01:42:44.907Z", "startedAt": "2026-08-08T01:42:41.953Z", "success": false, "fatal": null, "summary": { "total": 42, "passed": 38, "failed": 4 }, "modules": [ { "name": "system", "startedAt": "2026-08-08T01:42:42.321Z", "finishedAt": "2026-08-08T01:42:44.907Z", "success": false, "passed": 37, "failed": 4, "fatal": null } ], "scenarios": [], "deploymentBlockers": [], "createdResources": { "systemPermission": { "id": "2085904500002508801", "code": "platform:acceptance:808014241953" }, "systemRole": { "id": "2085904500719734785", "code": "ADMIN_ACCEPT_808014241953" }, "systemUser": { "membershipId": "2085904502246461444", "username": "admin_accept_808014241953", "finalStatus": "DISABLED" } }, "excluded": [ { "scope": "dashboard", "reason": "首页为静态演示数据,不调用后端 API" }, { "scope": "hidden-prototypes", "reason": "隐藏原型页面尚无已确认后端契约" } ], "securityNote": "报告不保存登录密码、Access Token、Refresh Token、图片二进制或 OCR 原文全文。", "steps": [ { "module": "authentication", "scenario": null, "name": "平台管理员登录", "passed": true, "deploymentBlocker": false, "request": { "method": "POST", "path": "/api/auth/login" }, "http": 200, "code": "200", "message": "success", "requestId": "4c49a105-97ea-4dea-8fee-0736c80c118a, 72186a54-d723-44bb-9d17-fc19f6ea8a02", "traceId": "67f637fdf2d441748c50d3de0b8cb354", "evidence": "", "checkedAt": "2026-08-08T01:42:42.320Z" }, { "module": "system", "scenario": null, "name": "查询菜单权限资源", "passed": true, "deploymentBlocker": false, "request": { "method": "GET", "path": "/api/platform/v1/iam/permissions" }, "http": 200, "code": "200", "message": "success", "requestId": "e36f26a6-bc74-4948-9af7-bf3c492a40e0, a591dd23-109a-4a02-9279-19b6d0227c59", "traceId": "8377b21d52d44447911e167eae2ac593", "evidence": "", "checkedAt": "2026-08-08T01:42:42.376Z" }, { "module": "system", "scenario": null, "name": "权限资源返回数组", "passed": true, "deploymentBlocker": false, "request": { "method": "GET", "path": "/api/platform/v1/iam/permissions" }, "http": 200, "code": "200", "message": "success", "requestId": "e36f26a6-bc74-4948-9af7-bf3c492a40e0, a591dd23-109a-4a02-9279-19b6d0227c59", "traceId": "8377b21d52d44447911e167eae2ac593", "evidence": "count=117", "checkedAt": "2026-08-08T01:42:42.376Z" }, { "module": "system", "scenario": null, "name": "创建自定义权限资源", "passed": true, "deploymentBlocker": false, "request": { "method": "POST", "path": "/api/platform/v1/iam/permissions" }, "http": 200, "code": "200", "message": "success", "requestId": "f48c31c1-3964-4472-bf35-c95b0dd825fe, 7d789d67-c137-4ff3-9320-f2c401480661", "traceId": "5de16dae865440ddaae00d5fe095c028", "evidence": "", "checkedAt": "2026-08-08T01:42:42.422Z" }, { "module": "system", "scenario": null, "name": "权限创建字段正确", "passed": true, "deploymentBlocker": false, "request": { "method": "POST", "path": "/api/platform/v1/iam/permissions" }, "http": 200, "code": "200", "message": "success", "requestId": "f48c31c1-3964-4472-bf35-c95b0dd825fe, 7d789d67-c137-4ff3-9320-f2c401480661", "traceId": "5de16dae865440ddaae00d5fe095c028", "evidence": "permissionId=2085904500002508801", "checkedAt": "2026-08-08T01:42:42.422Z" }, { "module": "system", "scenario": null, "name": "编辑自定义权限资源", "passed": true, "deploymentBlocker": false, "request": { "method": "PUT", "path": "/api/platform/v1/iam/permissions/2085904500002508801" }, "http": 200, "code": "200", "message": "success", "requestId": "11a26c6b-6bee-41ec-8cd7-3d9fac7dca0f, 0c63ba1f-5132-4b4b-a16a-a7fa213872d0", "traceId": "585636101cf84d279a9970c7f1dbd719", "evidence": "", "checkedAt": "2026-08-08T01:42:42.469Z" }, { "module": "system", "scenario": null, "name": "权限编辑正确回显", "passed": true, "deploymentBlocker": false, "request": { "method": "PUT", "path": "/api/platform/v1/iam/permissions/2085904500002508801" }, "http": 200, "code": "200", "message": "success", "requestId": "11a26c6b-6bee-41ec-8cd7-3d9fac7dca0f, 0c63ba1f-5132-4b4b-a16a-a7fa213872d0", "traceId": "585636101cf84d279a9970c7f1dbd719", "evidence": "permissionId=2085904500002508801", "checkedAt": "2026-08-08T01:42:42.470Z" }, { "module": "system", "scenario": null, "name": "停用自定义权限", "passed": true, "deploymentBlocker": false, "request": { "method": "PUT", "path": "/api/platform/v1/iam/permissions/2085904500002508801/status" }, "http": 200, "code": "200", "message": "success", "requestId": "f62d27df-0be8-41b8-88c3-73cecd3181ee, ea26caa1-a419-446c-b69a-379e623a57d0", "traceId": "142ba41e18454d84893bf68e1d283d4d", "evidence": "", "checkedAt": "2026-08-08T01:42:42.512Z" }, { "module": "system", "scenario": null, "name": "权限状态回显 DISABLED", "passed": true, "deploymentBlocker": false, "request": { "method": "PUT", "path": "/api/platform/v1/iam/permissions/2085904500002508801/status" }, "http": 200, "code": "200", "message": "success", "requestId": "f62d27df-0be8-41b8-88c3-73cecd3181ee, ea26caa1-a419-446c-b69a-379e623a57d0", "traceId": "142ba41e18454d84893bf68e1d283d4d", "evidence": "status=DISABLED", "checkedAt": "2026-08-08T01:42:42.512Z" }, { "module": "system", "scenario": null, "name": "启用自定义权限", "passed": true, "deploymentBlocker": false, "request": { "method": "PUT", "path": "/api/platform/v1/iam/permissions/2085904500002508801/status" }, "http": 200, "code": "200", "message": "success", "requestId": "313b41b0-85e4-4c89-9cd1-00170e341923, 3db0b9af-4cb3-4150-825f-3cfafd49afb9", "traceId": "37f04009ef6c4689b3c9079d58017cf1", "evidence": "", "checkedAt": "2026-08-08T01:42:42.557Z" }, { "module": "system", "scenario": null, "name": "权限状态回显 ACTIVE", "passed": true, "deploymentBlocker": false, "request": { "method": "PUT", "path": "/api/platform/v1/iam/permissions/2085904500002508801/status" }, "http": 200, "code": "200", "message": "success", "requestId": "313b41b0-85e4-4c89-9cd1-00170e341923, 3db0b9af-4cb3-4150-825f-3cfafd49afb9", "traceId": "37f04009ef6c4689b3c9079d58017cf1", "evidence": "status=ACTIVE", "checkedAt": "2026-08-08T01:42:42.557Z" }, { "module": "system", "scenario": null, "name": "创建平台自定义角色", "passed": true, "deploymentBlocker": false, "request": { "method": "POST", "path": "/api/platform/v1/iam/roles" }, "http": 200, "code": "200", "message": "success", "requestId": "8511affb-21aa-4323-9f68-1685c6f236cb, 46d1d027-ce93-46f2-b0a1-6d7eb866d4b8", "traceId": "a1a643e9f6754cde95fc3c2c41bd7ba8", "evidence": "", "checkedAt": "2026-08-08T01:42:42.595Z" }, { "module": "system", "scenario": null, "name": "角色创建字段正确", "passed": true, "deploymentBlocker": false, "request": { "method": "POST", "path": "/api/platform/v1/iam/roles" }, "http": 200, "code": "200", "message": "success", "requestId": "8511affb-21aa-4323-9f68-1685c6f236cb, 46d1d027-ce93-46f2-b0a1-6d7eb866d4b8", "traceId": "a1a643e9f6754cde95fc3c2c41bd7ba8", "evidence": "roleId=2085904500719734785", "checkedAt": "2026-08-08T01:42:42.595Z" }, { "module": "system", "scenario": null, "name": "编辑平台自定义角色", "passed": true, "deploymentBlocker": false, "request": { "method": "PUT", "path": "/api/platform/v1/iam/roles/2085904500719734785" }, "http": 200, "code": "200", "message": "success", "requestId": "fce1fefc-38bb-4ccd-99a9-fc26ad81ec82, 7c15617e-2dab-48d7-b3ab-ecf90d56e5f2", "traceId": "dbc1a05a1a7f44eea694561a34fe227d", "evidence": "", "checkedAt": "2026-08-08T01:42:42.644Z" }, { "module": "system", "scenario": null, "name": "角色编辑正确回显", "passed": true, "deploymentBlocker": false, "request": { "method": "PUT", "path": "/api/platform/v1/iam/roles/2085904500719734785" }, "http": 200, "code": "200", "message": "success", "requestId": "fce1fefc-38bb-4ccd-99a9-fc26ad81ec82, 7c15617e-2dab-48d7-b3ab-ecf90d56e5f2", "traceId": "dbc1a05a1a7f44eea694561a34fe227d", "evidence": "roleId=2085904500719734785", "checkedAt": "2026-08-08T01:42:42.644Z" }, { "module": "system", "scenario": null, "name": "角色全量保存权限", "passed": true, "deploymentBlocker": false, "request": { "method": "PUT", "path": "/api/platform/v1/iam/roles/permissions" }, "http": 200, "code": "200", "message": "success", "requestId": "fcb6411b-ba1c-4bf3-977d-ef826667c70a, f4205f34-944d-49a4-870b-f2e301a68f98", "traceId": "64504abb7fd248a288d14251aec09d16", "evidence": "", "checkedAt": "2026-08-08T01:42:42.690Z" }, { "module": "system", "scenario": null, "name": "回查平台角色列表", "passed": true, "deploymentBlocker": false, "request": { "method": "GET", "path": "/api/platform/v1/iam/roles" }, "http": 200, "code": "200", "message": "success", "requestId": "d06e1ae9-d9db-49a2-bbc0-09fcbea5d3d9, 62f3ee28-4b68-4de5-b702-be727085ab5a", "traceId": "3dae813f3d9a4433b2244c2e142ac4f8", "evidence": "", "checkedAt": "2026-08-08T01:42:42.722Z" }, { "module": "system", "scenario": null, "name": "角色权限 ID 正确回显", "passed": true, "deploymentBlocker": false, "request": { "method": "GET", "path": "/api/platform/v1/iam/roles" }, "http": 200, "code": "200", "message": "success", "requestId": "d06e1ae9-d9db-49a2-bbc0-09fcbea5d3d9, 62f3ee28-4b68-4de5-b702-be727085ab5a", "traceId": "3dae813f3d9a4433b2244c2e142ac4f8", "evidence": "permissionIds=2085904500002508801", "checkedAt": "2026-08-08T01:42:42.723Z" }, { "module": "system", "scenario": null, "name": "停用自定义角色", "passed": true, "deploymentBlocker": false, "request": { "method": "PUT", "path": "/api/platform/v1/iam/roles/2085904500719734785/status" }, "http": 200, "code": "200", "message": "success", "requestId": "ca6f833c-988a-4a5f-b6ee-22c83382d1f5, 1dd1994b-cf4e-4f29-b339-12472455c830", "traceId": "ff4a67a10c31417c81c9104a0711a7f8", "evidence": "", "checkedAt": "2026-08-08T01:42:42.768Z" }, { "module": "system", "scenario": null, "name": "角色状态回显 DISABLED", "passed": true, "deploymentBlocker": false, "request": { "method": "PUT", "path": "/api/platform/v1/iam/roles/2085904500719734785/status" }, "http": 200, "code": "200", "message": "success", "requestId": "ca6f833c-988a-4a5f-b6ee-22c83382d1f5, 1dd1994b-cf4e-4f29-b339-12472455c830", "traceId": "ff4a67a10c31417c81c9104a0711a7f8", "evidence": "status=DISABLED", "checkedAt": "2026-08-08T01:42:42.768Z" }, { "module": "system", "scenario": null, "name": "启用自定义角色", "passed": true, "deploymentBlocker": false, "request": { "method": "PUT", "path": "/api/platform/v1/iam/roles/2085904500719734785/status" }, "http": 200, "code": "200", "message": "success", "requestId": "cadd6dab-03cb-444a-ba06-fdf5b86b590f, 63df40e8-b0db-4a47-bd03-5c0c368d2cb5", "traceId": "06d30283bd724e808f13cfad977a2774", "evidence": "", "checkedAt": "2026-08-08T01:42:42.809Z" }, { "module": "system", "scenario": null, "name": "角色状态回显 ACTIVE", "passed": true, "deploymentBlocker": false, "request": { "method": "PUT", "path": "/api/platform/v1/iam/roles/2085904500719734785/status" }, "http": 200, "code": "200", "message": "success", "requestId": "cadd6dab-03cb-444a-ba06-fdf5b86b590f, 63df40e8-b0db-4a47-bd03-5c0c368d2cb5", "traceId": "06d30283bd724e808f13cfad977a2774", "evidence": "status=ACTIVE", "checkedAt": "2026-08-08T01:42:42.809Z" }, { "module": "system", "scenario": null, "name": "查询内部用户可选平台角色", "passed": true, "deploymentBlocker": false, "request": { "method": "GET", "path": "/api/platform/v1/iam/users/options" }, "http": 200, "code": "200", "message": "success", "requestId": "e33e566e-3092-46da-86cb-c474c8df6d0b, c29248bd-1584-4274-a8d6-14ed0968cf1c", "traceId": "793d2b8ee3ed4a179ee1476be55ca06b", "evidence": "", "checkedAt": "2026-08-08T01:42:42.853Z" }, { "module": "system", "scenario": null, "name": "用户选项包含平台与测试角色", "passed": true, "deploymentBlocker": false, "request": { "method": "GET", "path": "/api/platform/v1/iam/users/options" }, "http": 200, "code": "200", "message": "success", "requestId": "e33e566e-3092-46da-86cb-c474c8df6d0b, c29248bd-1584-4274-a8d6-14ed0968cf1c", "traceId": "793d2b8ee3ed4a179ee1476be55ca06b", "evidence": "tenants=1, roles=5", "checkedAt": "2026-08-08T01:42:42.853Z" }, { "module": "system", "scenario": null, "name": "检查测试联系电话可用性", "passed": true, "deploymentBlocker": false, "request": { "method": "GET", "path": "/api/platform/v1/iam/tenants/contact-phone-availability?contactPhone=16153362853" }, "http": 200, "code": "200", "message": "success", "requestId": "71fbc173-8c2f-42cd-a90f-66da41cd0f90, fdc437e8-6a73-4da1-8825-0da398a57849", "traceId": "d8b5129ade20418fa8b33dfb7d70d994", "evidence": "attempt=1", "checkedAt": "2026-08-08T01:42:42.908Z" }, { "module": "system", "scenario": null, "name": "创建平台内部用户", "passed": true, "deploymentBlocker": false, "request": { "method": "POST", "path": "/api/platform/v1/iam/users" }, "http": 200, "code": "200", "message": "success", "requestId": "f62c3b70-358e-4c0d-9ab8-87818d12fcb7, ef8398dd-3382-4746-a392-b514e79bcf36", "traceId": "07c0df68cf2c470f816cbf06d1220f29", "evidence": "", "checkedAt": "2026-08-08T01:42:43.300Z" }, { "module": "system", "scenario": null, "name": "内部用户账号、平台范围和角色正确", "passed": true, "deploymentBlocker": false, "request": { "method": "POST", "path": "/api/platform/v1/iam/users" }, "http": 200, "code": "200", "message": "success", "requestId": "f62c3b70-358e-4c0d-9ab8-87818d12fcb7, ef8398dd-3382-4746-a392-b514e79bcf36", "traceId": "07c0df68cf2c470f816cbf06d1220f29", "evidence": "membershipId=2085904502246461444", "checkedAt": "2026-08-08T01:42:43.300Z" }, { "module": "system", "scenario": null, "name": "按账号查询平台内部用户", "passed": true, "deploymentBlocker": false, "request": { "method": "GET", "path": "/api/platform/v1/iam/users?page=1&size=20&keyword=admin_accept_808014241953" }, "http": 200, "code": "200", "message": "success", "requestId": "24d51f86-af43-4a2a-b953-f9bcb57f1639, dfe7e908-1437-48dd-ba63-ac82d87291ff", "traceId": "553ba9d384834849aa038240a317c3e3", "evidence": "", "checkedAt": "2026-08-08T01:42:43.346Z" }, { "module": "system", "scenario": null, "name": "用户列表包含新账号且字段完整", "passed": false, "deploymentBlocker": false, "request": { "method": "GET", "path": "/api/platform/v1/iam/users?page=1&size=20&keyword=admin_accept_808014241953" }, "http": 200, "code": "200", "message": "success", "requestId": "24d51f86-af43-4a2a-b953-f9bcb57f1639, dfe7e908-1437-48dd-ba63-ac82d87291ff", "traceId": "553ba9d384834849aa038240a317c3e3", "evidence": "records=1", "checkedAt": "2026-08-08T01:42:43.346Z" }, { "module": "system", "scenario": null, "name": "编辑平台内部用户", "passed": true, "deploymentBlocker": false, "request": { "method": "PUT", "path": "/api/platform/v1/iam/users/2085904502246461444" }, "http": 200, "code": "200", "message": "success", "requestId": "68357647-6e2c-477b-bca6-355c2ac8c336, 8abe4456-e213-449d-8f95-f5a7aa8cd269", "traceId": "3db6a0906cbe4a84a6857fb4e7f36590", "evidence": "", "checkedAt": "2026-08-08T01:42:43.511Z" }, { "module": "system", "scenario": null, "name": "用户编辑正确回显", "passed": true, "deploymentBlocker": false, "request": { "method": "PUT", "path": "/api/platform/v1/iam/users/2085904502246461444" }, "http": 200, "code": "200", "message": "success", "requestId": "68357647-6e2c-477b-bca6-355c2ac8c336, 8abe4456-e213-449d-8f95-f5a7aa8cd269", "traceId": "3db6a0906cbe4a84a6857fb4e7f36590", "evidence": "membershipId=2085904502246461444", "checkedAt": "2026-08-08T01:42:43.511Z" }, { "module": "system", "scenario": null, "name": "新建内部用户可使用初始密码登录", "passed": true, "deploymentBlocker": false, "request": { "method": "POST", "path": "/api/auth/login" }, "http": 200, "code": "200", "message": "success", "requestId": "5511e82f-3d3e-4684-b19e-fd546995d376, 922bfcd5-e74f-4301-8109-341b9f0f4c70", "traceId": "cbb48c8b80814e8ab54653d07691886d", "evidence": "username=admin_accept_808014241953", "checkedAt": "2026-08-08T01:42:43.854Z" }, { "module": "system", "scenario": null, "name": "重置平台内部用户密码", "passed": true, "deploymentBlocker": false, "request": { "method": "PUT", "path": "/api/platform/v1/iam/users/2085904502246461444/password" }, "http": 200, "code": "200", "message": "success", "requestId": "6c82688d-5c61-42b0-898e-df93f46472c1, f4814fac-39a0-4274-9d7e-1b4622b3c253", "traceId": "7a921093f9254c74bdee43dbb4d4fed4", "evidence": "", "checkedAt": "2026-08-08T01:42:44.270Z" }, { "module": "system", "scenario": null, "name": "内部用户使用重置密码登录", "passed": true, "deploymentBlocker": false, "request": { "method": "POST", "path": "/api/auth/login" }, "http": 200, "code": "200", "message": "success", "requestId": "f0ba5839-c929-46b1-b88d-3b9efd55631f, a1f453b3-e0e4-48e1-af8b-f39e8e329d33", "traceId": "29e4cadeb808446bbea7ce36dc0e8c1d", "evidence": "username=admin_accept_808014241953", "checkedAt": "2026-08-08T01:42:44.608Z" }, { "module": "system", "scenario": null, "name": "清空测试用户角色", "passed": false, "deploymentBlocker": false, "request": { "method": "PUT", "path": "/api/platform/v1/iam/users/2085904502246461444" }, "http": 200, "code": "A0400", "message": "请选择角色", "requestId": "395f3729-59d8-4318-8635-2e982d65689b", "traceId": "939f0b64578644f48ad600c6c71945ef", "evidence": "", "checkedAt": "2026-08-08T01:42:44.635Z" }, { "module": "system", "scenario": null, "name": "测试用户角色已清空", "passed": false, "deploymentBlocker": false, "request": { "method": "PUT", "path": "/api/platform/v1/iam/users/2085904502246461444" }, "http": 200, "code": "A0400", "message": "请选择角色", "requestId": "395f3729-59d8-4318-8635-2e982d65689b", "traceId": "939f0b64578644f48ad600c6c71945ef", "evidence": "roleCount=n/a", "checkedAt": "2026-08-08T01:42:44.635Z" }, { "module": "system", "scenario": null, "name": "停用平台内部用户", "passed": true, "deploymentBlocker": false, "request": { "method": "PUT", "path": "/api/platform/v1/iam/users/2085904502246461444/status" }, "http": 200, "code": "200", "message": "success", "requestId": "40821960-2d23-48db-8e38-a8ccf2e86bfa, abe3d3aa-b6e5-4c0c-ac15-e504bf62755e", "traceId": "8fd0f9b1fd6c43a188373514dd8608a1", "evidence": "", "checkedAt": "2026-08-08T01:42:44.763Z" }, { "module": "system", "scenario": null, "name": "内部用户停用状态正确", "passed": true, "deploymentBlocker": false, "request": { "method": "PUT", "path": "/api/platform/v1/iam/users/2085904502246461444/status" }, "http": 200, "code": "200", "message": "success", "requestId": "40821960-2d23-48db-8e38-a8ccf2e86bfa, abe3d3aa-b6e5-4c0c-ac15-e504bf62755e", "traceId": "8fd0f9b1fd6c43a188373514dd8608a1", "evidence": "status=DISABLED", "checkedAt": "2026-08-08T01:42:44.763Z" }, { "module": "system", "scenario": null, "name": "停用用户禁止登录", "passed": true, "deploymentBlocker": false, "request": { "method": "POST", "path": "/api/auth/login" }, "http": 200, "code": "A0403", "message": "账号已禁用", "requestId": "1f6bc9f9-775d-48fe-98da-ce14dda250bd", "traceId": "2dcc3aa5601b45ed9156cc891a552355", "evidence": "HTTP=200, code=A0403", "checkedAt": "2026-08-08T01:42:44.784Z" }, { "module": "system", "scenario": null, "name": "清空测试角色权限", "passed": true, "deploymentBlocker": false, "request": { "method": "PUT", "path": "/api/platform/v1/iam/roles/permissions" }, "http": 200, "code": "200", "message": "success", "requestId": "bbbeb1a1-67aa-460e-98b1-a1812794bca2, 10868182-906f-46ac-8748-ca18bfce29a8", "traceId": "ebe468e6eb214e0d8e34d2e2ba59c883", "evidence": "", "checkedAt": "2026-08-08T01:42:44.829Z" }, { "module": "system", "scenario": null, "name": "删除临时测试角色", "passed": false, "deploymentBlocker": false, "request": { "method": "DELETE", "path": "/api/platform/v1/iam/roles/2085904500719734785" }, "http": 200, "code": "A0409", "message": "角色已分配给成员,不能删除", "requestId": "b3b98661-969b-415c-a3f9-2a1f70157be7", "traceId": "0e2cbc17e3a74107af588bda5a93af0e", "evidence": "", "checkedAt": "2026-08-08T01:42:44.870Z" }, { "module": "system", "scenario": null, "name": "删除临时权限资源", "passed": true, "deploymentBlocker": false, "request": { "method": "DELETE", "path": "/api/platform/v1/iam/permissions/2085904500002508801" }, "http": 200, "code": "200", "message": "success", "requestId": "eef358f2-dcd2-40db-86ce-bf615ad78de7, b6858e45-82fc-4e16-94ac-2b25c056d16f", "traceId": "921ba4d6c2cd46779d63851ae9b1617e", "evidence": "", "checkedAt": "2026-08-08T01:42:44.907Z" } ] }