Files
baiyue-firstleg/reports/admin-supplemental-expanded.json
T
2026-08-08 11:33:18 +08:00

1392 lines
48 KiB
JSON

{
"reportName": "后台管理测试环境 HTTP API 验收",
"marker": "ADMIN-API-20260808032536000",
"gateway": "http://8.163.30.128:9000",
"generatedAt": "2026-08-08T03:25:38.294Z",
"startedAt": "2026-08-08T03:25:36.000Z",
"success": false,
"fatal": null,
"summary": {
"total": 75,
"passed": 74,
"failed": 1
},
"modules": [
{
"name": "supplemental",
"startedAt": "2026-08-08T03:25:36.380Z",
"finishedAt": "2026-08-08T03:25:38.294Z",
"success": false,
"passed": 73,
"failed": 1,
"fatal": null
}
],
"scenarios": [],
"deploymentBlockers": [],
"createdResources": {},
"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": "c1f5c5ad-b4fc-4ab4-afb2-a7e1d45c32e1, 90eac2e9-92d3-4bce-b97c-aa26353416a3",
"traceId": "a03dcdd5ca124120839f928a76a0510e",
"evidence": "",
"checkedAt": "2026-08-08T03:25:36.379Z"
},
{
"module": "supplemental",
"scenario": null,
"name": "order-service 状态响应使用统一成功体",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/orders/status"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "1513ad62-e899-4b85-a729-1fe8af7fc01d, a2d800ee-3883-4203-aea9-2cef31a18010",
"traceId": "f468f7fe9a124570a08a581424291ba8",
"evidence": "HTTP=200, code=200",
"checkedAt": "2026-08-08T03:25:36.418Z"
},
{
"module": "supplemental",
"scenario": null,
"name": "order-service 状态字段完整且 readiness 语义明确",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/orders/status"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "1513ad62-e899-4b85-a729-1fe8af7fc01d, a2d800ee-3883-4203-aea9-2cef31a18010",
"traceId": "f468f7fe9a124570a08a581424291ba8",
"evidence": "service=order-service, status=UP, readiness=UP",
"checkedAt": "2026-08-08T03:25:36.418Z"
},
{
"module": "supplemental",
"scenario": null,
"name": "firstleg-service 状态响应使用统一成功体",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/first-leg/status"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "bb12c6ca-39e7-4442-ac18-387cacac54e9, 8887178a-b520-4469-b31d-c84d855f43d8",
"traceId": "d16e933af84547e583a2f760c3cc7807",
"evidence": "HTTP=200, code=200",
"checkedAt": "2026-08-08T03:25:36.459Z"
},
{
"module": "supplemental",
"scenario": null,
"name": "firstleg-service 状态字段完整且 readiness 语义明确",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/first-leg/status"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "bb12c6ca-39e7-4442-ac18-387cacac54e9, 8887178a-b520-4469-b31d-c84d855f43d8",
"traceId": "d16e933af84547e583a2f760c3cc7807",
"evidence": "service=firstleg-service, status=UP, readiness=UP",
"checkedAt": "2026-08-08T03:25:36.459Z"
},
{
"module": "supplemental",
"scenario": null,
"name": "file-service 状态响应使用统一成功体",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/files/status"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "e8abdc0b-24de-4f6e-b79c-baf341c0e6be, 51855fc1-09ff-4256-9b58-ec2254b2558c",
"traceId": "b578738cb7674ad9a7e93e35ffaaf8d9",
"evidence": "HTTP=200, code=200",
"checkedAt": "2026-08-08T03:25:36.487Z"
},
{
"module": "supplemental",
"scenario": null,
"name": "file-service 状态字段完整且 readiness 语义明确",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/files/status"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "e8abdc0b-24de-4f6e-b79c-baf341c0e6be, 51855fc1-09ff-4256-9b58-ec2254b2558c",
"traceId": "b578738cb7674ad9a7e93e35ffaaf8d9",
"evidence": "service=file-service, status=UP, readiness=UP",
"checkedAt": "2026-08-08T03:25:36.487Z"
},
{
"module": "supplemental",
"scenario": null,
"name": "warehouse-service 状态响应使用统一成功体",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/warehouses/status"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "fc5e45b8-e8eb-48ea-b81c-06ebf2f2bf9b, 2b2d27e8-7678-47cc-9459-a137107db067",
"traceId": "be7deb2fa9c24630b2f0ddc787695e8b",
"evidence": "HTTP=200, code=200",
"checkedAt": "2026-08-08T03:25:36.521Z"
},
{
"module": "supplemental",
"scenario": null,
"name": "warehouse-service 状态字段完整且 readiness 语义明确",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/warehouses/status"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "fc5e45b8-e8eb-48ea-b81c-06ebf2f2bf9b, 2b2d27e8-7678-47cc-9459-a137107db067",
"traceId": "be7deb2fa9c24630b2f0ddc787695e8b",
"evidence": "service=warehouse-service, status=UP, readiness=UP",
"checkedAt": "2026-08-08T03:25:36.521Z"
},
{
"module": "supplemental",
"scenario": null,
"name": "平台接口未携带令牌返回 401",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/orders/status"
},
"http": 401,
"code": "A0401",
"message": "未登录或令牌已失效",
"requestId": "f1373743-665",
"traceId": null,
"evidence": "HTTP=401, code=A0401",
"checkedAt": "2026-08-08T03:25:36.540Z"
},
{
"module": "supplemental",
"scenario": null,
"name": "平台接口伪造令牌返回 401",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/orders/status"
},
"http": 401,
"code": "A0401",
"message": "未登录或令牌已失效",
"requestId": "c3c915cf-666",
"traceId": null,
"evidence": "HTTP=401, code=A0401",
"checkedAt": "2026-08-08T03:25:36.557Z"
},
{
"module": "supplemental",
"scenario": null,
"name": "未认证请求不返回业务成功码",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/orders/status"
},
"http": 401,
"code": "A0401",
"message": "未登录或令牌已失效",
"requestId": "f1373743-667",
"traceId": null,
"evidence": "HTTP=401, code=A0401",
"checkedAt": "2026-08-08T03:25:36.572Z"
},
{
"module": "supplemental",
"scenario": "master-data-readonly",
"name": "仓库分页查询",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/warehouse-admin?page=1&size=5&status=ACTIVE"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "607181c5-41bb-427a-a81b-2ab67bb37834, c1c811ae-61f3-4a19-86da-d30d01e14923",
"traceId": "eafb60897f524a4aa96e926e45583940",
"evidence": "path=/api/platform/v1/warehouse-admin?page=1&size=5&status=ACTIVE",
"checkedAt": "2026-08-08T03:25:36.602Z"
},
{
"module": "supplemental",
"scenario": "master-data-readonly",
"name": "仓库分页结构与记录数组正确",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/warehouse-admin?page=1&size=5&status=ACTIVE"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "607181c5-41bb-427a-a81b-2ab67bb37834, c1c811ae-61f3-4a19-86da-d30d01e14923",
"traceId": "eafb60897f524a4aa96e926e45583940",
"evidence": "records=5, current=1, size=5",
"checkedAt": "2026-08-08T03:25:36.602Z"
},
{
"module": "supplemental",
"scenario": "master-data-readonly",
"name": "仓库筛选分页查询",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/warehouse-admin?page=1&size=5&tenantId=0&warehouseType=FBA"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "98f25529-0cb2-41bc-9095-74eb4f753811, 8feda78e-0751-44f8-b1d7-64eb4ab99bca",
"traceId": "c083362d4acd4114a2a2941cffb58e15",
"evidence": "path=/api/platform/v1/warehouse-admin?page=1&size=5&tenantId=0&warehouseType=FBA",
"checkedAt": "2026-08-08T03:25:36.635Z"
},
{
"module": "supplemental",
"scenario": "master-data-readonly",
"name": "仓库筛选分页结构与记录数组正确",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/warehouse-admin?page=1&size=5&tenantId=0&warehouseType=FBA"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "98f25529-0cb2-41bc-9095-74eb4f753811, 8feda78e-0751-44f8-b1d7-64eb4ab99bca",
"traceId": "c083362d4acd4114a2a2941cffb58e15",
"evidence": "records=5, current=1, size=5",
"checkedAt": "2026-08-08T03:25:36.635Z"
},
{
"module": "supplemental",
"scenario": "master-data-readonly",
"name": "仓库非法状态安全失败",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/warehouse-admin?page=1&size=5&status=NOT_A_STATUS"
},
"http": 200,
"code": "A0422",
"message": "status: must match \"ACTIVE|INACTIVE\"",
"requestId": "5aef2c6e-eb15-4c41-bef6-bfdad4261daf",
"traceId": "618914aff1824e7bb13ecf9fab6b7119",
"evidence": "HTTP=200, code=A0422",
"checkedAt": "2026-08-08T03:25:36.658Z"
},
{
"module": "supplemental",
"scenario": "master-data-readonly",
"name": "仓库客户作用域安全失败",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/warehouse-admin?page=1&size=5&tenantId=10001"
},
"http": 200,
"code": "A0400",
"message": "Platform resource scope must be 0 / 平台公共资源作用域必须为0",
"requestId": "2e9b7b5e-8e2c-4be7-a450-c197613bae25",
"traceId": "fb9da59139e64164850dd9e1c7763100",
"evidence": "HTTP=200, code=A0400",
"checkedAt": "2026-08-08T03:25:36.691Z"
},
{
"module": "supplemental",
"scenario": "warehouse-resources",
"name": "库位分页查询",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/locations?page=1&size=5&tenantId=0"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "88c38d25-6ee1-4f18-8a53-0e54c0ff15e0, b71e2acd-b6d0-4dad-89af-cab310463139",
"traceId": "be7a979ff290482ea413188065becdb5",
"evidence": "path=/api/platform/v1/locations?page=1&size=5&tenantId=0",
"checkedAt": "2026-08-08T03:25:36.724Z"
},
{
"module": "supplemental",
"scenario": "warehouse-resources",
"name": "库位分页结构与记录数组正确",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/locations?page=1&size=5&tenantId=0"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "88c38d25-6ee1-4f18-8a53-0e54c0ff15e0, b71e2acd-b6d0-4dad-89af-cab310463139",
"traceId": "be7a979ff290482ea413188065becdb5",
"evidence": "records=3, current=1, size=5",
"checkedAt": "2026-08-08T03:25:36.724Z"
},
{
"module": "supplemental",
"scenario": "warehouse-resources",
"name": "托盘分页查询",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/pallets?page=1&size=5&tenantId=0"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "21d147bd-af43-4940-93ec-498136667752, 3ad8c2d3-6554-4e38-8001-91b041518201",
"traceId": "ee97129fea244114b25919631854f4fe",
"evidence": "path=/api/platform/v1/pallets?page=1&size=5&tenantId=0",
"checkedAt": "2026-08-08T03:25:36.750Z"
},
{
"module": "supplemental",
"scenario": "warehouse-resources",
"name": "托盘分页结构与记录数组正确",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/pallets?page=1&size=5&tenantId=0"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "21d147bd-af43-4940-93ec-498136667752, 3ad8c2d3-6554-4e38-8001-91b041518201",
"traceId": "ee97129fea244114b25919631854f4fe",
"evidence": "records=3, current=1, size=5",
"checkedAt": "2026-08-08T03:25:36.750Z"
},
{
"module": "supplemental",
"scenario": "warehouse-resources",
"name": "库位仓库筛选分页查询",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/locations?page=1&size=5&tenantId=0&warehouseId=193000000000000001"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "b9d11413-fdd8-49ef-adb4-231734736252, 4f2927a0-9336-4118-b67e-5a2a0df2e85e",
"traceId": "e38235f41ad548cea8064ac574bb6c15",
"evidence": "path=/api/platform/v1/locations?page=1&size=5&tenantId=0&warehouseId=193000000000000001",
"checkedAt": "2026-08-08T03:25:36.786Z"
},
{
"module": "supplemental",
"scenario": "warehouse-resources",
"name": "库位仓库筛选分页结构与记录数组正确",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/locations?page=1&size=5&tenantId=0&warehouseId=193000000000000001"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "b9d11413-fdd8-49ef-adb4-231734736252, 4f2927a0-9336-4118-b67e-5a2a0df2e85e",
"traceId": "e38235f41ad548cea8064ac574bb6c15",
"evidence": "records=0, current=1, size=5",
"checkedAt": "2026-08-08T03:25:36.786Z"
},
{
"module": "supplemental",
"scenario": "warehouse-resources",
"name": "托盘仓库筛选分页查询",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/pallets?page=1&size=5&tenantId=0&warehouseId=193000000000000001"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "843f2c4b-6cec-4fc6-98d9-194b9ff69d0c, 44fd5c70-37d0-45dc-83d8-0efe10fcb28b",
"traceId": "f9afd388ccd0402cbec8a02bd629b161",
"evidence": "path=/api/platform/v1/pallets?page=1&size=5&tenantId=0&warehouseId=193000000000000001",
"checkedAt": "2026-08-08T03:25:36.816Z"
},
{
"module": "supplemental",
"scenario": "warehouse-resources",
"name": "托盘仓库筛选分页结构与记录数组正确",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/pallets?page=1&size=5&tenantId=0&warehouseId=193000000000000001"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "843f2c4b-6cec-4fc6-98d9-194b9ff69d0c, 44fd5c70-37d0-45dc-83d8-0efe10fcb28b",
"traceId": "f9afd388ccd0402cbec8a02bd629b161",
"evidence": "records=0, current=1, size=5",
"checkedAt": "2026-08-08T03:25:36.816Z"
},
{
"module": "supplemental",
"scenario": "warehouse-resources",
"name": "库位客户作用域安全失败",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/locations?page=1&size=5&tenantId=10001"
},
"http": 200,
"code": "A0400",
"message": "平台公共资源作用域必须为0",
"requestId": "48aa9361-8aab-43b2-9ac2-7368ca88fb66",
"traceId": "f714f494202f4992b2cecead0be7318a",
"evidence": "HTTP=200, code=A0400",
"checkedAt": "2026-08-08T03:25:36.843Z"
},
{
"module": "supplemental",
"scenario": "warehouse-resources",
"name": "托盘客户作用域安全失败",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/pallets?page=1&size=5&tenantId=10001"
},
"http": 200,
"code": "A0400",
"message": "平台公共资源作用域必须为0",
"requestId": "a717abc2-984b-4770-ae42-089e578d47cc",
"traceId": "502c8204493b4df890262f7a8b290af7",
"evidence": "HTTP=200, code=A0400",
"checkedAt": "2026-08-08T03:25:36.875Z"
},
{
"module": "supplemental",
"scenario": "warehouse-resources",
"name": "库位非法状态安全失败",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/locations?page=1&size=5&tenantId=0&status=ALLOCATED"
},
"http": 200,
"code": "A0422",
"message": "status: must match \"^(AVAILABLE|RESERVED|OCCUPIED|DISABLED)$\"",
"requestId": "92b76276-a0eb-4961-a0fc-5fa85fa758c8",
"traceId": "ca4259650bcf4fa99cd3a4a73dfb856f",
"evidence": "HTTP=200, code=A0422",
"checkedAt": "2026-08-08T03:25:36.905Z"
},
{
"module": "supplemental",
"scenario": "warehouse-resources",
"name": "库位过期版本/不存在资源不泄露或误修改数据",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/locations/999999999999?tenantId=0&warehouseId=999999999999"
},
"http": 200,
"code": "A0404",
"message": "库位不存在或超出当前企业仓库数据范围",
"requestId": "c2ed8dd6-488c-48b7-b203-66b5d9e6dc08",
"traceId": "1d2c2eca876c4c2db1aa6ddbe99ee7e2",
"evidence": "HTTP=200, code=A0404",
"checkedAt": "2026-08-08T03:25:36.939Z"
},
{
"module": "supplemental",
"scenario": "warehouse-resources",
"name": "托盘占用资源保护边界不泄露或误修改数据",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/pallets/999999999999?tenantId=0&warehouseId=999999999999"
},
"http": 200,
"code": "A0404",
"message": "托盘不存在或不属于当前租户和仓库",
"requestId": "dfac4841-cf1e-46a1-967a-bc104a47e6e4",
"traceId": "7b578de78da842cfb900e35a90ba3ff6",
"evidence": "HTTP=200, code=A0404",
"checkedAt": "2026-08-08T03:25:36.969Z"
},
{
"module": "supplemental",
"scenario": "shared-master-data",
"name": "快递公司分页查询",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/express-companies?page=1&size=5&tenantId=0&status=ACTIVE"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "74508bb3-52b9-4ff1-b9c0-56fdcea19e36, dd63c2ae-3c1d-4cbf-91a7-e3f7ca59c7e2",
"traceId": "5c90e444dcb9494f834000ee069c2546",
"evidence": "path=/api/platform/v1/express-companies?page=1&size=5&tenantId=0&status=ACTIVE",
"checkedAt": "2026-08-08T03:25:36.995Z"
},
{
"module": "supplemental",
"scenario": "shared-master-data",
"name": "快递公司分页结构与记录数组正确",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/express-companies?page=1&size=5&tenantId=0&status=ACTIVE"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "74508bb3-52b9-4ff1-b9c0-56fdcea19e36, dd63c2ae-3c1d-4cbf-91a7-e3f7ca59c7e2",
"traceId": "5c90e444dcb9494f834000ee069c2546",
"evidence": "records=4, current=1, size=5",
"checkedAt": "2026-08-08T03:25:36.995Z"
},
{
"module": "supplemental",
"scenario": "shared-master-data",
"name": "快递公司停用筛选分页查询",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/express-companies?page=1&size=5&tenantId=0&status=INACTIVE"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "b1e005d7-0519-41ba-b123-018c6a732a0b, 301aa9c4-7033-44c4-9fa3-3ef29362e15c",
"traceId": "37f4886da53a4d91a6b7c0ebd3dc4da1",
"evidence": "path=/api/platform/v1/express-companies?page=1&size=5&tenantId=0&status=INACTIVE",
"checkedAt": "2026-08-08T03:25:37.036Z"
},
{
"module": "supplemental",
"scenario": "shared-master-data",
"name": "快递公司停用筛选分页结构与记录数组正确",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/express-companies?page=1&size=5&tenantId=0&status=INACTIVE"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "b1e005d7-0519-41ba-b123-018c6a732a0b, 301aa9c4-7033-44c4-9fa3-3ef29362e15c",
"traceId": "37f4886da53a4d91a6b7c0ebd3dc4da1",
"evidence": "records=4, current=1, size=5",
"checkedAt": "2026-08-08T03:25:37.036Z"
},
{
"module": "supplemental",
"scenario": "shared-master-data",
"name": "快递公司状态枚举过滤不混入其他状态",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/express-companies?page=1&size=5&tenantId=0&status=INACTIVE"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "b1e005d7-0519-41ba-b123-018c6a732a0b, 301aa9c4-7033-44c4-9fa3-3ef29362e15c",
"traceId": "37f4886da53a4d91a6b7c0ebd3dc4da1",
"evidence": "records=4",
"checkedAt": "2026-08-08T03:25:37.036Z"
},
{
"module": "supplemental",
"scenario": "shared-master-data",
"name": "快递公司无效筛选参数安全失败",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/express-companies?page=1&size=5&tenantId=0&status=UNKNOWN"
},
"http": 200,
"code": "A0422",
"message": "status: must match \"^(ACTIVE|INACTIVE)$\"",
"requestId": "dd1c1747-77d2-425a-860d-e812a9942a2b",
"traceId": "d631ed3b3f1c4c428638b77fc332f458",
"evidence": "HTTP=200, code=A0422",
"checkedAt": "2026-08-08T03:25:37.063Z"
},
{
"module": "supplemental",
"scenario": "shared-master-data",
"name": "往来单位分页查询",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/partners?page=1&size=5&tenantId=0&status=ACTIVE"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "77805f81-9577-4b3c-9ba2-02c0b4b1eb67, fccf7259-88b4-478f-9619-845109d2e8f1",
"traceId": "ddbe761bf7b94eee969fa8af8afa55d3",
"evidence": "path=/api/platform/v1/partners?page=1&size=5&tenantId=0&status=ACTIVE",
"checkedAt": "2026-08-08T03:25:37.099Z"
},
{
"module": "supplemental",
"scenario": "shared-master-data",
"name": "往来单位分页结构与记录数组正确",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/partners?page=1&size=5&tenantId=0&status=ACTIVE"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "77805f81-9577-4b3c-9ba2-02c0b4b1eb67, fccf7259-88b4-478f-9619-845109d2e8f1",
"traceId": "ddbe761bf7b94eee969fa8af8afa55d3",
"evidence": "records=5, current=1, size=5",
"checkedAt": "2026-08-08T03:25:37.099Z"
},
{
"module": "supplemental",
"scenario": "shared-master-data",
"name": "往来单位停用筛选分页查询",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/partners?page=1&size=5&tenantId=0&status=INACTIVE"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "3c381c31-1f7a-4629-84d1-3888655a980d, de722a9e-2eae-4e05-a09a-a8b383fdcc68",
"traceId": "20e47934d8af4427a0ce2bc604e74b1b",
"evidence": "path=/api/platform/v1/partners?page=1&size=5&tenantId=0&status=INACTIVE",
"checkedAt": "2026-08-08T03:25:37.142Z"
},
{
"module": "supplemental",
"scenario": "shared-master-data",
"name": "往来单位停用筛选分页结构与记录数组正确",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/partners?page=1&size=5&tenantId=0&status=INACTIVE"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "3c381c31-1f7a-4629-84d1-3888655a980d, de722a9e-2eae-4e05-a09a-a8b383fdcc68",
"traceId": "20e47934d8af4427a0ce2bc604e74b1b",
"evidence": "records=3, current=1, size=5",
"checkedAt": "2026-08-08T03:25:37.142Z"
},
{
"module": "supplemental",
"scenario": "shared-master-data",
"name": "往来单位状态枚举过滤不混入其他状态",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/partners?page=1&size=5&tenantId=0&status=INACTIVE"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "3c381c31-1f7a-4629-84d1-3888655a980d, de722a9e-2eae-4e05-a09a-a8b383fdcc68",
"traceId": "20e47934d8af4427a0ce2bc604e74b1b",
"evidence": "records=3",
"checkedAt": "2026-08-08T03:25:37.142Z"
},
{
"module": "supplemental",
"scenario": "shared-master-data",
"name": "往来单位无效筛选参数安全失败",
"passed": false,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/partners?page=1&size=5&tenantId=0&types=UNKNOWN_TYPE"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "db38f335-fb4e-4384-af6c-ca8c95dc750f, c679581d-5503-4b96-b2a7-94dd69fd1d24",
"traceId": "e971f86f945c42128e07d7693c3d38b4",
"evidence": "HTTP=200, code=200",
"checkedAt": "2026-08-08T03:25:37.176Z"
},
{
"module": "supplemental",
"scenario": "shared-master-data",
"name": "仓库导入模板为 XLSX 且不记录二进制",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/warehouse-admin/import-template"
},
"http": 200,
"code": null,
"message": "3852 bytes (application/vnd.openxmlformats-officedocument.spreadsheetml.sheet)",
"requestId": "d95a7d28-bd7a-4e7f-b045-bc2125f30999, 0eaa1473-e60f-4cc0-9f39-9721b8e39835",
"traceId": "55626c3e4b5f44cc979f18f9a4a05176",
"evidence": "HTTP=200, bytes=3852, contentType=application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
"checkedAt": "2026-08-08T03:25:37.244Z"
},
{
"module": "supplemental",
"scenario": "shared-master-data",
"name": "快递公司导入模板为 XLSX 且不记录二进制",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/express-companies/import-template"
},
"http": 200,
"code": null,
"message": "3691 bytes (application/vnd.openxmlformats-officedocument.spreadsheetml.sheet)",
"requestId": "ced5859d-7df3-408f-8325-b439b9588d44, 6a602d51-cf2f-47e8-9b3b-ac3ab07121ab",
"traceId": "513b28a2427c473b900fab2d197e36ab",
"evidence": "HTTP=200, bytes=3691, contentType=application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
"checkedAt": "2026-08-08T03:25:37.298Z"
},
{
"module": "supplemental",
"scenario": "shared-master-data",
"name": "往来单位导入模板为 XLSX 且不记录二进制",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/partners/import-template"
},
"http": 200,
"code": null,
"message": "3829 bytes (application/vnd.openxmlformats-officedocument.spreadsheetml.sheet)",
"requestId": "2a1e72a8-a674-450e-94d4-96075b0c6ce2, e7a31eee-1291-4353-9429-46233e98fe05",
"traceId": "e1d05ac7bbfa428ca5de1e0bfff08a77",
"evidence": "HTTP=200, bytes=3829, contentType=application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
"checkedAt": "2026-08-08T03:25:37.357Z"
},
{
"module": "supplemental",
"scenario": "price-book-readonly",
"name": "船期价格表 PENDING_CONFIRMATION 状态过滤",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/fba-pricing/carrier-rates/price-books?status=PENDING_CONFIRMATION"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "971c9582-983d-490a-bea8-da9fbde8c17d, 2ca55d43-b3a0-4fde-9876-52c33af594e1",
"traceId": "2dd9ea167d1e4a279abac6b9fe769ee2",
"evidence": "count=1",
"checkedAt": "2026-08-08T03:25:37.412Z"
},
{
"module": "supplemental",
"scenario": "price-book-readonly",
"name": "船期价格表 PENDING_CONFIRMATION 结果状态一致",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/fba-pricing/carrier-rates/price-books?status=PENDING_CONFIRMATION"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "971c9582-983d-490a-bea8-da9fbde8c17d, 2ca55d43-b3a0-4fde-9876-52c33af594e1",
"traceId": "2dd9ea167d1e4a279abac6b9fe769ee2",
"evidence": "count=1",
"checkedAt": "2026-08-08T03:25:37.412Z"
},
{
"module": "supplemental",
"scenario": "price-book-readonly",
"name": "船期价格表 ACTIVE 状态过滤",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/fba-pricing/carrier-rates/price-books?status=ACTIVE"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "6e42e278-dd4f-4800-ba1d-928451e79de8, 1e19e474-4186-41c0-8b10-139e55d859c9",
"traceId": "27541074399e42538725f964318addfd",
"evidence": "count=1",
"checkedAt": "2026-08-08T03:25:37.442Z"
},
{
"module": "supplemental",
"scenario": "price-book-readonly",
"name": "船期价格表 ACTIVE 结果状态一致",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/fba-pricing/carrier-rates/price-books?status=ACTIVE"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "6e42e278-dd4f-4800-ba1d-928451e79de8, 1e19e474-4186-41c0-8b10-139e55d859c9",
"traceId": "27541074399e42538725f964318addfd",
"evidence": "count=1",
"checkedAt": "2026-08-08T03:25:37.442Z"
},
{
"module": "supplemental",
"scenario": "price-book-readonly",
"name": "船期价格表 SUPERSEDED 状态过滤",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/fba-pricing/carrier-rates/price-books?status=SUPERSEDED"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "6391ae38-804f-43a8-b922-03e0751ecde4, f94da3fb-3b63-4de0-8b4f-3ed30130b266",
"traceId": "5541eff468af4dc5b4390d7d5a95cf17",
"evidence": "count=4",
"checkedAt": "2026-08-08T03:25:37.472Z"
},
{
"module": "supplemental",
"scenario": "price-book-readonly",
"name": "船期价格表 SUPERSEDED 结果状态一致",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/fba-pricing/carrier-rates/price-books?status=SUPERSEDED"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "6391ae38-804f-43a8-b922-03e0751ecde4, f94da3fb-3b63-4de0-8b4f-3ed30130b266",
"traceId": "5541eff468af4dc5b4390d7d5a95cf17",
"evidence": "count=4",
"checkedAt": "2026-08-08T03:25:37.472Z"
},
{
"module": "supplemental",
"scenario": "price-book-readonly",
"name": "读取现有生效价格版本用于下载安全检查",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/fba-pricing/carrier-rates/price-books?status=ACTIVE"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "a34d9d9b-4a36-4a11-8b26-df80fefbb94e, 5d2a6345-7621-4d0d-8ed5-e3030fa2509f",
"traceId": "d7fdcf654fb1423abe35e57c5d8cd7d1",
"evidence": "",
"checkedAt": "2026-08-08T03:25:37.503Z"
},
{
"module": "supplemental",
"scenario": "price-book-readonly",
"name": "现有生效价格源文件下载为 XLSX",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/fba-pricing/carrier-rates/price-books/2085910455296503809/source"
},
"http": 200,
"code": null,
"message": "1343413 bytes (application/vnd.openxmlformats-officedocument.spreadsheetml.sheet)",
"requestId": "90397ca9-ceb9-4aad-a697-7e9127c3ce8b, 7b63e12d-b612-47fb-831a-b3c5c4a982f2, 691fd7d0-22ca-40e8-ade0-f02ffe2572b1",
"traceId": "a3967be961484ac4a6bea77eb0e0b84d, 7bcd0c92be4d497e9d4544cf4861c2f4",
"evidence": "versionId=2085910455296503809, bytes=1343413, contentType=application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
"checkedAt": "2026-08-08T03:25:37.718Z"
},
{
"module": "supplemental",
"scenario": "download-readonly",
"name": "下载中心 PENDING 状态分页",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/files/export-tasks?page=1&size=5&status=PENDING"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "f424cc17-60cd-4a06-90d0-b79ce16ea053, 5c61c511-e4a0-4eda-8b09-d3cd98e1c8f5",
"traceId": "d5802754ba184d8aac43d20c6fc9c7a6",
"evidence": "",
"checkedAt": "2026-08-08T03:25:37.748Z"
},
{
"module": "supplemental",
"scenario": "download-readonly",
"name": "下载中心 PENDING 过滤结果状态一致",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/files/export-tasks?page=1&size=5&status=PENDING"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "f424cc17-60cd-4a06-90d0-b79ce16ea053, 5c61c511-e4a0-4eda-8b09-d3cd98e1c8f5",
"traceId": "d5802754ba184d8aac43d20c6fc9c7a6",
"evidence": "records=0",
"checkedAt": "2026-08-08T03:25:37.748Z"
},
{
"module": "supplemental",
"scenario": "download-readonly",
"name": "下载中心 RUNNING 状态分页",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/files/export-tasks?page=1&size=5&status=RUNNING"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "72aec517-0271-4436-9eef-b6dbf792332e, d7a42d79-1b62-42fc-aff9-e2e71d3b758b",
"traceId": "da1e015379a84142aa7d5de9e5e78554",
"evidence": "",
"checkedAt": "2026-08-08T03:25:37.777Z"
},
{
"module": "supplemental",
"scenario": "download-readonly",
"name": "下载中心 RUNNING 过滤结果状态一致",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/files/export-tasks?page=1&size=5&status=RUNNING"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "72aec517-0271-4436-9eef-b6dbf792332e, d7a42d79-1b62-42fc-aff9-e2e71d3b758b",
"traceId": "da1e015379a84142aa7d5de9e5e78554",
"evidence": "records=0",
"checkedAt": "2026-08-08T03:25:37.777Z"
},
{
"module": "supplemental",
"scenario": "download-readonly",
"name": "下载中心 SUCCEEDED 状态分页",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/files/export-tasks?page=1&size=5&status=SUCCEEDED"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "91384b2b-47e0-4d16-aa80-22388cec9a99, 4cc7a8b0-7427-4bce-b4ff-4c7e0ef3755b",
"traceId": "1d749b4ef12a45d680c5e66dcf2ebef5",
"evidence": "",
"checkedAt": "2026-08-08T03:25:37.813Z"
},
{
"module": "supplemental",
"scenario": "download-readonly",
"name": "下载中心 SUCCEEDED 过滤结果状态一致",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/files/export-tasks?page=1&size=5&status=SUCCEEDED"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "91384b2b-47e0-4d16-aa80-22388cec9a99, 4cc7a8b0-7427-4bce-b4ff-4c7e0ef3755b",
"traceId": "1d749b4ef12a45d680c5e66dcf2ebef5",
"evidence": "records=5",
"checkedAt": "2026-08-08T03:25:37.813Z"
},
{
"module": "supplemental",
"scenario": "download-readonly",
"name": "下载中心 FAILED 状态分页",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/files/export-tasks?page=1&size=5&status=FAILED"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "90139c85-e4a0-4f1f-a49a-3be39cb3488f, cb955f19-4c6e-4410-8a07-3c1eb03c2dd5",
"traceId": "add37c49cac7488d8ae9f67c5b21e74d",
"evidence": "",
"checkedAt": "2026-08-08T03:25:37.868Z"
},
{
"module": "supplemental",
"scenario": "download-readonly",
"name": "下载中心 FAILED 过滤结果状态一致",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/files/export-tasks?page=1&size=5&status=FAILED"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "90139c85-e4a0-4f1f-a49a-3be39cb3488f, cb955f19-4c6e-4410-8a07-3c1eb03c2dd5",
"traceId": "add37c49cac7488d8ae9f67c5b21e74d",
"evidence": "records=0",
"checkedAt": "2026-08-08T03:25:37.868Z"
},
{
"module": "supplemental",
"scenario": "download-readonly",
"name": "下载中心 EXPIRED 状态分页",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/files/export-tasks?page=1&size=5&status=EXPIRED"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "c3b76317-bb6e-4bf1-ae6e-ad1b7f36d2ec, 6b943a80-15f8-4e9a-beab-a132d7ec4469",
"traceId": "207725910baa4c07ad1290e2dbc28472",
"evidence": "",
"checkedAt": "2026-08-08T03:25:37.915Z"
},
{
"module": "supplemental",
"scenario": "download-readonly",
"name": "下载中心 EXPIRED 过滤结果状态一致",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/files/export-tasks?page=1&size=5&status=EXPIRED"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "c3b76317-bb6e-4bf1-ae6e-ad1b7f36d2ec, 6b943a80-15f8-4e9a-beab-a132d7ec4469",
"traceId": "207725910baa4c07ad1290e2dbc28472",
"evidence": "records=0",
"checkedAt": "2026-08-08T03:25:37.915Z"
},
{
"module": "supplemental",
"scenario": "download-readonly",
"name": "不存在下载任务详情安全失败",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/files/export-tasks/999999999999"
},
"http": 200,
"code": "A0404",
"message": "导出任务不存在",
"requestId": "1bd92d1b-be48-4864-902d-ba99723d4c26",
"traceId": "10179535796b4902a0af93e73fb047f5",
"evidence": "HTTP=200, code=A0404",
"checkedAt": "2026-08-08T03:25:37.954Z"
},
{
"module": "supplemental",
"scenario": "download-readonly",
"name": "不存在下载任务文件安全失败",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/files/export-tasks/999999999999/download"
},
"http": 200,
"code": "A0404",
"message": "导出任务不存在",
"requestId": "b06142d4-6c53-4717-ac82-a20cb0b17c53",
"traceId": "6a76344f3f9141c0920f546ede17cf83",
"evidence": "HTTP=200, code=A0404",
"checkedAt": "2026-08-08T03:25:37.988Z"
},
{
"module": "supplemental",
"scenario": "download-readonly",
"name": "未授权下载请求被拒绝",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/files/export-tasks/999999999999/download"
},
"http": 401,
"code": "A0401",
"message": "未登录或令牌已失效",
"requestId": "c3c915cf-702",
"traceId": null,
"evidence": "HTTP=401, code=A0401",
"checkedAt": "2026-08-08T03:25:38.017Z"
},
{
"module": "supplemental",
"scenario": "iam-readonly",
"name": "平台用户只读列表",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/iam/users?page=1&size=5"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "34baef48-5af0-48db-b4e7-700d677cbd8f, 92f6e37c-6da4-4597-87dc-92074e5a7818",
"traceId": "802c2952ab104e8c9b3a0372d4583613",
"evidence": "",
"checkedAt": "2026-08-08T03:25:38.106Z"
},
{
"module": "supplemental",
"scenario": "iam-readonly",
"name": "平台用户列表结构正确且包含内置保护标识",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/iam/users?page=1&size=5"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "34baef48-5af0-48db-b4e7-700d677cbd8f, 92f6e37c-6da4-4597-87dc-92074e5a7818",
"traceId": "802c2952ab104e8c9b3a0372d4583613",
"evidence": "records=5, builtInField=protectedAccount",
"checkedAt": "2026-08-08T03:25:38.106Z"
},
{
"module": "supplemental",
"scenario": "iam-readonly",
"name": "平台角色只读列表",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/iam/roles"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "369727b8-9c58-48c0-a4d5-cf1563e7527d, 4d85b2b9-2f6e-43b7-b7b7-c86e7be4c40d",
"traceId": "d52602c0a8114bdb91bfad5fd190cfac",
"evidence": "",
"checkedAt": "2026-08-08T03:25:38.168Z"
},
{
"module": "supplemental",
"scenario": "iam-readonly",
"name": "平台角色列表结构正确且包含内置保护标识",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/iam/roles"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "369727b8-9c58-48c0-a4d5-cf1563e7527d, 4d85b2b9-2f6e-43b7-b7b7-c86e7be4c40d",
"traceId": "d52602c0a8114bdb91bfad5fd190cfac",
"evidence": "records=9, builtInField=roleType",
"checkedAt": "2026-08-08T03:25:38.168Z"
},
{
"module": "supplemental",
"scenario": "iam-readonly",
"name": "菜单权限只读列表",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/iam/permissions"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "3e1c0736-db52-4a59-9035-6819650305ed, 2265ddca-3c5a-4f05-8cf7-73e720eec4ec",
"traceId": "336964ec41744a64add20fa6f1736ac5",
"evidence": "",
"checkedAt": "2026-08-08T03:25:38.229Z"
},
{
"module": "supplemental",
"scenario": "iam-readonly",
"name": "菜单权限列表结构正确且包含内置保护标识",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/iam/permissions"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "3e1c0736-db52-4a59-9035-6819650305ed, 2265ddca-3c5a-4f05-8cf7-73e720eec4ec",
"traceId": "336964ec41744a64add20fa6f1736ac5",
"evidence": "records=120, builtInField=builtIn",
"checkedAt": "2026-08-08T03:25:38.229Z"
},
{
"module": "supplemental",
"scenario": "iam-readonly",
"name": "角色列表伪造令牌拒绝访问",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/iam/roles"
},
"http": 401,
"code": "A0401",
"message": "未登录或令牌已失效",
"requestId": "c3c915cf-706",
"traceId": null,
"evidence": "HTTP=401, code=A0401",
"checkedAt": "2026-08-08T03:25:38.257Z"
},
{
"module": "supplemental",
"scenario": "iam-readonly",
"name": "菜单权限未携带令牌拒绝访问",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/iam/permissions"
},
"http": 401,
"code": "A0401",
"message": "未登录或令牌已失效",
"requestId": "f1373743-707",
"traceId": null,
"evidence": "HTTP=401, code=A0401",
"checkedAt": "2026-08-08T03:25:38.294Z"
}
]
}