{
  "result": {
    "stats": {
      "steps": {
        "total": 2,
        "passed": 1,
        "failed": 1
      },
      "iterations": {
        "total": 1,
        "pending": 0,
        "failed": 1
      },
      "items": {},
      "scripts": {
        "total": 4,
        "pending": 0,
        "failed": 0
      },
      "prerequests": {
        "total": 2,
        "pending": 0,
        "failed": 0
      },
      "requests": {
        "total": 2,
        "pending": 0,
        "failed": 1
      },
      "socketRequests": {
        "total": 0,
        "pending": 0,
        "failed": 0
      },
      "tests": {
        "total": 2,
        "pending": 0,
        "failed": 0
      },
      "assertions": {
        "total": 1,
        "pending": 0,
        "failed": 1
      },
      "testScripts": {
        "total": 2,
        "pending": 0,
        "failed": 0
      },
      "prerequestScripts": {
        "total": 2,
        "pending": 0,
        "failed": 0
      }
    },
    "timings": {
      "responseTime": 523,
      "responseAverage": 220.5,
      "responseMin": 164,
      "responseMax": 359,
      "responseSd": 150.14742755039128,
      "dnsAverage": 0,
      "dnsMin": 0,
      "dnsMax": 0,
      "dnsSd": 0,
      "firstByteAverage": 0,
      "firstByteMin": 0,
      "firstByteMax": 0,
      "firstByteSd": 0,
      "started": 1783576768654,
      "completed": 1783576769340
    },
    "transfers": {
      "responseTotal": 471
    },
    "failures": [
      {
        "error": {
          "name": "AssertionError",
          "index": 0,
          "test": "to",
          "message": "expected 'ABtQ0NxLpaiFEQB1Sdh0tAyGn2CikVRK/QAw8…' to deeply equal 'ABtQ0NxLpaiFEQB1Sdh0tAyGn2CikVRK/QAw8…'",
          "expected": "ABtQ0NxLpaiFEQB1Sdh0tAyGn2CikVRK/QAw82o2Xz2u+coYilioPapdb7NVWwhMX/RdjxU3kyegPFu/PEswgQ==",
          "actual": "ABtQ0NxLpaiFEQB1Sdh0tAyGn2CikVRK/QAw82o2Xz2oy5CzZW5lw22pdMfNz1/OMCnscNi+noM2f0/rG5RftA==",
          "stack": "AssertionError: expected 'ABtQ0NxLpaiFEQB1Sdh0tAyGn2CikVRK/QAw8…' to deeply equal 'ABtQ0NxLpaiFEQB1Sdh0tAyGn2CikVRK/QAw8…'\n   at Object.eval sandbox-script.js:1:1)",
          "isNotPlainError": true
        },
        "at": "assertion:0 in test-script",
        "cursor": {
          "position": 0,
          "iteration": 0,
          "length": 2,
          "cycles": 1,
          "empty": false,
          "eof": false,
          "bof": true,
          "cr": false,
          "ref": "1f5e7fff-9445-45f4-a3bc-9ece01618e3c",
          "requestIndex": 0,
          "httpRequestId": "e1be89da-2e63-4ab7-a3ba-9c14722a4f72",
          "scriptId": "postProcessors.0.assertion",
          "execution": "cef79024-33c2-4f18-bbef-6cf700daf52f"
        }
      }
    ],
    "stepTree": [
      {
        "ref": "1f5e7fff-9445-45f4-a3bc-9ece01618e3c",
        "type": "http"
      },
      {
        "ref": "993581c6-069f-4f3a-8791-01c3ac38b61f",
        "type": "http"
      }
    ],
    "error": null
  },
  "isTestFlowControl": false,
  "run": {
    "stats": {
      "steps": {
        "total": 2,
        "passed": 1,
        "failed": 1
      },
      "iterations": {
        "total": 1,
        "pending": 0,
        "failed": 1
      },
      "items": {},
      "scripts": {
        "total": 4,
        "pending": 0,
        "failed": 0
      },
      "prerequests": {
        "total": 2,
        "pending": 0,
        "failed": 0
      },
      "requests": {
        "total": 2,
        "pending": 0,
        "failed": 1
      },
      "socketRequests": {
        "total": 0,
        "pending": 0,
        "failed": 0
      },
      "tests": {
        "total": 2,
        "pending": 0,
        "failed": 0
      },
      "assertions": {
        "total": 1,
        "pending": 0,
        "failed": 1
      },
      "testScripts": {
        "total": 2,
        "pending": 0,
        "failed": 0
      },
      "prerequestScripts": {
        "total": 2,
        "pending": 0,
        "failed": 0
      }
    },
    "timings": {
      "responseTime": 523,
      "responseAverage": 220.5,
      "responseMin": 164,
      "responseMax": 359,
      "responseSd": 150.14742755039128,
      "dnsAverage": 0,
      "dnsMin": 0,
      "dnsMax": 0,
      "dnsSd": 0,
      "firstByteAverage": 0,
      "firstByteMin": 0,
      "firstByteMax": 0,
      "firstByteSd": 0,
      "started": 1783576768654,
      "completed": 1783576769340
    },
    "transfers": {
      "responseTotal": 471
    },
    "failures": [
      {
        "error": {
          "name": "AssertionError",
          "index": 0,
          "test": "to",
          "message": "expected 'ABtQ0NxLpaiFEQB1Sdh0tAyGn2CikVRK/QAw8…' to deeply equal 'ABtQ0NxLpaiFEQB1Sdh0tAyGn2CikVRK/QAw8…'",
          "expected": "ABtQ0NxLpaiFEQB1Sdh0tAyGn2CikVRK/QAw82o2Xz2u+coYilioPapdb7NVWwhMX/RdjxU3kyegPFu/PEswgQ==",
          "actual": "ABtQ0NxLpaiFEQB1Sdh0tAyGn2CikVRK/QAw82o2Xz2oy5CzZW5lw22pdMfNz1/OMCnscNi+noM2f0/rG5RftA==",
          "stack": "AssertionError: expected 'ABtQ0NxLpaiFEQB1Sdh0tAyGn2CikVRK/QAw8…' to deeply equal 'ABtQ0NxLpaiFEQB1Sdh0tAyGn2CikVRK/QAw8…'\n   at Object.eval sandbox-script.js:1:1)",
          "isNotPlainError": true
        },
        "at": "assertion:0 in test-script",
        "source": {
          "id": "026e18ce-0253-4ea0-b38f-a414d211f39b",
          "name": "登录",
          "request": {
            "url": {
              "protocol": "https",
              "path": [
                "p",
                "login",
                "login"
              ],
              "host": [
                "zhct",
                "yyangpt",
                "cn"
              ],
              "query": [],
              "variable": []
            },
            "header": [
              {
                "key": "Access-Token",
                "value": "{{terminal_token}}"
              },
              {
                "key": "User-Agent",
                "value": "app/1.0.0"
              }
            ],
            "method": "POST",
            "baseUrl": "https://zhct.yyangpt.cn",
            "body": {
              "mode": "urlencoded",
              "urlencoded": [
                {
                  "disabled": false,
                  "key": "account",
                  "value": "admin"
                },
                {
                  "disabled": false,
                  "key": "pwd",
                  "value": "aaa111"
                }
              ]
            }
          },
          "response": [],
          "event": [
            {
              "listen": "prerequest",
              "script": {
                "id": "commonScript.assertion",
                "type": "text/javascript",
                "exec": [
                  "",
                  "  ____string2Array = function(value) {",
                  "    if(typeof value === 'object'){",
                  "      return value;",
                  "    }",
                  "    try {",
                  "      return JSON.parse(value);",
                  "    } catch (e) {",
                  "      return value;",
                  "    }",
                  "  }",
                  "  ____string2Number = function(value, errorMsg) {",
                  "   if(typeof value !== 'string'){",
                  "     return value;",
                  "   }",
                  "   if (/^\\-?\\d+$/.test(value)) {",
                  "       return parseInt(value);",
                  "   } else if (/^\\-?\\d+\\.\\d+$/.test(value)) {",
                  "       return parseFloat(value);",
                  "   } else {",
                  "       throw new Error(errorMsg || 'Data type mismatch')",
                  "   }",
                  " }",
                  "",
                  "  ____formatValues = function(value, stringCompareValue, comparison) {",
                  "   try{",
                  "     const isNumberComparisons = ['isBelow', 'isAtMost', 'isAbove', 'isAtLeast'].includes(comparison);",
                  "     const isCollectionComparisons = ['isOneOf', 'notOneOf'].includes(comparison);",
                  "     let compareValue;",
                  "     switch (typeof value) {",
                  "         case 'string':",
                  "             if (isNumberComparisons) {",
                  "                value = ____string2Number(value);",
                  "                compareValue = ____string2Number(stringCompareValue);",
                  "             } else if (isCollectionComparisons) {",
                  "                compareValue = ____string2Array(stringCompareValue);",
                  "             } else if (comparison === 'exists' || comparison === 'notExist') {",
                  "                value = /^({%.*%})|({{.*}})$/.test(value) ? undefined : value;",
                  "             } else {",
                  "                compareValue = stringCompareValue;",
                  "             }",
                  "             break;",
                  "         case 'object':",
                  "             const isArray = value instanceof Array;",
                  "             if (isNumberComparisons) {",
                  "                 throw new Error('Values of type object cannot be compared using the ' + comparison + ' method')",
                  "             } else if (isCollectionComparisons && isArray) {",
                  "              throw new Error('Values of type array cannot be compared using the ' + comparison + ' method')",
                  "            } else if (",
                  "              isArray &&",
                  "              comparison === 'include' &&",
                  "              value.includes(stringCompareValue)",
                  "            ) {",
                  "              compareValue = stringCompareValue;",
                  "            } else {",
                  "              try {",
                  "                  compareValue = JSON.parse(stringCompareValue);",
                  "              } catch (e) {",
                  "                  compareValue = stringCompareValue;",
                  "              }",
                  "            }",
                  "             break;",
                  "         case 'boolean':",
                  "             if (isNumberComparisons || isCollectionComparisons) {",
                  "                 throw new Error('Values of type boolean cannot be compared using the ' + comparison + ' method')",
                  "             }",
                  "             compareValue = stringCompareValue === 'true' ? true : (stringCompareValue === 'false' ? false : stringCompareValue);",
                  "             break;",
                  "           case 'bigint':",
                  "           case 'number':",
                  "             if (isNumberComparisons) {",
                  "               compareValue = ____string2Number(stringCompareValue);",
                  "             } else if (isCollectionComparisons) {",
                  "              compareValue = ____string2Array(stringCompareValue);",
                  "              value = '' + value;",
                  "            } else {",
                  "               compareValue = stringCompareValue;",
                  "               value = '' + value;",
                  "             }",
                  "             break;",
                  "         case 'null':",
                  "             if (isNumberComparisons) {",
                  "                 throw new Error('Values of type null cannot be compared using the ' + comparison + ' method')",
                  "             }",
                  "             compareValue = stringCompareValue === 'null' ? null : stringCompareValue;",
                  "             break;",
                  "         default:",
                  "            if (isCollectionComparisons) {",
                  "              compareValue = ____string2Array(stringCompareValue);",
                  "            } else {",
                  "              compareValue = stringCompareValue;",
                  "            }",
                  "            break;",
                  "     }",
                  "     return { compareValue, value };",
                  "   } catch(e) {",
                  "     console.log(e);",
                  "     throw e;",
                  "   }",
                  " }",
                  " "
                ],
                "_lastExecutionId": "abf0743b-5c55-42ea-8d41-80a757ec2bd7"
              }
            },
            {
              "listen": "test",
              "script": {
                "id": "postProcessors.0.assertion",
                "type": "text/javascript",
                "exec": [
                  "",
                  "        if (JSON.setEnableBigInt) {",
                  "          JSON.setEnableBigInt(undefined);",
                  "        }",
                  "        ",
                  "  async function ____replaceIn(value) {",
                  "    if (typeof pm.variables.replaceInAsync === 'function') {",
                  "      return await pm.variables.replaceInAsync(value);",
                  "    }",
                  "    return pm.variables.replaceIn(value);",
                  "  };",
                  "",
                  "  ;(async () => {",
                  "    try {",
                  "      const formattedName = await ____replaceIn(`to`);",
                  "      pm.test(formattedName, async function(done) {",
                  "        try {",
                  "          ",
                  "          const expression = await ____replaceIn(`$.data._token`);",
                  "          const JSONPath = require('jsonpath-plus').JSONPath;",
                  "          let jsonData;",
                  "          try {",
                  "            jsonData = pm.response.json();",
                  "          } catch(e) {",
                  "            let text = pm.response.text();",
                  "            const xml2js = require('xml2js');",
                  "            function removeXmlUselessPrefixAndSuffix(text) {",
                  "              const start = text.indexOf('<');",
                  "              const end = text.lastIndexOf('>');",
                  "              if (start === -1 || end === -1) {",
                  "                return text;",
                  "              }",
                  "              return text.substring(start, end + 1);",
                  "            }",
                  "            text = removeXmlUselessPrefixAndSuffix(text);",
                  "            let json;",
                  "            let xmlParseOptions = {",
                  "                explicitArray: false,",
                  "                trim: true,",
                  "                ignoreAttrs: true,",
                  "            };",
                  "            xml2js.parseString(text, xmlParseOptions, function (_, result) {",
                  "                jsonData = result;",
                  "            });",
                  "          }",
                  "          let value = JSONPath({",
                  "            json: jsonData,",
                  "            path: expression,",
                  "            wrap: false",
                  "          });",
                  "",
                  "          if (false && undefined !== undefined) {",
                  "            if (Array.isArray(value)) {",
                  "              value = Number(undefined) >= 0 ? value[undefined] : value[value.length + Number(undefined)];",
                  "            } else {",
                  "              value = undefined;",
                  "            }",
                  "          }",
                  "",
                  "          ",
                  "          ",
                  "    const compareValue = await ____replaceIn(`ABtQ0NxLpaiFEQB1Sdh0tAyGn2CikVRK/QAw82o2Xz2u+coYilioPapdb7NVWwhMX/RdjxU3kyegPFu/PEswgQ==`);",
                  "    const formattedValues = ____formatValues(value, compareValue, 'equal');",
                  "  ",
                  "          pm.expect(formattedValues.value).to.eql(formattedValues.compareValue);",
                  "          done();",
                  "        } catch (err) {",
                  "          done(err);",
                  "        }",
                  "      });",
                  "    } catch(e) {",
                  "      setImmediate(() => { throw e });",
                  "    }",
                  "  })();",
                  "      "
                ],
                "_lastExecutionId": "cef79024-33c2-4f18-bbef-6cf700daf52f"
              }
            },
            {
              "listen": "test",
              "script": {
                "id": "postProcessors.1.customScript",
                "type": "text/javascript",
                "exec": [
                  "",
                  "        if (JSON.setEnableBigInt) {",
                  "          JSON.setEnableBigInt(undefined);",
                  "        }",
                  "        // 获取当前日期",
                  "const now = new Date();",
                  "// 格式化日期为 YYYY-MM-DD 格式",
                  "const year = now.getFullYear();",
                  "const month = String(now.getMonth() + 1).padStart(2, '0');",
                  "const day = String(now.getDate()).padStart(2, '0');",
                  "const formattedDate = `${year}-${month}-${day}`;",
                  "",
                  "// 输出格式化后的日期",
                  "console.log('当前日期:', formattedDate);",
                  "",
                  "// 设置环境变量（也可以直接修改请求参数）",
                  "pm.variables.set(\"start_date\", formattedDate);",
                  "pm.variables.set(\"end_date\", formattedDate);",
                  "",
                  "// 输出环境变量设置结果",
                  "console.log('已设置环境变量:', {",
                  "  start_date: pm.variables.get(\"start_date\"),",
                  "  end_date: pm.variables.get(\"end_date\")",
                  "});",
                  "      "
                ],
                "_lastExecutionId": "b22559e2-22e1-46a3-8966-b50453a48664"
              }
            }
          ],
          "protocolProfileBehavior": {
            "useWhatWGUrlParser": false,
            "disableUrlEncoding": false,
            "disabledSystemHeaders": {},
            "disableCookies": false
          },
          "type": "http",
          "responseDefinition": {
            "id": "599573913",
            "name": "成功",
            "code": 200,
            "contentType": "json",
            "jsonSchema": {
              "type": "object",
              "properties": {},
              "x-apifox-orders": []
            },
            "itemSchema": {},
            "description": "",
            "mediaType": "",
            "headers": [],
            "schemaDefinitions": {}
          },
          "requestDefinition": {
            "jsonSchema": {},
            "examples": []
          },
          "overrideRequesterOptions": {
            "strictSSL": false
          },
          "metaInfo": {
            "blockId": "812eb0ea-9968-41ec-898b-2fa8d6f6b455",
            "id": "812eb0ea-9968-41ec-898b-2fa8d6f6b455",
            "type": "http",
            "name": "登录",
            "projectId": 5737553,
            "relatedId": 6948344,
            "environmentId": 28851641,
            "blockNumber": 2,
            "tags": [],
            "httpApiId": 252596241,
            "httpApiCaseId": 283180902,
            "httpApiName": "登录",
            "httpApiPath": "/p/login/login",
            "httpApiMethod": "post",
            "httpApiCaseName": "登录",
            "moduleId": 4788005,
            "serverId": "default"
          },
          "scope": {
            "blockId": "812eb0ea-9968-41ec-898b-2fa8d6f6b455",
            "id": "812eb0ea-9968-41ec-898b-2fa8d6f6b455",
            "type": "http",
            "name": "登录",
            "projectId": 5737553,
            "relatedId": 6948344,
            "environmentId": 28851641,
            "blockNumber": 2,
            "tags": [],
            "httpApiId": 252596241,
            "httpApiCaseId": 283180902,
            "httpApiName": "登录",
            "httpApiPath": "/p/login/login",
            "httpApiMethod": "post",
            "httpApiCaseName": "登录",
            "moduleId": 4788005,
            "serverId": "default"
          },
          "resolveResponsePassed": {},
          "responseValidation": {
            "schema": {
              "valid": true,
              "message": "",
              "errors": null
            },
            "responseCode": {
              "valid": true
            }
          }
        },
        "cursor": {
          "position": 0,
          "iteration": 0,
          "length": 2,
          "cycles": 1,
          "empty": false,
          "eof": false,
          "bof": true,
          "cr": false,
          "ref": "1f5e7fff-9445-45f4-a3bc-9ece01618e3c",
          "requestIndex": 0,
          "httpRequestId": "e1be89da-2e63-4ab7-a3ba-9c14722a4f72",
          "scriptId": "postProcessors.0.assertion",
          "execution": "cef79024-33c2-4f18-bbef-6cf700daf52f"
        }
      }
    ],
    "stepTree": [
      {
        "ref": "1f5e7fff-9445-45f4-a3bc-9ece01618e3c",
        "type": "http"
      },
      {
        "ref": "993581c6-069f-4f3a-8791-01c3ac38b61f",
        "type": "http"
      }
    ],
    "error": null
  },
  "options": {
    "accessToken": "afxp_b1d5f2P6pF4rgO0gfdfOM5ACs4HJwauEi57o",
    "apiBaseUrl": "https://api.apifox.com",
    "testSuite": [
      2106
    ],
    "environment": 45671644,
    "reporters": [
      "cli",
      "json",
      "junit",
      "html"
    ],
    "outDir": "work_store/apifox/2026-07-09-full-automation-run/reports/suite-2106",
    "outFile": "suite-2106",
    "originalOutFile": "suite-2106",
    "onError": "continue",
    "envVar": [],
    "globalVar": [],
    "color": "off",
    "delayRequest": 0,
    "timeoutRequest": 30000,
    "timeoutScript": 30000,
    "enableBigInt": false,
    "disableRejectUnauthorized": false,
    "maxRetries": 3,
    "allowSecuritySensitiveActions": true,
    "reporterOptions": {
      "name": "智慧营养健康餐厅自动化：自动排菜",
      "runnerId": "1f38aa1e-948a-4df9-a776-ed7df83c3d8d",
      "testSuiteId": 2106,
      "executionCount": 1
    },
    "isUploadReportSummary": false,
    "apifoxVersion": "2.2.6",
    "globals": {},
    "teamGlobals": {}
  },
  "collection": {
    "apifoxCli": "1.1.0",
    "item": [
      {
        "item": [
          {
            "id": "026e18ce-0253-4ea0-b38f-a414d211f39b",
            "name": "登录",
            "request": {
              "url": {
                "protocol": "https",
                "path": [
                  "p",
                  "login",
                  "login"
                ],
                "host": [
                  "zhct",
                  "yyangpt",
                  "cn"
                ],
                "query": [],
                "variable": []
              },
              "header": [
                {
                  "key": "Access-Token",
                  "value": "{{terminal_token}}"
                },
                {
                  "key": "User-Agent",
                  "value": "app/1.0.0"
                }
              ],
              "method": "POST",
              "baseUrl": "https://zhct.yyangpt.cn",
              "body": {
                "mode": "urlencoded",
                "urlencoded": [
                  {
                    "disabled": false,
                    "key": "account",
                    "value": "admin"
                  },
                  {
                    "disabled": false,
                    "key": "pwd",
                    "value": "aaa111"
                  }
                ]
              },
              "type": "http"
            },
            "response": [],
            "event": [
              {
                "listen": "prerequest",
                "script": {
                  "id": "commonScript.assertion",
                  "type": "text/javascript",
                  "exec": [
                    "",
                    "  ____string2Array = function(value) {",
                    "    if(typeof value === 'object'){",
                    "      return value;",
                    "    }",
                    "    try {",
                    "      return JSON.parse(value);",
                    "    } catch (e) {",
                    "      return value;",
                    "    }",
                    "  }",
                    "  ____string2Number = function(value, errorMsg) {",
                    "   if(typeof value !== 'string'){",
                    "     return value;",
                    "   }",
                    "   if (/^\\-?\\d+$/.test(value)) {",
                    "       return parseInt(value);",
                    "   } else if (/^\\-?\\d+\\.\\d+$/.test(value)) {",
                    "       return parseFloat(value);",
                    "   } else {",
                    "       throw new Error(errorMsg || 'Data type mismatch')",
                    "   }",
                    " }",
                    "",
                    "  ____formatValues = function(value, stringCompareValue, comparison) {",
                    "   try{",
                    "     const isNumberComparisons = ['isBelow', 'isAtMost', 'isAbove', 'isAtLeast'].includes(comparison);",
                    "     const isCollectionComparisons = ['isOneOf', 'notOneOf'].includes(comparison);",
                    "     let compareValue;",
                    "     switch (typeof value) {",
                    "         case 'string':",
                    "             if (isNumberComparisons) {",
                    "                value = ____string2Number(value);",
                    "                compareValue = ____string2Number(stringCompareValue);",
                    "             } else if (isCollectionComparisons) {",
                    "                compareValue = ____string2Array(stringCompareValue);",
                    "             } else if (comparison === 'exists' || comparison === 'notExist') {",
                    "                value = /^({%.*%})|({{.*}})$/.test(value) ? undefined : value;",
                    "             } else {",
                    "                compareValue = stringCompareValue;",
                    "             }",
                    "             break;",
                    "         case 'object':",
                    "             const isArray = value instanceof Array;",
                    "             if (isNumberComparisons) {",
                    "                 throw new Error('Values of type object cannot be compared using the ' + comparison + ' method')",
                    "             } else if (isCollectionComparisons && isArray) {",
                    "              throw new Error('Values of type array cannot be compared using the ' + comparison + ' method')",
                    "            } else if (",
                    "              isArray &&",
                    "              comparison === 'include' &&",
                    "              value.includes(stringCompareValue)",
                    "            ) {",
                    "              compareValue = stringCompareValue;",
                    "            } else {",
                    "              try {",
                    "                  compareValue = JSON.parse(stringCompareValue);",
                    "              } catch (e) {",
                    "                  compareValue = stringCompareValue;",
                    "              }",
                    "            }",
                    "             break;",
                    "         case 'boolean':",
                    "             if (isNumberComparisons || isCollectionComparisons) {",
                    "                 throw new Error('Values of type boolean cannot be compared using the ' + comparison + ' method')",
                    "             }",
                    "             compareValue = stringCompareValue === 'true' ? true : (stringCompareValue === 'false' ? false : stringCompareValue);",
                    "             break;",
                    "           case 'bigint':",
                    "           case 'number':",
                    "             if (isNumberComparisons) {",
                    "               compareValue = ____string2Number(stringCompareValue);",
                    "             } else if (isCollectionComparisons) {",
                    "              compareValue = ____string2Array(stringCompareValue);",
                    "              value = '' + value;",
                    "            } else {",
                    "               compareValue = stringCompareValue;",
                    "               value = '' + value;",
                    "             }",
                    "             break;",
                    "         case 'null':",
                    "             if (isNumberComparisons) {",
                    "                 throw new Error('Values of type null cannot be compared using the ' + comparison + ' method')",
                    "             }",
                    "             compareValue = stringCompareValue === 'null' ? null : stringCompareValue;",
                    "             break;",
                    "         default:",
                    "            if (isCollectionComparisons) {",
                    "              compareValue = ____string2Array(stringCompareValue);",
                    "            } else {",
                    "              compareValue = stringCompareValue;",
                    "            }",
                    "            break;",
                    "     }",
                    "     return { compareValue, value };",
                    "   } catch(e) {",
                    "     console.log(e);",
                    "     throw e;",
                    "   }",
                    " }",
                    " "
                  ]
                }
              },
              {
                "listen": "test",
                "script": {
                  "id": "postProcessors.0.assertion",
                  "type": "text/javascript",
                  "exec": [
                    "",
                    "        if (JSON.setEnableBigInt) {",
                    "          JSON.setEnableBigInt(undefined);",
                    "        }",
                    "        ",
                    "  async function ____replaceIn(value) {",
                    "    if (typeof pm.variables.replaceInAsync === 'function') {",
                    "      return await pm.variables.replaceInAsync(value);",
                    "    }",
                    "    return pm.variables.replaceIn(value);",
                    "  };",
                    "",
                    "  ;(async () => {",
                    "    try {",
                    "      const formattedName = await ____replaceIn(`to`);",
                    "      pm.test(formattedName, async function(done) {",
                    "        try {",
                    "          ",
                    "          const expression = await ____replaceIn(`$.data._token`);",
                    "          const JSONPath = require('jsonpath-plus').JSONPath;",
                    "          let jsonData;",
                    "          try {",
                    "            jsonData = pm.response.json();",
                    "          } catch(e) {",
                    "            let text = pm.response.text();",
                    "            const xml2js = require('xml2js');",
                    "            function removeXmlUselessPrefixAndSuffix(text) {",
                    "              const start = text.indexOf('<');",
                    "              const end = text.lastIndexOf('>');",
                    "              if (start === -1 || end === -1) {",
                    "                return text;",
                    "              }",
                    "              return text.substring(start, end + 1);",
                    "            }",
                    "            text = removeXmlUselessPrefixAndSuffix(text);",
                    "            let json;",
                    "            let xmlParseOptions = {",
                    "                explicitArray: false,",
                    "                trim: true,",
                    "                ignoreAttrs: true,",
                    "            };",
                    "            xml2js.parseString(text, xmlParseOptions, function (_, result) {",
                    "                jsonData = result;",
                    "            });",
                    "          }",
                    "          let value = JSONPath({",
                    "            json: jsonData,",
                    "            path: expression,",
                    "            wrap: false",
                    "          });",
                    "",
                    "          if (false && undefined !== undefined) {",
                    "            if (Array.isArray(value)) {",
                    "              value = Number(undefined) >= 0 ? value[undefined] : value[value.length + Number(undefined)];",
                    "            } else {",
                    "              value = undefined;",
                    "            }",
                    "          }",
                    "",
                    "          ",
                    "          ",
                    "    const compareValue = await ____replaceIn(`ABtQ0NxLpaiFEQB1Sdh0tAyGn2CikVRK/QAw82o2Xz2u+coYilioPapdb7NVWwhMX/RdjxU3kyegPFu/PEswgQ==`);",
                    "    const formattedValues = ____formatValues(value, compareValue, 'equal');",
                    "  ",
                    "          pm.expect(formattedValues.value).to.eql(formattedValues.compareValue);",
                    "          done();",
                    "        } catch (err) {",
                    "          done(err);",
                    "        }",
                    "      });",
                    "    } catch(e) {",
                    "      setImmediate(() => { throw e });",
                    "    }",
                    "  })();",
                    "      "
                  ]
                }
              },
              {
                "listen": "test",
                "script": {
                  "id": "postProcessors.1.customScript",
                  "type": "text/javascript",
                  "exec": [
                    "",
                    "        if (JSON.setEnableBigInt) {",
                    "          JSON.setEnableBigInt(undefined);",
                    "        }",
                    "        // 获取当前日期",
                    "const now = new Date();",
                    "// 格式化日期为 YYYY-MM-DD 格式",
                    "const year = now.getFullYear();",
                    "const month = String(now.getMonth() + 1).padStart(2, '0');",
                    "const day = String(now.getDate()).padStart(2, '0');",
                    "const formattedDate = `${year}-${month}-${day}`;",
                    "",
                    "// 输出格式化后的日期",
                    "console.log('当前日期:', formattedDate);",
                    "",
                    "// 设置环境变量（也可以直接修改请求参数）",
                    "pm.variables.set(\"start_date\", formattedDate);",
                    "pm.variables.set(\"end_date\", formattedDate);",
                    "",
                    "// 输出环境变量设置结果",
                    "console.log('已设置环境变量:', {",
                    "  start_date: pm.variables.get(\"start_date\"),",
                    "  end_date: pm.variables.get(\"end_date\")",
                    "});",
                    "      "
                  ]
                }
              }
            ],
            "type": "http",
            "metaInfo": {
              "blockId": "812eb0ea-9968-41ec-898b-2fa8d6f6b455",
              "id": "812eb0ea-9968-41ec-898b-2fa8d6f6b455",
              "type": "http",
              "name": "登录",
              "projectId": 5737553,
              "relatedId": 6948344,
              "environmentId": 28851641,
              "blockNumber": 2,
              "tags": [],
              "httpApiId": 252596241,
              "httpApiCaseId": 283180902,
              "httpApiName": "登录",
              "httpApiPath": "/p/login/login",
              "httpApiMethod": "post",
              "httpApiCaseName": "登录",
              "moduleId": 4788005,
              "serverId": "default"
            },
            "protocolProfileBehavior": {
              "useWhatWGUrlParser": false,
              "disableUrlEncoding": false,
              "disabledSystemHeaders": {},
              "disableCookies": false
            },
            "responseDefinition": {
              "id": "599573913",
              "name": "成功",
              "code": 200,
              "contentType": "json",
              "jsonSchema": {
                "type": "object",
                "properties": {},
                "x-apifox-orders": []
              },
              "itemSchema": {},
              "description": "",
              "mediaType": "",
              "headers": [],
              "schemaDefinitions": {}
            },
            "requestDefinition": {
              "jsonSchema": {},
              "examples": []
            },
            "overrideRequesterOptions": {
              "strictSSL": false
            }
          },
          {
            "id": "ba1cf032-eacf-4afa-be64-53abd698d693",
            "name": "智能排菜接口",
            "request": {
              "url": {
                "protocol": "https",
                "path": [
                  "store",
                  "dishes.pushRule",
                  "aiPush"
                ],
                "host": [
                  "zhct",
                  "yyangpt",
                  "cn"
                ],
                "query": [],
                "variable": []
              },
              "header": [
                {
                  "key": "Cookie",
                  "value": "{{to}}"
                },
                {
                  "key": "Access-Token",
                  "value": "{{terminal_token}}"
                },
                {
                  "key": "User-Agent",
                  "value": "app/1.0.0"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "method": "POST",
              "baseUrl": "https://zhct.yyangpt.cn",
              "body": {
                "mode": "raw",
                "raw": "{\n  \"start_date\": \"{{start_date}}\",\n  \"end_date\": \"{{end_date}}\",\n  \"rule\": {\n    \"1\": 1,\n    \"2\": 2,\n    \"3\": 3\n  }\n}",
                "generateMode": "normal",
                "type": "application/json"
              },
              "type": "http"
            },
            "response": [],
            "event": [
              {
                "listen": "prerequest",
                "script": {
                  "id": "preProcessors.0.customScript",
                  "type": "text/javascript",
                  "exec": [
                    "",
                    "        if (JSON.setEnableBigInt) {",
                    "          JSON.setEnableBigInt(undefined);",
                    "        }",
                    "        // 获取当前日期",
                    "const now = new Date();",
                    "// 格式化日期为 YYYY-MM-DD 格式",
                    "const year = now.getFullYear();",
                    "const month = String(now.getMonth() + 1).padStart(2, '0');",
                    "const day = String(now.getDate()).padStart(2, '0');",
                    "const formattedDate = `${year}-${month}-${day}`;",
                    "",
                    "// 设置环境变量（也可以直接修改请求参数）",
                    "pm.variables.set(\"start_date\", formattedDate);",
                    "pm.variables.set(\"end_date\", formattedDate);",
                    "      "
                  ]
                }
              }
            ],
            "type": "http",
            "metaInfo": {
              "blockId": "661a87a4-3527-4477-92c3-3d8fb7dc4d6b",
              "id": "661a87a4-3527-4477-92c3-3d8fb7dc4d6b",
              "type": "http",
              "name": "智能排菜接口",
              "projectId": 5737553,
              "relatedId": 6948344,
              "environmentId": 28851641,
              "blockNumber": 1,
              "tags": [],
              "httpApiId": 311428832,
              "httpApiCaseId": 283178183,
              "httpApiName": "智能排菜接口",
              "httpApiPath": "/store/dishes.pushRule/aiPush",
              "httpApiMethod": "post",
              "httpApiCaseName": "智能排菜接口",
              "moduleId": 4788005,
              "serverId": "default"
            },
            "protocolProfileBehavior": {
              "useWhatWGUrlParser": false,
              "disableUrlEncoding": false,
              "disabledSystemHeaders": {},
              "disableCookies": false
            },
            "responseDefinition": {
              "validateDeletedResponse": false
            },
            "requestDefinition": {
              "jsonSchema": {
                "type": "object",
                "properties": {}
              },
              "examples": [
                {
                  "value": "{\n    \"start_date\": \"2025-07-01\",\n    \"end_date\": \"2025-07-30\",\n    \"rule\": {\n        \"1\": 1,//早餐规则id，未开启=0\n        \"2\": 2,//午餐规则id，未开启=0\n        \"3\": 3//晚餐规则id，未开启=0\n    }\n}",
                  "mediaType": "application/json",
                  "description": ""
                },
                {
                  "value": "",
                  "mediaType": "none",
                  "description": ""
                }
              ]
            },
            "overrideRequesterOptions": {
              "strictSSL": false
            }
          }
        ],
        "name": "排菜设置"
      }
    ],
    "info": {
      "name": "排菜设置",
      "folderName": "智能排菜"
    },
    "dataSchemas": {},
    "mockRules": {
      "rules": [],
      "enableSystemRule": true
    },
    "environment": {
      "id": 28851641,
      "name": "商户端产业园演示环境",
      "type": "normal",
      "baseUrls": {
        "default": "https://zhct.yyangpt.cn"
      },
      "websocketBaseUrls": {},
      "socketioBaseUrls": {},
      "baseUrl": "https://zhct.yyangpt.cn",
      "variable": {
        "id": "73b66305-c818-4b07-96c7-51451566cd57",
        "name": "商户端产业园演示环境",
        "baseUrl": "https://zhct.yyangpt.cn",
        "baseUrls": {
          "default": "https://zhct.yyangpt.cn"
        },
        "values": [
          {
            "type": "any",
            "value": "",
            "key": "dateFromTempVariable",
            "isBindInitial": false,
            "initialValue": ""
          },
          {
            "type": "any",
            "value": "",
            "key": "bindTime",
            "isBindInitial": false,
            "initialValue": ""
          },
          {
            "type": "any",
            "value": "",
            "key": "delayedBindTime",
            "isBindInitial": false,
            "initialValue": ""
          },
          {
            "type": "any",
            "value": "",
            "key": "formattedDelayedTime",
            "isBindInitial": false,
            "initialValue": ""
          },
          {
            "type": "any",
            "value": "",
            "key": "zqa",
            "isBindInitial": false,
            "initialValue": ""
          }
        ]
      },
      "parameter": {
        "header": [],
        "query": [],
        "body": [],
        "cookie": []
      },
      "advancedSettings": {
        "default": {
          "requestProxySetting": {
            "type": "default",
            "agentId": 2
          }
        }
      }
    },
    "globals": {
      "baseUrls": {},
      "websocketBaseUrls": {},
      "socketioBaseUrls": {},
      "baseUrl": "",
      "variable": {
        "id": "49f63131-f7a8-43c2-8a9d-37972dda5925",
        "baseUrl": "",
        "baseUrls": {},
        "values": [
          {
            "type": "any",
            "value": "",
            "key": "uuid",
            "isBindInitial": true,
            "initialValue": ""
          },
          {
            "type": "any",
            "value": "",
            "key": "提取菜品uuid",
            "isBindInitial": true,
            "initialValue": ""
          },
          {
            "type": "any",
            "value": "",
            "key": "提取菜品名称",
            "isBindInitial": true,
            "initialValue": ""
          },
          {
            "type": "any",
            "value": "",
            "key": "to",
            "isBindInitial": true,
            "initialValue": ""
          },
          {
            "type": "any",
            "value": "",
            "key": "shijian",
            "isBindInitial": true,
            "initialValue": ""
          },
          {
            "type": "any",
            "value": "",
            "key": "dateFromTempVariable",
            "isBindInitial": true,
            "initialValue": ""
          },
          {
            "type": "any",
            "value": "",
            "key": "cee",
            "isBindInitial": true,
            "initialValue": ""
          },
          {
            "type": "any",
            "value": "",
            "key": "sh",
            "isBindInitial": true,
            "initialValue": ""
          },
          {
            "type": "any",
            "value": "onlineshopmall",
            "key": "account-dev",
            "isBindInitial": true,
            "initialValue": "onlineshopmall"
          },
          {
            "type": "any",
            "value": "Shop@2025#Mall&88",
            "key": "pwd-dev",
            "isBindInitial": true,
            "initialValue": "Shop@2025#Mall&88"
          },
          {
            "type": "any",
            "value": "7E3A9D2C5F8B1E4G6H0J2K9L4M1N3P5Q",
            "key": "key-dev",
            "isBindInitial": true,
            "initialValue": "7E3A9D2C5F8B1E4G6H0J2K9L4M1N3P5Q"
          }
        ]
      },
      "parameter": {
        "header": [],
        "query": [],
        "body": [],
        "cookie": []
      }
    },
    "teamGlobals": {
      "baseUrls": {},
      "websocketBaseUrls": {},
      "socketioBaseUrls": {},
      "baseUrl": "",
      "variable": {
        "id": "56367b7a-3911-4f51-ae34-ffdd91acf26e",
        "baseUrl": "",
        "baseUrls": {},
        "values": []
      },
      "parameter": {
        "header": [],
        "query": [],
        "body": [],
        "cookie": []
      }
    },
    "moduleVariablesMap": {
      "4788005": []
    },
    "isServerBuild": true,
    "isTestFlowControl": false,
    "collectionDefinition": {
      "apifoxCli": "1.1.0",
      "item": [
        {
          "item": [
            {
              "id": "026e18ce-0253-4ea0-b38f-a414d211f39b",
              "name": "登录",
              "request": {
                "url": {
                  "protocol": "https",
                  "path": [
                    "p",
                    "login",
                    "login"
                  ],
                  "host": [
                    "zhct",
                    "yyangpt",
                    "cn"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Access-Token",
                    "value": "{{terminal_token}}"
                  },
                  {
                    "key": "User-Agent",
                    "value": "app/1.0.0"
                  }
                ],
                "method": "POST",
                "baseUrl": "https://zhct.yyangpt.cn",
                "body": {
                  "mode": "urlencoded",
                  "urlencoded": [
                    {
                      "disabled": false,
                      "key": "account",
                      "value": "admin"
                    },
                    {
                      "disabled": false,
                      "key": "pwd",
                      "value": "aaa111"
                    }
                  ]
                },
                "type": "http"
              },
              "response": [],
              "event": [
                {
                  "listen": "prerequest",
                  "script": {
                    "id": "commonScript.assertion",
                    "type": "text/javascript",
                    "exec": [
                      "",
                      "  ____string2Array = function(value) {",
                      "    if(typeof value === 'object'){",
                      "      return value;",
                      "    }",
                      "    try {",
                      "      return JSON.parse(value);",
                      "    } catch (e) {",
                      "      return value;",
                      "    }",
                      "  }",
                      "  ____string2Number = function(value, errorMsg) {",
                      "   if(typeof value !== 'string'){",
                      "     return value;",
                      "   }",
                      "   if (/^\\-?\\d+$/.test(value)) {",
                      "       return parseInt(value);",
                      "   } else if (/^\\-?\\d+\\.\\d+$/.test(value)) {",
                      "       return parseFloat(value);",
                      "   } else {",
                      "       throw new Error(errorMsg || 'Data type mismatch')",
                      "   }",
                      " }",
                      "",
                      "  ____formatValues = function(value, stringCompareValue, comparison) {",
                      "   try{",
                      "     const isNumberComparisons = ['isBelow', 'isAtMost', 'isAbove', 'isAtLeast'].includes(comparison);",
                      "     const isCollectionComparisons = ['isOneOf', 'notOneOf'].includes(comparison);",
                      "     let compareValue;",
                      "     switch (typeof value) {",
                      "         case 'string':",
                      "             if (isNumberComparisons) {",
                      "                value = ____string2Number(value);",
                      "                compareValue = ____string2Number(stringCompareValue);",
                      "             } else if (isCollectionComparisons) {",
                      "                compareValue = ____string2Array(stringCompareValue);",
                      "             } else if (comparison === 'exists' || comparison === 'notExist') {",
                      "                value = /^({%.*%})|({{.*}})$/.test(value) ? undefined : value;",
                      "             } else {",
                      "                compareValue = stringCompareValue;",
                      "             }",
                      "             break;",
                      "         case 'object':",
                      "             const isArray = value instanceof Array;",
                      "             if (isNumberComparisons) {",
                      "                 throw new Error('Values of type object cannot be compared using the ' + comparison + ' method')",
                      "             } else if (isCollectionComparisons && isArray) {",
                      "              throw new Error('Values of type array cannot be compared using the ' + comparison + ' method')",
                      "            } else if (",
                      "              isArray &&",
                      "              comparison === 'include' &&",
                      "              value.includes(stringCompareValue)",
                      "            ) {",
                      "              compareValue = stringCompareValue;",
                      "            } else {",
                      "              try {",
                      "                  compareValue = JSON.parse(stringCompareValue);",
                      "              } catch (e) {",
                      "                  compareValue = stringCompareValue;",
                      "              }",
                      "            }",
                      "             break;",
                      "         case 'boolean':",
                      "             if (isNumberComparisons || isCollectionComparisons) {",
                      "                 throw new Error('Values of type boolean cannot be compared using the ' + comparison + ' method')",
                      "             }",
                      "             compareValue = stringCompareValue === 'true' ? true : (stringCompareValue === 'false' ? false : stringCompareValue);",
                      "             break;",
                      "           case 'bigint':",
                      "           case 'number':",
                      "             if (isNumberComparisons) {",
                      "               compareValue = ____string2Number(stringCompareValue);",
                      "             } else if (isCollectionComparisons) {",
                      "              compareValue = ____string2Array(stringCompareValue);",
                      "              value = '' + value;",
                      "            } else {",
                      "               compareValue = stringCompareValue;",
                      "               value = '' + value;",
                      "             }",
                      "             break;",
                      "         case 'null':",
                      "             if (isNumberComparisons) {",
                      "                 throw new Error('Values of type null cannot be compared using the ' + comparison + ' method')",
                      "             }",
                      "             compareValue = stringCompareValue === 'null' ? null : stringCompareValue;",
                      "             break;",
                      "         default:",
                      "            if (isCollectionComparisons) {",
                      "              compareValue = ____string2Array(stringCompareValue);",
                      "            } else {",
                      "              compareValue = stringCompareValue;",
                      "            }",
                      "            break;",
                      "     }",
                      "     return { compareValue, value };",
                      "   } catch(e) {",
                      "     console.log(e);",
                      "     throw e;",
                      "   }",
                      " }",
                      " "
                    ]
                  }
                },
                {
                  "listen": "test",
                  "script": {
                    "id": "postProcessors.0.assertion",
                    "type": "text/javascript",
                    "exec": [
                      "",
                      "        if (JSON.setEnableBigInt) {",
                      "          JSON.setEnableBigInt(undefined);",
                      "        }",
                      "        ",
                      "  async function ____replaceIn(value) {",
                      "    if (typeof pm.variables.replaceInAsync === 'function') {",
                      "      return await pm.variables.replaceInAsync(value);",
                      "    }",
                      "    return pm.variables.replaceIn(value);",
                      "  };",
                      "",
                      "  ;(async () => {",
                      "    try {",
                      "      const formattedName = await ____replaceIn(`to`);",
                      "      pm.test(formattedName, async function(done) {",
                      "        try {",
                      "          ",
                      "          const expression = await ____replaceIn(`$.data._token`);",
                      "          const JSONPath = require('jsonpath-plus').JSONPath;",
                      "          let jsonData;",
                      "          try {",
                      "            jsonData = pm.response.json();",
                      "          } catch(e) {",
                      "            let text = pm.response.text();",
                      "            const xml2js = require('xml2js');",
                      "            function removeXmlUselessPrefixAndSuffix(text) {",
                      "              const start = text.indexOf('<');",
                      "              const end = text.lastIndexOf('>');",
                      "              if (start === -1 || end === -1) {",
                      "                return text;",
                      "              }",
                      "              return text.substring(start, end + 1);",
                      "            }",
                      "            text = removeXmlUselessPrefixAndSuffix(text);",
                      "            let json;",
                      "            let xmlParseOptions = {",
                      "                explicitArray: false,",
                      "                trim: true,",
                      "                ignoreAttrs: true,",
                      "            };",
                      "            xml2js.parseString(text, xmlParseOptions, function (_, result) {",
                      "                jsonData = result;",
                      "            });",
                      "          }",
                      "          let value = JSONPath({",
                      "            json: jsonData,",
                      "            path: expression,",
                      "            wrap: false",
                      "          });",
                      "",
                      "          if (false && undefined !== undefined) {",
                      "            if (Array.isArray(value)) {",
                      "              value = Number(undefined) >= 0 ? value[undefined] : value[value.length + Number(undefined)];",
                      "            } else {",
                      "              value = undefined;",
                      "            }",
                      "          }",
                      "",
                      "          ",
                      "          ",
                      "    const compareValue = await ____replaceIn(`ABtQ0NxLpaiFEQB1Sdh0tAyGn2CikVRK/QAw82o2Xz2u+coYilioPapdb7NVWwhMX/RdjxU3kyegPFu/PEswgQ==`);",
                      "    const formattedValues = ____formatValues(value, compareValue, 'equal');",
                      "  ",
                      "          pm.expect(formattedValues.value).to.eql(formattedValues.compareValue);",
                      "          done();",
                      "        } catch (err) {",
                      "          done(err);",
                      "        }",
                      "      });",
                      "    } catch(e) {",
                      "      setImmediate(() => { throw e });",
                      "    }",
                      "  })();",
                      "      "
                    ]
                  }
                },
                {
                  "listen": "test",
                  "script": {
                    "id": "postProcessors.1.customScript",
                    "type": "text/javascript",
                    "exec": [
                      "",
                      "        if (JSON.setEnableBigInt) {",
                      "          JSON.setEnableBigInt(undefined);",
                      "        }",
                      "        // 获取当前日期",
                      "const now = new Date();",
                      "// 格式化日期为 YYYY-MM-DD 格式",
                      "const year = now.getFullYear();",
                      "const month = String(now.getMonth() + 1).padStart(2, '0');",
                      "const day = String(now.getDate()).padStart(2, '0');",
                      "const formattedDate = `${year}-${month}-${day}`;",
                      "",
                      "// 输出格式化后的日期",
                      "console.log('当前日期:', formattedDate);",
                      "",
                      "// 设置环境变量（也可以直接修改请求参数）",
                      "pm.variables.set(\"start_date\", formattedDate);",
                      "pm.variables.set(\"end_date\", formattedDate);",
                      "",
                      "// 输出环境变量设置结果",
                      "console.log('已设置环境变量:', {",
                      "  start_date: pm.variables.get(\"start_date\"),",
                      "  end_date: pm.variables.get(\"end_date\")",
                      "});",
                      "      "
                    ]
                  }
                }
              ],
              "type": "http",
              "metaInfo": {
                "blockId": "812eb0ea-9968-41ec-898b-2fa8d6f6b455",
                "id": "812eb0ea-9968-41ec-898b-2fa8d6f6b455",
                "type": "http",
                "name": "登录",
                "projectId": 5737553,
                "relatedId": 6948344,
                "environmentId": 28851641,
                "blockNumber": 2,
                "tags": [],
                "httpApiId": 252596241,
                "httpApiCaseId": 283180902,
                "httpApiName": "登录",
                "httpApiPath": "/p/login/login",
                "httpApiMethod": "post",
                "httpApiCaseName": "登录",
                "moduleId": 4788005,
                "serverId": "default"
              },
              "protocolProfileBehavior": {
                "useWhatWGUrlParser": false,
                "disableUrlEncoding": false,
                "disabledSystemHeaders": {},
                "disableCookies": false
              },
              "responseDefinition": {
                "id": "599573913",
                "name": "成功",
                "code": 200,
                "contentType": "json",
                "jsonSchema": {
                  "type": "object",
                  "properties": {},
                  "x-apifox-orders": []
                },
                "itemSchema": {},
                "description": "",
                "mediaType": "",
                "headers": [],
                "schemaDefinitions": {}
              },
              "requestDefinition": {
                "jsonSchema": {},
                "examples": []
              },
              "overrideRequesterOptions": {
                "strictSSL": false
              }
            },
            {
              "id": "ba1cf032-eacf-4afa-be64-53abd698d693",
              "name": "智能排菜接口",
              "request": {
                "url": {
                  "protocol": "https",
                  "path": [
                    "store",
                    "dishes.pushRule",
                    "aiPush"
                  ],
                  "host": [
                    "zhct",
                    "yyangpt",
                    "cn"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Cookie",
                    "value": "{{to}}"
                  },
                  {
                    "key": "Access-Token",
                    "value": "{{terminal_token}}"
                  },
                  {
                    "key": "User-Agent",
                    "value": "app/1.0.0"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "baseUrl": "https://zhct.yyangpt.cn",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"start_date\": \"{{start_date}}\",\n  \"end_date\": \"{{end_date}}\",\n  \"rule\": {\n    \"1\": 1,\n    \"2\": 2,\n    \"3\": 3\n  }\n}",
                  "generateMode": "normal",
                  "type": "application/json"
                },
                "type": "http"
              },
              "response": [],
              "event": [
                {
                  "listen": "prerequest",
                  "script": {
                    "id": "preProcessors.0.customScript",
                    "type": "text/javascript",
                    "exec": [
                      "",
                      "        if (JSON.setEnableBigInt) {",
                      "          JSON.setEnableBigInt(undefined);",
                      "        }",
                      "        // 获取当前日期",
                      "const now = new Date();",
                      "// 格式化日期为 YYYY-MM-DD 格式",
                      "const year = now.getFullYear();",
                      "const month = String(now.getMonth() + 1).padStart(2, '0');",
                      "const day = String(now.getDate()).padStart(2, '0');",
                      "const formattedDate = `${year}-${month}-${day}`;",
                      "",
                      "// 设置环境变量（也可以直接修改请求参数）",
                      "pm.variables.set(\"start_date\", formattedDate);",
                      "pm.variables.set(\"end_date\", formattedDate);",
                      "      "
                    ]
                  }
                }
              ],
              "type": "http",
              "metaInfo": {
                "blockId": "661a87a4-3527-4477-92c3-3d8fb7dc4d6b",
                "id": "661a87a4-3527-4477-92c3-3d8fb7dc4d6b",
                "type": "http",
                "name": "智能排菜接口",
                "projectId": 5737553,
                "relatedId": 6948344,
                "environmentId": 28851641,
                "blockNumber": 1,
                "tags": [],
                "httpApiId": 311428832,
                "httpApiCaseId": 283178183,
                "httpApiName": "智能排菜接口",
                "httpApiPath": "/store/dishes.pushRule/aiPush",
                "httpApiMethod": "post",
                "httpApiCaseName": "智能排菜接口",
                "moduleId": 4788005,
                "serverId": "default"
              },
              "protocolProfileBehavior": {
                "useWhatWGUrlParser": false,
                "disableUrlEncoding": false,
                "disabledSystemHeaders": {},
                "disableCookies": false
              },
              "responseDefinition": {
                "validateDeletedResponse": false
              },
              "requestDefinition": {
                "jsonSchema": {
                  "type": "object",
                  "properties": {}
                },
                "examples": [
                  {
                    "value": "{\n    \"start_date\": \"2025-07-01\",\n    \"end_date\": \"2025-07-30\",\n    \"rule\": {\n        \"1\": 1,//早餐规则id，未开启=0\n        \"2\": 2,//午餐规则id，未开启=0\n        \"3\": 3//晚餐规则id，未开启=0\n    }\n}",
                    "mediaType": "application/json",
                    "description": ""
                  },
                  {
                    "value": "",
                    "mediaType": "none",
                    "description": ""
                  }
                ]
              },
              "overrideRequesterOptions": {
                "strictSSL": false
              }
            }
          ],
          "name": "排菜设置"
        }
      ],
      "info": {
        "name": "排菜设置",
        "folderName": "智能排菜"
      },
      "dataSchemas": {},
      "mockRules": {
        "rules": [],
        "enableSystemRule": true
      },
      "environment": {
        "id": 28851641,
        "name": "商户端产业园演示环境",
        "type": "normal",
        "baseUrls": {
          "default": "https://zhct.yyangpt.cn"
        },
        "websocketBaseUrls": {},
        "socketioBaseUrls": {},
        "baseUrl": "https://zhct.yyangpt.cn",
        "variable": {
          "id": "73b66305-c818-4b07-96c7-51451566cd57",
          "name": "商户端产业园演示环境",
          "baseUrl": "https://zhct.yyangpt.cn",
          "baseUrls": {
            "default": "https://zhct.yyangpt.cn"
          },
          "values": [
            {
              "type": "any",
              "value": "",
              "key": "dateFromTempVariable",
              "isBindInitial": false,
              "initialValue": ""
            },
            {
              "type": "any",
              "value": "",
              "key": "bindTime",
              "isBindInitial": false,
              "initialValue": ""
            },
            {
              "type": "any",
              "value": "",
              "key": "delayedBindTime",
              "isBindInitial": false,
              "initialValue": ""
            },
            {
              "type": "any",
              "value": "",
              "key": "formattedDelayedTime",
              "isBindInitial": false,
              "initialValue": ""
            },
            {
              "type": "any",
              "value": "",
              "key": "zqa",
              "isBindInitial": false,
              "initialValue": ""
            }
          ]
        },
        "parameter": {
          "header": [],
          "query": [],
          "body": [],
          "cookie": []
        },
        "advancedSettings": {
          "default": {
            "requestProxySetting": {
              "type": "default",
              "agentId": 2
            }
          }
        }
      },
      "globals": {
        "baseUrls": {},
        "websocketBaseUrls": {},
        "socketioBaseUrls": {},
        "baseUrl": "",
        "variable": {
          "id": "49f63131-f7a8-43c2-8a9d-37972dda5925",
          "baseUrl": "",
          "baseUrls": {},
          "values": [
            {
              "type": "any",
              "value": "",
              "key": "uuid",
              "isBindInitial": true,
              "initialValue": ""
            },
            {
              "type": "any",
              "value": "",
              "key": "提取菜品uuid",
              "isBindInitial": true,
              "initialValue": ""
            },
            {
              "type": "any",
              "value": "",
              "key": "提取菜品名称",
              "isBindInitial": true,
              "initialValue": ""
            },
            {
              "type": "any",
              "value": "",
              "key": "to",
              "isBindInitial": true,
              "initialValue": ""
            },
            {
              "type": "any",
              "value": "",
              "key": "shijian",
              "isBindInitial": true,
              "initialValue": ""
            },
            {
              "type": "any",
              "value": "",
              "key": "dateFromTempVariable",
              "isBindInitial": true,
              "initialValue": ""
            },
            {
              "type": "any",
              "value": "",
              "key": "cee",
              "isBindInitial": true,
              "initialValue": ""
            },
            {
              "type": "any",
              "value": "",
              "key": "sh",
              "isBindInitial": true,
              "initialValue": ""
            },
            {
              "type": "any",
              "value": "onlineshopmall",
              "key": "account-dev",
              "isBindInitial": true,
              "initialValue": "onlineshopmall"
            },
            {
              "type": "any",
              "value": "Shop@2025#Mall&88",
              "key": "pwd-dev",
              "isBindInitial": true,
              "initialValue": "Shop@2025#Mall&88"
            },
            {
              "type": "any",
              "value": "7E3A9D2C5F8B1E4G6H0J2K9L4M1N3P5Q",
              "key": "key-dev",
              "isBindInitial": true,
              "initialValue": "7E3A9D2C5F8B1E4G6H0J2K9L4M1N3P5Q"
            }
          ]
        },
        "parameter": {
          "header": [],
          "query": [],
          "body": [],
          "cookie": []
        }
      },
      "teamGlobals": {
        "baseUrls": {},
        "websocketBaseUrls": {},
        "socketioBaseUrls": {},
        "baseUrl": "",
        "variable": {
          "id": "56367b7a-3911-4f51-ae34-ffdd91acf26e",
          "baseUrl": "",
          "baseUrls": {},
          "values": []
        },
        "parameter": {
          "header": [],
          "query": [],
          "body": [],
          "cookie": []
        }
      },
      "moduleVariablesMap": {
        "4788005": []
      },
      "defaultModuleId": 4788005,
      "isServerBuild": true,
      "isTestFlowControl": false,
      "databaseConnectionMap": {
        "124921": {
          "id": 124921,
          "createdAt": "2025-11-18T01:30:01.000Z",
          "updatedAt": "2025-11-18T01:30:01.000Z",
          "deletedAt": null,
          "name": "麒麟系统瀚高数据库",
          "type": "postgresql",
          "projectId": 5737553,
          "description": "麒麟系统瀚高数据库",
          "configs": {
            "default": {
              "port": "5866"
            }
          }
        }
      }
    },
    "runOptions": {
      "environmentId": 28851641,
      "useDataSetId": -1,
      "iterationCount": 1,
      "threadCount": 1,
      "onError": "ignore",
      "delayItem": 0,
      "saveReportDetail": "all",
      "saveVariables": true,
      "readGlobalCookie": false,
      "saveGlobalCookie": false,
      "runnerId": 0,
      "variableValue": "INITIAL_VALUE",
      "name": "排菜设置"
    },
    "projectOptions": {
      "enableJsonc": true,
      "enableBigint": false,
      "responseValidate": true,
      "isDefaultUrlEncoding": 2,
      "enableTestScenarioSetting": false,
      "enableYAPICompatScript": false,
      "publishedDocUrlRules": {
        "defaultRule": "RESOURCE_KEY_ONLY",
        "resourceKeyStandard": "LEGACY"
      },
      "folderShareExpandModeSettings": {
        "expandId": [],
        "mode": "AUTO"
      },
      "mockSettings": {},
      "language": "zh-CN"
    },
    "ciRunningOptions": {
      "environmentId": 28851641,
      "useDataSetId": -1,
      "iterationCount": 1,
      "threadCount": 1,
      "onError": "ignore",
      "delayItem": 0,
      "saveReportDetail": "all",
      "saveVariables": true,
      "readGlobalCookie": false,
      "saveGlobalCookie": false,
      "runnerId": 0,
      "variableValue": "INITIAL_VALUE",
      "name": "排菜设置"
    },
    "projectId": 5737553,
    "databaseConnectionMap": {
      "124921": {
        "id": 124921,
        "createdAt": "2025-11-18T01:30:01.000Z",
        "updatedAt": "2025-11-18T01:30:01.000Z",
        "deletedAt": null,
        "name": "麒麟系统瀚高数据库",
        "type": "postgresql",
        "projectId": 5737553,
        "description": "麒麟系统瀚高数据库",
        "configs": {
          "default": {
            "port": "5866"
          }
        }
      }
    },
    "reportUrlTemplate": "https://app.apifox.com/link/project/{{projectId}}/api-test/test-report/{{id}}",
    "reportExtra": {
      "runOptions": {
        "environmentId": 28851641,
        "useDataSetId": -1,
        "iterationCount": 1,
        "threadCount": 1,
        "onError": "ignore",
        "delayItem": 0,
        "saveReportDetail": "all",
        "saveVariables": true,
        "readGlobalCookie": false,
        "saveGlobalCookie": false,
        "runnerId": 0,
        "variableValue": "INITIAL_VALUE",
        "name": "排菜设置"
      },
      "testScenario": {
        "id": 6948344,
        "name": "排菜设置"
      },
      "branch": {
        "id": 5420249,
        "name": "main"
      }
    },
    "runnerId": "308c16f1-f22b-4dfd-adcf-bd273a62da44",
    "name": "排菜设置"
  }
}