PRA-only-demo/resources/test-flows/app-system/test_appsystem_03.json
liuwenxin d489288c8e test(应用与系统): 添加组件验收流程与复测报告
提供 13 组、74 个用例,覆盖 49 项可执行组件。
新增隔离运行、真实界面检查、结果汇总和安全安装脚本。
升级仅覆盖未修改的测试模板,并保留原文件备份。
为手动操作设置保护开关,保留修复前后验证证据。

验证:43 项相关检查、类型检查与构建通过。
2026-11-02 09:06:40 +08:00

2380 lines
54 KiB
JSON

{
"schemaVersion": 1,
"id": "test_appsystem_03",
"name": "组件测试 03 · 数据判断",
"description": "查看运行日志中的用例结果;有失败时任务最终显示失败,其他用例仍继续。",
"enabled": true,
"trigger": {
"type": "manual",
"label": "手动运行"
},
"variables": [],
"nodes": [
{
"id": "t03_1",
"componentId": "Trigger.Manual",
"label": "人工发起",
"position": {
"x": 220,
"y": 80
},
"values": {
"entryName": "开始组件测试"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false
}
},
{
"id": "t03_2",
"componentId": "Basic_SetVariable",
"label": "初始化失败计数",
"position": {
"x": 220,
"y": 222
},
"values": {
"value": 0
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "failures"
}
},
{
"id": "t03_3",
"componentId": "Basic_SetVariable",
"label": "初始化待确认计数",
"position": {
"x": 220,
"y": 364
},
"values": {
"value": 0
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "pending"
}
},
{
"id": "t03_4",
"componentId": "Basic_SetVariable",
"label": "初始化阻塞计数",
"position": {
"x": 220,
"y": 506
},
"values": {
"value": 0
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "blocked"
}
},
{
"id": "t03_5",
"componentId": "logic_control_try_catch",
"label": "03-01 · Basic_IsDictionary",
"position": {
"x": 220,
"y": 648
},
"values": {},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false
}
},
{
"id": "t03_6",
"componentId": "Basic_IsDictionary",
"label": "Basic_IsDictionary",
"position": {
"x": 220,
"y": 980
},
"values": {
"val": {
"name": "测试"
}
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "actual_1"
},
"parentId": "t03_5",
"slot": "try_fn"
},
{
"id": "t03_7",
"componentId": "Basic_SetVariable",
"label": "记录实际值与判定",
"position": {
"x": 220,
"y": 980
},
"values": {
"value": "${[\"03-01\", \"Basic_IsDictionary\", (actual_1 === true) ? \"PASS\" : \"FAIL\", \"{\\\"val\\\":{\\\"name\\\":\\\"测试\\\"}}\", \"true\", actual_1]}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "case_1"
},
"parentId": "t03_5",
"slot": "try_fn"
},
{
"id": "t03_8",
"componentId": "Basic_SetVariable",
"label": "累计失败数",
"position": {
"x": 220,
"y": 980
},
"values": {
"value": "${failures + (case_1[2] === \"FAIL\" ? 1 : 0)}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "failures"
},
"parentId": "t03_5",
"slot": "try_fn"
},
{
"id": "t03_9",
"componentId": "Basic_SetVariable",
"label": "累计待人工确认数",
"position": {
"x": 220,
"y": 980
},
"values": {
"value": "${pending + (case_1[2] === \"MANUAL\" ? 1 : 0)}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "pending"
},
"parentId": "t03_5",
"slot": "try_fn"
},
{
"id": "t03_10",
"componentId": "Basic_SetVariable",
"label": "记录异常结果",
"position": {
"x": 220,
"y": 980
},
"values": {
"value": "${[\"03-01\", \"Basic_IsDictionary\", \"FAIL\", \"{\\\"val\\\":{\\\"name\\\":\\\"测试\\\"}}\", \"true\", error.reason]}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "case_1"
},
"parentId": "t03_5",
"slot": "except_fn"
},
{
"id": "t03_11",
"componentId": "Basic_SetVariable",
"label": "异常累计失败数",
"position": {
"x": 220,
"y": 980
},
"values": {
"value": "${failures + (case_1[2] === \"FAIL\" ? 1 : 0)}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "failures"
},
"parentId": "t03_5",
"slot": "except_fn"
},
{
"id": "t03_12",
"componentId": "Basic_SetVariable",
"label": "异常累计待确认数",
"position": {
"x": 220,
"y": 980
},
"values": {
"value": "${pending + (case_1[2] === \"MANUAL\" ? 1 : 0)}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "pending"
},
"parentId": "t03_5",
"slot": "except_fn"
},
{
"id": "t03_13",
"componentId": "Log_Info",
"label": "输出测试结果",
"position": {
"x": 220,
"y": 1290
},
"values": {
"msg": "用例结果:${json(case_1)}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false
}
},
{
"id": "t03_14",
"componentId": "logic_control_try_catch",
"label": "03-02 · Basic_IsDictionary",
"position": {
"x": 220,
"y": 1432
},
"values": {},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false
}
},
{
"id": "t03_15",
"componentId": "Basic_IsDictionary",
"label": "Basic_IsDictionary",
"position": {
"x": 220,
"y": 1340
},
"values": {
"val": []
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "actual_2"
},
"parentId": "t03_14",
"slot": "try_fn"
},
{
"id": "t03_16",
"componentId": "Basic_SetVariable",
"label": "记录实际值与判定",
"position": {
"x": 220,
"y": 1340
},
"values": {
"value": "${[\"03-02\", \"Basic_IsDictionary\", (actual_2 === false) ? \"PASS\" : \"FAIL\", \"{\\\"val\\\":[]}\", \"false\", actual_2]}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "case_2"
},
"parentId": "t03_14",
"slot": "try_fn"
},
{
"id": "t03_17",
"componentId": "Basic_SetVariable",
"label": "累计失败数",
"position": {
"x": 220,
"y": 1340
},
"values": {
"value": "${failures + (case_2[2] === \"FAIL\" ? 1 : 0)}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "failures"
},
"parentId": "t03_14",
"slot": "try_fn"
},
{
"id": "t03_18",
"componentId": "Basic_SetVariable",
"label": "累计待人工确认数",
"position": {
"x": 220,
"y": 1340
},
"values": {
"value": "${pending + (case_2[2] === \"MANUAL\" ? 1 : 0)}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "pending"
},
"parentId": "t03_14",
"slot": "try_fn"
},
{
"id": "t03_19",
"componentId": "Basic_SetVariable",
"label": "记录异常结果",
"position": {
"x": 220,
"y": 1340
},
"values": {
"value": "${[\"03-02\", \"Basic_IsDictionary\", \"FAIL\", \"{\\\"val\\\":[]}\", \"false\", error.reason]}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "case_2"
},
"parentId": "t03_14",
"slot": "except_fn"
},
{
"id": "t03_20",
"componentId": "Basic_SetVariable",
"label": "异常累计失败数",
"position": {
"x": 220,
"y": 1340
},
"values": {
"value": "${failures + (case_2[2] === \"FAIL\" ? 1 : 0)}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "failures"
},
"parentId": "t03_14",
"slot": "except_fn"
},
{
"id": "t03_21",
"componentId": "Basic_SetVariable",
"label": "异常累计待确认数",
"position": {
"x": 220,
"y": 1340
},
"values": {
"value": "${pending + (case_2[2] === \"MANUAL\" ? 1 : 0)}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "pending"
},
"parentId": "t03_14",
"slot": "except_fn"
},
{
"id": "t03_22",
"componentId": "Log_Info",
"label": "输出测试结果",
"position": {
"x": 220,
"y": 2074
},
"values": {
"msg": "用例结果:${json(case_2)}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false
}
},
{
"id": "t03_23",
"componentId": "logic_control_try_catch",
"label": "03-03 · Basic_IsNumber",
"position": {
"x": 220,
"y": 2216
},
"values": {},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false
}
},
{
"id": "t03_24",
"componentId": "Basic_IsNumber",
"label": "Basic_IsNumber",
"position": {
"x": 220,
"y": 1700
},
"values": {
"val": "12.5"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "actual_3"
},
"parentId": "t03_23",
"slot": "try_fn"
},
{
"id": "t03_25",
"componentId": "Basic_SetVariable",
"label": "记录实际值与判定",
"position": {
"x": 220,
"y": 1700
},
"values": {
"value": "${[\"03-03\", \"Basic_IsNumber\", (actual_3 === true) ? \"PASS\" : \"FAIL\", \"{\\\"val\\\":\\\"12.5\\\"}\", \"true\", actual_3]}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "case_3"
},
"parentId": "t03_23",
"slot": "try_fn"
},
{
"id": "t03_26",
"componentId": "Basic_SetVariable",
"label": "累计失败数",
"position": {
"x": 220,
"y": 1700
},
"values": {
"value": "${failures + (case_3[2] === \"FAIL\" ? 1 : 0)}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "failures"
},
"parentId": "t03_23",
"slot": "try_fn"
},
{
"id": "t03_27",
"componentId": "Basic_SetVariable",
"label": "累计待人工确认数",
"position": {
"x": 220,
"y": 1700
},
"values": {
"value": "${pending + (case_3[2] === \"MANUAL\" ? 1 : 0)}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "pending"
},
"parentId": "t03_23",
"slot": "try_fn"
},
{
"id": "t03_28",
"componentId": "Basic_SetVariable",
"label": "记录异常结果",
"position": {
"x": 220,
"y": 1700
},
"values": {
"value": "${[\"03-03\", \"Basic_IsNumber\", \"FAIL\", \"{\\\"val\\\":\\\"12.5\\\"}\", \"true\", error.reason]}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "case_3"
},
"parentId": "t03_23",
"slot": "except_fn"
},
{
"id": "t03_29",
"componentId": "Basic_SetVariable",
"label": "异常累计失败数",
"position": {
"x": 220,
"y": 1700
},
"values": {
"value": "${failures + (case_3[2] === \"FAIL\" ? 1 : 0)}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "failures"
},
"parentId": "t03_23",
"slot": "except_fn"
},
{
"id": "t03_30",
"componentId": "Basic_SetVariable",
"label": "异常累计待确认数",
"position": {
"x": 220,
"y": 1700
},
"values": {
"value": "${pending + (case_3[2] === \"MANUAL\" ? 1 : 0)}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "pending"
},
"parentId": "t03_23",
"slot": "except_fn"
},
{
"id": "t03_31",
"componentId": "Log_Info",
"label": "输出测试结果",
"position": {
"x": 220,
"y": 2858
},
"values": {
"msg": "用例结果:${json(case_3)}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false
}
},
{
"id": "t03_32",
"componentId": "logic_control_try_catch",
"label": "03-04 · Basic_IsNumber",
"position": {
"x": 220,
"y": 3000
},
"values": {},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false
}
},
{
"id": "t03_33",
"componentId": "Basic_IsNumber",
"label": "Basic_IsNumber",
"position": {
"x": 220,
"y": 2060
},
"values": {
"val": "中文"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "actual_4"
},
"parentId": "t03_32",
"slot": "try_fn"
},
{
"id": "t03_34",
"componentId": "Basic_SetVariable",
"label": "记录实际值与判定",
"position": {
"x": 220,
"y": 2060
},
"values": {
"value": "${[\"03-04\", \"Basic_IsNumber\", (actual_4 === false) ? \"PASS\" : \"FAIL\", \"{\\\"val\\\":\\\"中文\\\"}\", \"false\", actual_4]}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "case_4"
},
"parentId": "t03_32",
"slot": "try_fn"
},
{
"id": "t03_35",
"componentId": "Basic_SetVariable",
"label": "累计失败数",
"position": {
"x": 220,
"y": 2060
},
"values": {
"value": "${failures + (case_4[2] === \"FAIL\" ? 1 : 0)}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "failures"
},
"parentId": "t03_32",
"slot": "try_fn"
},
{
"id": "t03_36",
"componentId": "Basic_SetVariable",
"label": "累计待人工确认数",
"position": {
"x": 220,
"y": 2060
},
"values": {
"value": "${pending + (case_4[2] === \"MANUAL\" ? 1 : 0)}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "pending"
},
"parentId": "t03_32",
"slot": "try_fn"
},
{
"id": "t03_37",
"componentId": "Basic_SetVariable",
"label": "记录异常结果",
"position": {
"x": 220,
"y": 2060
},
"values": {
"value": "${[\"03-04\", \"Basic_IsNumber\", \"FAIL\", \"{\\\"val\\\":\\\"中文\\\"}\", \"false\", error.reason]}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "case_4"
},
"parentId": "t03_32",
"slot": "except_fn"
},
{
"id": "t03_38",
"componentId": "Basic_SetVariable",
"label": "异常累计失败数",
"position": {
"x": 220,
"y": 2060
},
"values": {
"value": "${failures + (case_4[2] === \"FAIL\" ? 1 : 0)}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "failures"
},
"parentId": "t03_32",
"slot": "except_fn"
},
{
"id": "t03_39",
"componentId": "Basic_SetVariable",
"label": "异常累计待确认数",
"position": {
"x": 220,
"y": 2060
},
"values": {
"value": "${pending + (case_4[2] === \"MANUAL\" ? 1 : 0)}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "pending"
},
"parentId": "t03_32",
"slot": "except_fn"
},
{
"id": "t03_40",
"componentId": "Log_Info",
"label": "输出测试结果",
"position": {
"x": 220,
"y": 3642
},
"values": {
"msg": "用例结果:${json(case_4)}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false
}
},
{
"id": "t03_41",
"componentId": "logic_control_try_catch",
"label": "03-05 · Basic_IsNull",
"position": {
"x": 220,
"y": 3784
},
"values": {},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false
}
},
{
"id": "t03_42",
"componentId": "Basic_IsNull",
"label": "Basic_IsNull",
"position": {
"x": 220,
"y": 2420
},
"values": {
"val": null
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "actual_5"
},
"parentId": "t03_41",
"slot": "try_fn"
},
{
"id": "t03_43",
"componentId": "Basic_SetVariable",
"label": "记录实际值与判定",
"position": {
"x": 220,
"y": 2420
},
"values": {
"value": "${[\"03-05\", \"Basic_IsNull\", (actual_5 === true) ? \"PASS\" : \"FAIL\", \"{\\\"val\\\":null}\", \"true\", actual_5]}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "case_5"
},
"parentId": "t03_41",
"slot": "try_fn"
},
{
"id": "t03_44",
"componentId": "Basic_SetVariable",
"label": "累计失败数",
"position": {
"x": 220,
"y": 2420
},
"values": {
"value": "${failures + (case_5[2] === \"FAIL\" ? 1 : 0)}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "failures"
},
"parentId": "t03_41",
"slot": "try_fn"
},
{
"id": "t03_45",
"componentId": "Basic_SetVariable",
"label": "累计待人工确认数",
"position": {
"x": 220,
"y": 2420
},
"values": {
"value": "${pending + (case_5[2] === \"MANUAL\" ? 1 : 0)}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "pending"
},
"parentId": "t03_41",
"slot": "try_fn"
},
{
"id": "t03_46",
"componentId": "Basic_SetVariable",
"label": "记录异常结果",
"position": {
"x": 220,
"y": 2420
},
"values": {
"value": "${[\"03-05\", \"Basic_IsNull\", \"FAIL\", \"{\\\"val\\\":null}\", \"true\", error.reason]}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "case_5"
},
"parentId": "t03_41",
"slot": "except_fn"
},
{
"id": "t03_47",
"componentId": "Basic_SetVariable",
"label": "异常累计失败数",
"position": {
"x": 220,
"y": 2420
},
"values": {
"value": "${failures + (case_5[2] === \"FAIL\" ? 1 : 0)}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "failures"
},
"parentId": "t03_41",
"slot": "except_fn"
},
{
"id": "t03_48",
"componentId": "Basic_SetVariable",
"label": "异常累计待确认数",
"position": {
"x": 220,
"y": 2420
},
"values": {
"value": "${pending + (case_5[2] === \"MANUAL\" ? 1 : 0)}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "pending"
},
"parentId": "t03_41",
"slot": "except_fn"
},
{
"id": "t03_49",
"componentId": "Log_Info",
"label": "输出测试结果",
"position": {
"x": 220,
"y": 4426
},
"values": {
"msg": "用例结果:${json(case_5)}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false
}
},
{
"id": "t03_50",
"componentId": "logic_control_try_catch",
"label": "03-06 · Basic_IsNull",
"position": {
"x": 220,
"y": 4568
},
"values": {},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false
}
},
{
"id": "t03_51",
"componentId": "Basic_IsNull",
"label": "Basic_IsNull",
"position": {
"x": 220,
"y": 2780
},
"values": {
"val": ""
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "actual_6"
},
"parentId": "t03_50",
"slot": "try_fn"
},
{
"id": "t03_52",
"componentId": "Basic_SetVariable",
"label": "记录实际值与判定",
"position": {
"x": 220,
"y": 2780
},
"values": {
"value": "${[\"03-06\", \"Basic_IsNull\", (actual_6 === true) ? \"PASS\" : \"FAIL\", \"{\\\"val\\\":\\\"\\\"}\", \"true\", actual_6]}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "case_6"
},
"parentId": "t03_50",
"slot": "try_fn"
},
{
"id": "t03_53",
"componentId": "Basic_SetVariable",
"label": "累计失败数",
"position": {
"x": 220,
"y": 2780
},
"values": {
"value": "${failures + (case_6[2] === \"FAIL\" ? 1 : 0)}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "failures"
},
"parentId": "t03_50",
"slot": "try_fn"
},
{
"id": "t03_54",
"componentId": "Basic_SetVariable",
"label": "累计待人工确认数",
"position": {
"x": 220,
"y": 2780
},
"values": {
"value": "${pending + (case_6[2] === \"MANUAL\" ? 1 : 0)}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "pending"
},
"parentId": "t03_50",
"slot": "try_fn"
},
{
"id": "t03_55",
"componentId": "Basic_SetVariable",
"label": "记录异常结果",
"position": {
"x": 220,
"y": 2780
},
"values": {
"value": "${[\"03-06\", \"Basic_IsNull\", \"FAIL\", \"{\\\"val\\\":\\\"\\\"}\", \"true\", error.reason]}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "case_6"
},
"parentId": "t03_50",
"slot": "except_fn"
},
{
"id": "t03_56",
"componentId": "Basic_SetVariable",
"label": "异常累计失败数",
"position": {
"x": 220,
"y": 2780
},
"values": {
"value": "${failures + (case_6[2] === \"FAIL\" ? 1 : 0)}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "failures"
},
"parentId": "t03_50",
"slot": "except_fn"
},
{
"id": "t03_57",
"componentId": "Basic_SetVariable",
"label": "异常累计待确认数",
"position": {
"x": 220,
"y": 2780
},
"values": {
"value": "${pending + (case_6[2] === \"MANUAL\" ? 1 : 0)}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "pending"
},
"parentId": "t03_50",
"slot": "except_fn"
},
{
"id": "t03_58",
"componentId": "Log_Info",
"label": "输出测试结果",
"position": {
"x": 220,
"y": 5210
},
"values": {
"msg": "用例结果:${json(case_6)}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false
}
},
{
"id": "t03_59",
"componentId": "logic_control_try_catch",
"label": "03-07 · Basic_IsNull",
"position": {
"x": 220,
"y": 5352
},
"values": {},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false
}
},
{
"id": "t03_60",
"componentId": "Basic_IsNull",
"label": "Basic_IsNull",
"position": {
"x": 220,
"y": 3140
},
"values": {
"val": 0
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "actual_7"
},
"parentId": "t03_59",
"slot": "try_fn"
},
{
"id": "t03_61",
"componentId": "Basic_SetVariable",
"label": "记录实际值与判定",
"position": {
"x": 220,
"y": 3140
},
"values": {
"value": "${[\"03-07\", \"Basic_IsNull\", (actual_7 === false) ? \"PASS\" : \"FAIL\", \"{\\\"val\\\":0}\", \"false\", actual_7]}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "case_7"
},
"parentId": "t03_59",
"slot": "try_fn"
},
{
"id": "t03_62",
"componentId": "Basic_SetVariable",
"label": "累计失败数",
"position": {
"x": 220,
"y": 3140
},
"values": {
"value": "${failures + (case_7[2] === \"FAIL\" ? 1 : 0)}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "failures"
},
"parentId": "t03_59",
"slot": "try_fn"
},
{
"id": "t03_63",
"componentId": "Basic_SetVariable",
"label": "累计待人工确认数",
"position": {
"x": 220,
"y": 3140
},
"values": {
"value": "${pending + (case_7[2] === \"MANUAL\" ? 1 : 0)}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "pending"
},
"parentId": "t03_59",
"slot": "try_fn"
},
{
"id": "t03_64",
"componentId": "Basic_SetVariable",
"label": "记录异常结果",
"position": {
"x": 220,
"y": 3140
},
"values": {
"value": "${[\"03-07\", \"Basic_IsNull\", \"FAIL\", \"{\\\"val\\\":0}\", \"false\", error.reason]}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "case_7"
},
"parentId": "t03_59",
"slot": "except_fn"
},
{
"id": "t03_65",
"componentId": "Basic_SetVariable",
"label": "异常累计失败数",
"position": {
"x": 220,
"y": 3140
},
"values": {
"value": "${failures + (case_7[2] === \"FAIL\" ? 1 : 0)}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "failures"
},
"parentId": "t03_59",
"slot": "except_fn"
},
{
"id": "t03_66",
"componentId": "Basic_SetVariable",
"label": "异常累计待确认数",
"position": {
"x": 220,
"y": 3140
},
"values": {
"value": "${pending + (case_7[2] === \"MANUAL\" ? 1 : 0)}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "pending"
},
"parentId": "t03_59",
"slot": "except_fn"
},
{
"id": "t03_67",
"componentId": "Log_Info",
"label": "输出测试结果",
"position": {
"x": 220,
"y": 5994
},
"values": {
"msg": "用例结果:${json(case_7)}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false
}
},
{
"id": "t03_68",
"componentId": "logic_control_try_catch",
"label": "03-08 · Basic_IsArray",
"position": {
"x": 220,
"y": 6136
},
"values": {},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false
}
},
{
"id": "t03_69",
"componentId": "Basic_IsArray",
"label": "Basic_IsArray",
"position": {
"x": 220,
"y": 3500
},
"values": {
"val": []
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "actual_8"
},
"parentId": "t03_68",
"slot": "try_fn"
},
{
"id": "t03_70",
"componentId": "Basic_SetVariable",
"label": "记录实际值与判定",
"position": {
"x": 220,
"y": 3500
},
"values": {
"value": "${[\"03-08\", \"Basic_IsArray\", (actual_8 === true) ? \"PASS\" : \"FAIL\", \"{\\\"val\\\":[]}\", \"true\", actual_8]}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "case_8"
},
"parentId": "t03_68",
"slot": "try_fn"
},
{
"id": "t03_71",
"componentId": "Basic_SetVariable",
"label": "累计失败数",
"position": {
"x": 220,
"y": 3500
},
"values": {
"value": "${failures + (case_8[2] === \"FAIL\" ? 1 : 0)}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "failures"
},
"parentId": "t03_68",
"slot": "try_fn"
},
{
"id": "t03_72",
"componentId": "Basic_SetVariable",
"label": "累计待人工确认数",
"position": {
"x": 220,
"y": 3500
},
"values": {
"value": "${pending + (case_8[2] === \"MANUAL\" ? 1 : 0)}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "pending"
},
"parentId": "t03_68",
"slot": "try_fn"
},
{
"id": "t03_73",
"componentId": "Basic_SetVariable",
"label": "记录异常结果",
"position": {
"x": 220,
"y": 3500
},
"values": {
"value": "${[\"03-08\", \"Basic_IsArray\", \"FAIL\", \"{\\\"val\\\":[]}\", \"true\", error.reason]}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "case_8"
},
"parentId": "t03_68",
"slot": "except_fn"
},
{
"id": "t03_74",
"componentId": "Basic_SetVariable",
"label": "异常累计失败数",
"position": {
"x": 220,
"y": 3500
},
"values": {
"value": "${failures + (case_8[2] === \"FAIL\" ? 1 : 0)}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "failures"
},
"parentId": "t03_68",
"slot": "except_fn"
},
{
"id": "t03_75",
"componentId": "Basic_SetVariable",
"label": "异常累计待确认数",
"position": {
"x": 220,
"y": 3500
},
"values": {
"value": "${pending + (case_8[2] === \"MANUAL\" ? 1 : 0)}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "pending"
},
"parentId": "t03_68",
"slot": "except_fn"
},
{
"id": "t03_76",
"componentId": "Log_Info",
"label": "输出测试结果",
"position": {
"x": 220,
"y": 6778
},
"values": {
"msg": "用例结果:${json(case_8)}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false
}
},
{
"id": "t03_77",
"componentId": "logic_control_try_catch",
"label": "03-09 · Basic_IsArray",
"position": {
"x": 220,
"y": 6920
},
"values": {},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false
}
},
{
"id": "t03_78",
"componentId": "Basic_IsArray",
"label": "Basic_IsArray",
"position": {
"x": 220,
"y": 3860
},
"values": {
"val": "[]"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "actual_9"
},
"parentId": "t03_77",
"slot": "try_fn"
},
{
"id": "t03_79",
"componentId": "Basic_SetVariable",
"label": "记录实际值与判定",
"position": {
"x": 220,
"y": 3860
},
"values": {
"value": "${[\"03-09\", \"Basic_IsArray\", (actual_9 === false) ? \"PASS\" : \"FAIL\", \"{\\\"val\\\":\\\"[]\\\"}\", \"false\", actual_9]}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "case_9"
},
"parentId": "t03_77",
"slot": "try_fn"
},
{
"id": "t03_80",
"componentId": "Basic_SetVariable",
"label": "累计失败数",
"position": {
"x": 220,
"y": 3860
},
"values": {
"value": "${failures + (case_9[2] === \"FAIL\" ? 1 : 0)}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "failures"
},
"parentId": "t03_77",
"slot": "try_fn"
},
{
"id": "t03_81",
"componentId": "Basic_SetVariable",
"label": "累计待人工确认数",
"position": {
"x": 220,
"y": 3860
},
"values": {
"value": "${pending + (case_9[2] === \"MANUAL\" ? 1 : 0)}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "pending"
},
"parentId": "t03_77",
"slot": "try_fn"
},
{
"id": "t03_82",
"componentId": "Basic_SetVariable",
"label": "记录异常结果",
"position": {
"x": 220,
"y": 3860
},
"values": {
"value": "${[\"03-09\", \"Basic_IsArray\", \"FAIL\", \"{\\\"val\\\":\\\"[]\\\"}\", \"false\", error.reason]}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "case_9"
},
"parentId": "t03_77",
"slot": "except_fn"
},
{
"id": "t03_83",
"componentId": "Basic_SetVariable",
"label": "异常累计失败数",
"position": {
"x": 220,
"y": 3860
},
"values": {
"value": "${failures + (case_9[2] === \"FAIL\" ? 1 : 0)}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "failures"
},
"parentId": "t03_77",
"slot": "except_fn"
},
{
"id": "t03_84",
"componentId": "Basic_SetVariable",
"label": "异常累计待确认数",
"position": {
"x": 220,
"y": 3860
},
"values": {
"value": "${pending + (case_9[2] === \"MANUAL\" ? 1 : 0)}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "pending"
},
"parentId": "t03_77",
"slot": "except_fn"
},
{
"id": "t03_85",
"componentId": "Log_Info",
"label": "输出测试结果",
"position": {
"x": 220,
"y": 7562
},
"values": {
"msg": "用例结果:${json(case_9)}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false
}
},
{
"id": "t03_86",
"componentId": "logic_control_try_catch",
"label": "03-10 · Basic_Type",
"position": {
"x": 220,
"y": 7704
},
"values": {},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false
}
},
{
"id": "t03_87",
"componentId": "Basic_Type",
"label": "Basic_Type",
"position": {
"x": 220,
"y": 4220
},
"values": {
"val": [
1,
2
]
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "actual_10"
},
"parentId": "t03_86",
"slot": "try_fn"
},
{
"id": "t03_88",
"componentId": "Basic_SetVariable",
"label": "记录实际值与判定",
"position": {
"x": 220,
"y": 4220
},
"values": {
"value": "${[\"03-10\", \"Basic_Type\", (actual_10 === \"list\") ? \"PASS\" : \"FAIL\", \"{\\\"val\\\":[1,2]}\", \"\\\"list\\\"\", actual_10]}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "case_10"
},
"parentId": "t03_86",
"slot": "try_fn"
},
{
"id": "t03_89",
"componentId": "Basic_SetVariable",
"label": "累计失败数",
"position": {
"x": 220,
"y": 4220
},
"values": {
"value": "${failures + (case_10[2] === \"FAIL\" ? 1 : 0)}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "failures"
},
"parentId": "t03_86",
"slot": "try_fn"
},
{
"id": "t03_90",
"componentId": "Basic_SetVariable",
"label": "累计待人工确认数",
"position": {
"x": 220,
"y": 4220
},
"values": {
"value": "${pending + (case_10[2] === \"MANUAL\" ? 1 : 0)}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "pending"
},
"parentId": "t03_86",
"slot": "try_fn"
},
{
"id": "t03_91",
"componentId": "Basic_SetVariable",
"label": "记录异常结果",
"position": {
"x": 220,
"y": 4220
},
"values": {
"value": "${[\"03-10\", \"Basic_Type\", \"FAIL\", \"{\\\"val\\\":[1,2]}\", \"\\\"list\\\"\", error.reason]}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "case_10"
},
"parentId": "t03_86",
"slot": "except_fn"
},
{
"id": "t03_92",
"componentId": "Basic_SetVariable",
"label": "异常累计失败数",
"position": {
"x": 220,
"y": 4220
},
"values": {
"value": "${failures + (case_10[2] === \"FAIL\" ? 1 : 0)}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "failures"
},
"parentId": "t03_86",
"slot": "except_fn"
},
{
"id": "t03_93",
"componentId": "Basic_SetVariable",
"label": "异常累计待确认数",
"position": {
"x": 220,
"y": 4220
},
"values": {
"value": "${pending + (case_10[2] === \"MANUAL\" ? 1 : 0)}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "pending"
},
"parentId": "t03_86",
"slot": "except_fn"
},
{
"id": "t03_94",
"componentId": "Log_Info",
"label": "输出测试结果",
"position": {
"x": 220,
"y": 8346
},
"values": {
"msg": "用例结果:${json(case_10)}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false
}
},
{
"id": "t03_95",
"componentId": "logic_control_try_catch",
"label": "03-11 · Basic_Type",
"position": {
"x": 220,
"y": 8488
},
"values": {},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false
}
},
{
"id": "t03_96",
"componentId": "Basic_Type",
"label": "Basic_Type",
"position": {
"x": 220,
"y": 4580
},
"values": {
"val": null
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "actual_11"
},
"parentId": "t03_95",
"slot": "try_fn"
},
{
"id": "t03_97",
"componentId": "Basic_SetVariable",
"label": "记录实际值与判定",
"position": {
"x": 220,
"y": 4580
},
"values": {
"value": "${[\"03-11\", \"Basic_Type\", (actual_11 === \"null\") ? \"PASS\" : \"FAIL\", \"{\\\"val\\\":null}\", \"\\\"null\\\"\", actual_11]}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "case_11"
},
"parentId": "t03_95",
"slot": "try_fn"
},
{
"id": "t03_98",
"componentId": "Basic_SetVariable",
"label": "累计失败数",
"position": {
"x": 220,
"y": 4580
},
"values": {
"value": "${failures + (case_11[2] === \"FAIL\" ? 1 : 0)}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "failures"
},
"parentId": "t03_95",
"slot": "try_fn"
},
{
"id": "t03_99",
"componentId": "Basic_SetVariable",
"label": "累计待人工确认数",
"position": {
"x": 220,
"y": 4580
},
"values": {
"value": "${pending + (case_11[2] === \"MANUAL\" ? 1 : 0)}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "pending"
},
"parentId": "t03_95",
"slot": "try_fn"
},
{
"id": "t03_100",
"componentId": "Basic_SetVariable",
"label": "记录异常结果",
"position": {
"x": 220,
"y": 4580
},
"values": {
"value": "${[\"03-11\", \"Basic_Type\", \"FAIL\", \"{\\\"val\\\":null}\", \"\\\"null\\\"\", error.reason]}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "case_11"
},
"parentId": "t03_95",
"slot": "except_fn"
},
{
"id": "t03_101",
"componentId": "Basic_SetVariable",
"label": "异常累计失败数",
"position": {
"x": 220,
"y": 4580
},
"values": {
"value": "${failures + (case_11[2] === \"FAIL\" ? 1 : 0)}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "failures"
},
"parentId": "t03_95",
"slot": "except_fn"
},
{
"id": "t03_102",
"componentId": "Basic_SetVariable",
"label": "异常累计待确认数",
"position": {
"x": 220,
"y": 4580
},
"values": {
"value": "${pending + (case_11[2] === \"MANUAL\" ? 1 : 0)}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "pending"
},
"parentId": "t03_95",
"slot": "except_fn"
},
{
"id": "t03_103",
"componentId": "Log_Info",
"label": "输出测试结果",
"position": {
"x": 220,
"y": 9130
},
"values": {
"msg": "用例结果:${json(case_11)}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false
}
},
{
"id": "t03_104",
"componentId": "logic_control_try_catch",
"label": "03-12 · Basic_JudgeDataType",
"position": {
"x": 220,
"y": 9272
},
"values": {},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false
}
},
{
"id": "t03_105",
"componentId": "Basic_JudgeDataType",
"label": "Basic_JudgeDataType",
"position": {
"x": 220,
"y": 4940
},
"values": {
"val": 42,
"into_type": "number"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "actual_12"
},
"parentId": "t03_104",
"slot": "try_fn"
},
{
"id": "t03_106",
"componentId": "Basic_SetVariable",
"label": "记录实际值与判定",
"position": {
"x": 220,
"y": 4940
},
"values": {
"value": "${[\"03-12\", \"Basic_JudgeDataType\", (actual_12 === true) ? \"PASS\" : \"FAIL\", \"{\\\"val\\\":42,\\\"into_type\\\":\\\"number\\\"}\", \"数字 42 属于数值类型,返回布尔 true\", actual_12]}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "case_12"
},
"parentId": "t03_104",
"slot": "try_fn"
},
{
"id": "t03_107",
"componentId": "Basic_SetVariable",
"label": "累计失败数",
"position": {
"x": 220,
"y": 4940
},
"values": {
"value": "${failures + (case_12[2] === \"FAIL\" ? 1 : 0)}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "failures"
},
"parentId": "t03_104",
"slot": "try_fn"
},
{
"id": "t03_108",
"componentId": "Basic_SetVariable",
"label": "累计待人工确认数",
"position": {
"x": 220,
"y": 4940
},
"values": {
"value": "${pending + (case_12[2] === \"MANUAL\" ? 1 : 0)}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "pending"
},
"parentId": "t03_104",
"slot": "try_fn"
},
{
"id": "t03_109",
"componentId": "Basic_SetVariable",
"label": "记录异常结果",
"position": {
"x": 220,
"y": 4940
},
"values": {
"value": "${[\"03-12\", \"Basic_JudgeDataType\", \"FAIL\", \"{\\\"val\\\":42,\\\"into_type\\\":\\\"number\\\"}\", \"数字 42 属于数值类型,返回布尔 true\", error.reason]}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "case_12"
},
"parentId": "t03_104",
"slot": "except_fn"
},
{
"id": "t03_110",
"componentId": "Basic_SetVariable",
"label": "异常累计失败数",
"position": {
"x": 220,
"y": 4940
},
"values": {
"value": "${failures + (case_12[2] === \"FAIL\" ? 1 : 0)}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "failures"
},
"parentId": "t03_104",
"slot": "except_fn"
},
{
"id": "t03_111",
"componentId": "Basic_SetVariable",
"label": "异常累计待确认数",
"position": {
"x": 220,
"y": 4940
},
"values": {
"value": "${pending + (case_12[2] === \"MANUAL\" ? 1 : 0)}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false,
"outputVar": "pending"
},
"parentId": "t03_104",
"slot": "except_fn"
},
{
"id": "t03_112",
"componentId": "Log_Info",
"label": "输出测试结果",
"position": {
"x": 220,
"y": 9914
},
"values": {
"msg": "用例结果:${json(case_12)}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false
}
},
{
"id": "t03_113",
"componentId": "Log_Info",
"label": "输出测试结果",
"position": {
"x": 220,
"y": 10056
},
"values": {
"msg": "本组汇总:失败 ${failures} 项,阻塞 ${blocked} 项,待人工确认 ${pending} 项。"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false
}
},
{
"id": "t03_114",
"componentId": "logic_control_if_else",
"label": "汇总判定",
"position": {
"x": 220,
"y": 10198
},
"values": {
"condition": "${failures > 0 || pending > 0 || blocked > 0}"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false
}
},
{
"id": "t03_115",
"componentId": "ExceptionUtil_Throws",
"label": "如实标记未通过",
"position": {
"x": 220,
"y": 5480
},
"values": {
"msg": "组件测试未全部通过:失败 ${failures} 项,阻塞 ${blocked} 项,待人工确认 ${pending} 项。请查看日志。"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false
},
"parentId": "t03_114",
"slot": "statement_if"
},
{
"id": "t03_116",
"componentId": "Log_Info",
"label": "输出测试结果",
"position": {
"x": 220,
"y": 5480
},
"values": {
"msg": "本组全部通过。"
},
"options": {
"timeoutMs": 15000,
"retryCount": 0,
"logException": false
},
"parentId": "t03_114",
"slot": "statement_else"
}
],
"edges": [
{
"id": "e_t03_2",
"source": "t03_1",
"target": "t03_2"
},
{
"id": "e_t03_3",
"source": "t03_2",
"target": "t03_3"
},
{
"id": "e_t03_4",
"source": "t03_3",
"target": "t03_4"
},
{
"id": "e_t03_5",
"source": "t03_4",
"target": "t03_5"
},
{
"id": "e_t03_13",
"source": "t03_5",
"target": "t03_13"
},
{
"id": "e_t03_14",
"source": "t03_13",
"target": "t03_14"
},
{
"id": "e_t03_22",
"source": "t03_14",
"target": "t03_22"
},
{
"id": "e_t03_23",
"source": "t03_22",
"target": "t03_23"
},
{
"id": "e_t03_31",
"source": "t03_23",
"target": "t03_31"
},
{
"id": "e_t03_32",
"source": "t03_31",
"target": "t03_32"
},
{
"id": "e_t03_40",
"source": "t03_32",
"target": "t03_40"
},
{
"id": "e_t03_41",
"source": "t03_40",
"target": "t03_41"
},
{
"id": "e_t03_49",
"source": "t03_41",
"target": "t03_49"
},
{
"id": "e_t03_50",
"source": "t03_49",
"target": "t03_50"
},
{
"id": "e_t03_58",
"source": "t03_50",
"target": "t03_58"
},
{
"id": "e_t03_59",
"source": "t03_58",
"target": "t03_59"
},
{
"id": "e_t03_67",
"source": "t03_59",
"target": "t03_67"
},
{
"id": "e_t03_68",
"source": "t03_67",
"target": "t03_68"
},
{
"id": "e_t03_76",
"source": "t03_68",
"target": "t03_76"
},
{
"id": "e_t03_77",
"source": "t03_76",
"target": "t03_77"
},
{
"id": "e_t03_85",
"source": "t03_77",
"target": "t03_85"
},
{
"id": "e_t03_86",
"source": "t03_85",
"target": "t03_86"
},
{
"id": "e_t03_94",
"source": "t03_86",
"target": "t03_94"
},
{
"id": "e_t03_95",
"source": "t03_94",
"target": "t03_95"
},
{
"id": "e_t03_103",
"source": "t03_95",
"target": "t03_103"
},
{
"id": "e_t03_104",
"source": "t03_103",
"target": "t03_104"
},
{
"id": "e_t03_112",
"source": "t03_104",
"target": "t03_112"
},
{
"id": "e_t03_113",
"source": "t03_112",
"target": "t03_113"
},
{
"id": "e_t03_114",
"source": "t03_113",
"target": "t03_114"
}
],
"meta": {
"createdAt": "2026-10-30T00:00:00.000Z",
"updatedAt": "2026-10-30T00:00:00.000Z",
"appVersion": "0.1.0"
}
}