{
  "openapi": "3.0.1",
  "info": {
    "title": "默认模块",
    "description": "由《英吉多康健大屏设备用户系统对接文档》整理生成的 OpenAPI 3.1 规范（JSON）。\n\n注意：原文档部分接口的请求/返回字段在 PDF 中展示不完整（如 /userLoginResult 返回字段、分页参数等）。本规范在不确定处做了“最小可用”建模，并用 description 标注了“可能需要对齐原厂”。",
    "version": "1.0.0"
  },
  "tags": [
    {
      "name": "AI运动营养师"
    },
    {
      "name": "AI运动营养师/用户认证模块"
    },
    {
      "name": "AI运动营养师/用户认证模块/验证流程"
    },
    {
      "name": "AI运动营养师/用户认证模块/登录"
    },
    {
      "name": "AI运动营养师/用户认证模块/微信小程序登录态恢复"
    },
    {
      "name": "AI运动营养师/用户认证模块/H5免登"
    },
    {
      "name": "AI运动营养师/首页"
    },
    {
      "name": "AI运动营养师/首页/首页总览及日历"
    },
    {
      "name": "AI运动营养师/首页/早餐及早加餐、菜品营养"
    },
    {
      "name": "AI运动营养师/首页/营养单日及阶段报告"
    },
    {
      "name": "AI运动营养师/我的"
    },
    {
      "name": "AI运动营养师/我的/基本信息"
    },
    {
      "name": "AI运动营养师/我的/运动数据"
    },
    {
      "name": "AI运动营养师/我的/体重管理"
    },
    {
      "name": "AI运动营养师/我的/体脂秤"
    },
    {
      "name": "AI运动营养师/我的/健康建议"
    },
    {
      "name": "AI运动营养师/百炼AI"
    },
    {
      "name": "AI运动营养师/菜品管理"
    },
    {
      "name": "AI运动营养师/数据同步"
    },
    {
      "name": "AI运动营养师/小程序设置"
    },
    {
      "name": "AI运动营养师/CozeAI"
    },
    {
      "name": "AI运动营养师/AI"
    },
    {
      "name": "AI运动营养师/华为健康"
    },
    {
      "name": "AI运动营养师/健康建议"
    },
    {
      "name": "AI运动营养师/订单管理"
    },
    {
      "name": "AI运动营养师/用户管理"
    },
    {
      "name": "AI运动营养师/提现"
    },
    {
      "name": "AI运动营养师/订餐"
    },
    {
      "name": "AI运动营养师/订餐/购物车"
    },
    {
      "name": "AI运动营养师/订餐/订单支付"
    },
    {
      "name": "AI运动营养师/活动"
    },
    {
      "name": "AI运动营养师/活动/活动排行榜"
    },
    {
      "name": "AI运动营养师/积分排行榜"
    },
    {
      "name": "AI运动营养师/设备数据同步"
    },
    {
      "name": "AI运动营养师/设备数据同步/沃莱体脂秤"
    },
    {
      "name": "AI运动营养师/设备数据同步/跳绳"
    },
    {
      "name": "AI运动营养师/设备数据同步/云康宝体脂秤"
    },
    {
      "name": "AI运动营养师/运动课程"
    },
    {
      "name": "AI运动营养师/运动建议"
    },
    {
      "name": "AI运动营养师/运动"
    },
    {
      "name": "AI运动营养师/英吉多设备"
    },
    {
      "name": "AI运动营养师/英吉多设备/小程序接口"
    },
    {
      "name": "AI运动营养师/中国银行"
    },
    {
      "name": "AI运动营养师/订单"
    },
    {
      "name": "AI运动营养师/订单/外卖记录"
    },
    {
      "name": "AI运动营养师/AI问答"
    },
    {
      "name": "AI运动营养师/AI问答/会话历史"
    },
    {
      "name": "验证流程"
    },
    {
      "name": "用户认证模块/微信小程序登录态恢复"
    },
    {
      "name": "用户认证模块/H5免登"
    },
    {
      "name": "订单/外卖记录"
    },
    {
      "name": "AI问答/会话历史"
    }
  ],
  "paths": {
    "/api/user/info": {
      "get": {
        "summary": "验证步骤2/4 用户信息(受保护)",
        "deprecated": false,
        "description": "带 Access-Token 请求受保护接口。\n\n若 password_status=0/1，接口会返回403并提示修改密码；\n改密后旧 token 会返回401。",
        "tags": [
          "AI运动营养师/用户认证模块/验证流程",
          "验证流程"
        ],
        "parameters": [
          {
            "name": "Access-Token",
            "in": "header",
            "description": "登录 token",
            "required": true,
            "example": "{{Access-Token}}",
            "schema": {
              "type": "string",
              "default": "{{Access-Token}}"
            }
          },
          {
            "name": "platform",
            "in": "header",
            "description": "客户端来源",
            "required": false,
            "example": "MP-WEIXIN",
            "schema": {
              "type": "string",
              "default": "MP-WEIXIN"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "成功返回用户信息",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "integer"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "x-apifox-orders": [],
                      "properties": {},
                      "x-apifox-ignore-properties": []
                    },
                    "trace_id": {
                      "type": "string"
                    }
                  },
                  "x-apifox-orders": [
                    "status",
                    "message",
                    "data",
                    "trace_id"
                  ],
                  "x-apifox-ignore-properties": []
                }
              }
            },
            "headers": {},
            "x-apifox-ordering": 0
          },
          "401": {
            "description": "登录状态已失效",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "integer"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "x-apifox-orders": [],
                      "properties": {},
                      "x-apifox-ignore-properties": []
                    },
                    "trace_id": {
                      "type": "string"
                    }
                  },
                  "x-apifox-orders": [
                    "status",
                    "message",
                    "data",
                    "trace_id"
                  ],
                  "x-apifox-ignore-properties": []
                },
                "examples": {
                  "1": {
                    "summary": "成功示例",
                    "value": {
                      "status": 401,
                      "message": "登录状态已失效，请重新登录",
                      "data": [],
                      "trace_id": "..."
                    }
                  },
                  "3": {
                    "summary": "成功示例",
                    "value": {
                      "status": 401,
                      "message": "登录状态已失效，请重新登录",
                      "data": [],
                      "trace_id": "..."
                    }
                  }
                }
              }
            },
            "headers": {},
            "x-apifox-ordering": 1
          },
          "403": {
            "description": "需要修改密码",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "integer"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "x-apifox-orders": [],
                      "properties": {},
                      "x-apifox-ignore-properties": []
                    },
                    "trace_id": {
                      "type": "string"
                    }
                  },
                  "x-apifox-orders": [
                    "status",
                    "message",
                    "data",
                    "trace_id"
                  ],
                  "x-apifox-ignore-properties": []
                },
                "examples": {
                  "2": {
                    "summary": "成功示例",
                    "value": {
                      "status": 403,
                      "message": "请先修改密码",
                      "data": {
                        "needChangePassword": 1,
                        "passwordStatus": 0
                      },
                      "trace_id": "..."
                    }
                  },
                  "4": {
                    "summary": "成功示例",
                    "value": {
                      "status": 403,
                      "message": "请先修改密码",
                      "data": {
                        "needChangePassword": 1,
                        "passwordStatus": 0
                      },
                      "trace_id": "..."
                    }
                  }
                }
              }
            },
            "headers": {},
            "x-apifox-ordering": 2
          }
        },
        "security": [],
        "x-apifox-folder": "AI运动营养师/用户认证模块/验证流程",
        "x-apifox-status": "released",
        "x-run-in-apifox": "https://app.apifox.com/web/project/6067185/apis/api-412208303-run"
      }
    },
    "/api/passport/changePassword": {
      "post": {
        "summary": "验证步骤3/6 修改密码(不退出登录)",
        "deprecated": false,
        "description": "修改为合规密码。成功后当前会话继续有效，但旧 token 会失效。",
        "tags": [
          "AI运动营养师/用户认证模块/验证流程",
          "验证流程"
        ],
        "parameters": [
          {
            "name": "Access-Token",
            "in": "header",
            "description": "登录 token",
            "required": true,
            "example": "30dfe8b7f25ce820fba9f197c4ed3a16",
            "schema": {
              "type": "string",
              "default": "{{Access-Token}}"
            }
          },
          {
            "name": "platform",
            "in": "header",
            "description": "客户端来源",
            "required": false,
            "example": "MP-WEIXIN",
            "schema": {
              "type": "string",
              "default": "MP-WEIXIN"
            }
          },
          {
            "name": "Content-Type",
            "in": "header",
            "description": "",
            "required": false,
            "example": "application/json",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "form"
                ],
                "properties": {
                  "form": {
                    "type": "object",
                    "required": [
                      "oldPassword",
                      "newPassword",
                      "confirmPassword"
                    ],
                    "properties": {
                      "oldPassword": {
                        "type": "string"
                      },
                      "newPassword": {
                        "type": "string"
                      },
                      "confirmPassword": {
                        "type": "string"
                      }
                    },
                    "x-apifox-orders": [
                      "oldPassword",
                      "newPassword",
                      "confirmPassword"
                    ],
                    "x-apifox-ignore-properties": []
                  }
                },
                "x-apifox-orders": [
                  "form"
                ],
                "x-apifox-ignore-properties": []
              },
              "example": {
                "form": {
                  "oldPassword": "cptyy@123",
                  "newPassword": "Abc!2345",
                  "confirmPassword": "Abc!2345"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "修改成功",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "integer",
                      "example": 200
                    },
                    "message": {
                      "type": "string",
                      "example": "密码修改成功"
                    },
                    "data": {
                      "type": "object",
                      "x-apifox-orders": [],
                      "properties": {},
                      "x-apifox-ignore-properties": []
                    },
                    "trace_id": {
                      "type": "string"
                    }
                  },
                  "x-apifox-orders": [
                    "status",
                    "message",
                    "data",
                    "trace_id"
                  ],
                  "x-apifox-ignore-properties": []
                }
              }
            },
            "headers": {},
            "x-apifox-ordering": 0
          }
        },
        "security": [],
        "x-apifox-folder": "AI运动营养师/用户认证模块/验证流程",
        "x-apifox-status": "released",
        "x-run-in-apifox": "https://app.apifox.com/web/project/6067185/apis/api-412208304-run"
      }
    },
    "/index.php": {
      "post": {
        "summary": "跳绳数据上传-弃用",
        "deprecated": false,
        "description": "\n```\n{\n  \"mac\": \"50:3D:EB:3A:A0:89\", // 设备的 MAC 地址：用于标识唯一的跳绳设备\n  \"mode\": \"freedom\", // 运动模式：freedom (自由), timing (计时), counting (计次)\n  \"modeLabel\": \"自由跳绳\",\n  \"stoppedAt\": 1766454539955, // 结束时间戳：运动停止时的毫秒级 Unix 时间戳\n  \"dateKey\": \"2025-12-23\", // 日期键：用于数据库检索或历史记录分组的日期标识\n  \"dateLabel\": \"2025/12/23\", // 日期显示：格式化后的运动日期\n  \"timeLabel\": \"09:48\", // 时间显示：运动开始或结束的具体时间点\n  \"count\": 65, // 总跳数：本次运动累计完成的跳绳总次数\n  \"duration\": 17, // 总时长：本次运动的总耗时（单位：秒）\n  \"calories\": 4, // 消耗能量：本次运动消耗的卡路里（单位：kcal）\n  \"fatBurnEfficiency\": 847, // 燃脂效率：单位时间内的燃脂系数（通常为业务逻辑计算得出）\n  \"avgFreq\": 3664, // 平均频率：运动期间的平均速度（通常需除以 100 得到每分钟跳数，如 36.64 次/分）\n  \"maxFreq\": 229, // 最大频率：本次运动中达到的最快瞬时频率（次/分）\n  \"mostJump\": 65, // 最大连跳数：在不中断（不绊绳）的情况下的最大连续跳跃次数\n  \"ropeTrips\": 0, // 绊绳次数：运动过程中因勾脚等原因导致的停顿/中断次数\n  \"target\": {\n    \"seconds\": 20 // 目标设定：在计时模式下设定的倒计时时长（单位：秒）\n  },\n  \"data\": { // 原始 SDK 数据对象：对应文档中的 ICSkipData 结构\n    \"manfId\": 0, \n    \"nodeId\": 0, \n    \"nodeInfo\": 0, \n    \"mac\": \"\", // 内部 MAC：SDK 回调中的原始地址（此处为空可能由上层透传）\n    \"battery\": 0, // 设备电量：跳绳当前的剩余百分比电量 (0-100)\n    \"isStabilized\": true, // 数据稳定标志：true 表示运动已确认结束，数据不再变动\n    \"time\": 1766454520, // SDK 时间戳：设备记录的原始秒级时间戳\n    \"actual_time\": 17, // 有效运动时长：剔除暂停或异常后的真实运动秒数\n    \"mode\": 0, // 原始模式枚举：0-自由, 1-计时, 2-计次\n    \"setting\": 0, // 原始目标设定值：根据模式对应时间或次数的原始设定\n    \"elapsed_time\": 17, // 累计用时：同 duration，SDK 输出的原始经过时间\n    \"skip_count\": 65, // 原始跳数：同 count，SDK 输出的原始跳跃次数\n    \"dbl_skip_count\": 0, // 双摇次数：检测到的“双摇”（跳一次转两圈）的次数\n    \"avg_freq\": 3664, // 原始平均频率：SDK 直接输出的平均频次\n    \"fastest_freq\": 229, // 原始最高频率：SDK 记录的最快速度\n    \"calories_burned\": 4, // 原始消耗卡路里：SDK 内部算法计算的热量\n    \"fat_burn_efficiency\": 847.0588, // 原始燃脂效率：高精度的业务计算值\n    \"freq_count\": 0, // 频率段总数：freqs 数组的大小或分段统计次数\n    \"most_jump\": 65, // 原始连跳数：SDK 记录的最大连续数\n    \"freqs\": [ // 频率分布详情：对应文档中的 ICSkipFreqData\n      {\n        \"duration\": 17, // 分段时长：该频率记录持续的秒数\n        \"skip_count\": 65 // 分段跳数：在该时长内完成的跳数\n      }\n    ]\n  }\n}\n```\n",
        "tags": [
          "AI运动营养师"
        ],
        "parameters": [
          {
            "name": "s",
            "in": "query",
            "description": "",
            "required": false,
            "example": "api/rope_skipping/add",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "platform",
            "in": "header",
            "description": "",
            "required": false,
            "example": "MP-WEIXIN",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Access-Token",
            "in": "header",
            "description": "",
            "example": "{{Access-Token}}",
            "schema": {
              "type": "string",
              "default": "{{Access-Token}}"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              },
              "examples": {}
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {},
                  "x-apifox-orders": [],
                  "x-apifox-ignore-properties": []
                }
              }
            },
            "headers": {},
            "x-apifox-name": "成功",
            "x-apifox-ordering": 0
          }
        },
        "security": [],
        "x-apifox-folder": "AI运动营养师",
        "x-apifox-status": "developing",
        "x-run-in-apifox": "https://app.apifox.com/web/project/6067185/apis/api-395309062-run"
      },
      "get": {
        "summary": "跳绳数据列表-弃用",
        "deprecated": false,
        "description": "",
        "tags": [
          "AI运动营养师"
        ],
        "parameters": [
          {
            "name": "s",
            "in": "query",
            "description": "",
            "required": false,
            "example": "api/rope_skipping/add",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "页码",
            "required": false,
            "example": "1",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pagesize",
            "in": "query",
            "description": "每页条数",
            "required": false,
            "example": "10",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "platform",
            "in": "header",
            "description": "",
            "required": false,
            "example": "MP-WEIXIN",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Access-Token",
            "in": "header",
            "description": "",
            "example": "{{Access-Token}}",
            "schema": {
              "type": "string",
              "default": "{{Access-Token}}"
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {}
              },
              "examples": {}
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {},
                  "x-apifox-orders": [],
                  "x-apifox-ignore-properties": []
                }
              }
            },
            "headers": {},
            "x-apifox-name": "成功",
            "x-apifox-ordering": 0
          }
        },
        "security": [],
        "x-apifox-folder": "AI运动营养师",
        "x-apifox-status": "developing",
        "x-run-in-apifox": "https://app.apifox.com/web/project/6067185/apis/api-395461687-run"
      }
    },
    "/api/passport/restoreMpWxLogin": {
      "post": {
        "summary": "微信小程序静默恢复登录态",
        "deprecated": false,
        "description": "新版本可传 openid + enterprise_no + user_id；后台会校验 openid 与 user_id 在当前企业库确实绑定后才发 token。旧版本不传 user_id 时继续按 openid 恢复。",
        "tags": [
          "AI运动营养师/用户认证模块/微信小程序登录态恢复",
          "用户认证模块/微信小程序登录态恢复"
        ],
        "parameters": [
          {
            "name": "enterprise-no",
            "in": "header",
            "description": "企业编号。静默登录和退出登录企业项目接口需要携带；默认项目路由接口不要携带。",
            "required": false,
            "example": "",
            "schema": {
              "type": "string",
              "example": "10001"
            }
          },
          {
            "name": "Access-Token",
            "in": "header",
            "description": "",
            "example": "{{Access-Token}}",
            "schema": {
              "type": "string",
              "default": "{{Access-Token}}"
            }
          },
          {
            "name": "platform",
            "in": "header",
            "description": "",
            "example": "MP-WEIXIN",
            "schema": {
              "type": "string",
              "default": "MP-WEIXIN"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RestoreMpWxLoginRequest"
              },
              "examples": {
                "newClient": {
                  "value": {
                    "form": {
                      "openid": "oz3la7GpnxnSzCMohXV27YlbkrUw",
                      "appid": "wxb4e2e1480798187c",
                      "enterprise_no": "10001"
                    }
                  },
                  "summary": "新版本传 openid"
                },
                "legacyClient": {
                  "value": {
                    "form": {
                      "code": "0f3a1b...",
                      "enterprise_no": "10001"
                    }
                  },
                  "summary": "旧版本传 code"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "登录成功",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LoginTokenResponse"
                },
                "example": {
                  "status": 200,
                  "message": "登录成功",
                  "data": {
                    "userId": 123,
                    "token": "login-token"
                  }
                }
              }
            },
            "headers": {},
            "x-apifox-name": "成功",
            "x-apifox-ordering": 0
          }
        },
        "security": [],
        "x-apifox-folder": "AI运动营养师/用户认证模块/微信小程序登录态恢复",
        "x-apifox-status": "released",
        "x-run-in-apifox": "https://app.apifox.com/web/project/6067185/apis/api-458519074-run"
      }
    },
    "/api/passport/resolveMpWxEnterprise": {
      "post": {
        "summary": "微信小程序识别最近登录企业",
        "deprecated": false,
        "description": "清缓存或无本地登录态时调用。请求头不带 enterprise-no，走默认项目。后台通过 wx.login code 换取 openid，并查询默认库最近企业路由。若用户主动退出过，返回 enterpriseNo 为空并带 logoutDisabled=1。",
        "tags": [
          "AI运动营养师/用户认证模块/微信小程序登录态恢复",
          "用户认证模块/微信小程序登录态恢复"
        ],
        "parameters": [
          {
            "name": "Access-Token",
            "in": "header",
            "description": "",
            "example": "{{Access-Token}}",
            "schema": {
              "type": "string",
              "default": "{{Access-Token}}"
            }
          },
          {
            "name": "platform",
            "in": "header",
            "description": "",
            "example": "MP-WEIXIN",
            "schema": {
              "type": "string",
              "default": "MP-WEIXIN"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ResolveMpWxEnterpriseRequest"
              },
              "example": {
                "form": {
                  "code": "0f3a1b...",
                  "appid": "wxb4e2e1480798187c"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "识别成功",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResolveMpWxEnterpriseResponse"
                },
                "examples": {
                  "hasEnterprise": {
                    "summary": "存在最近企业",
                    "value": {
                      "status": 200,
                      "message": "识别成功",
                      "data": {
                        "appid": "wxb4e2e1480798187c",
                        "openid": "oz3la7GpnxnSzCMohXV27YlbkrUw",
                        "enterpriseNo": "10001"
                      }
                    }
                  },
                  "logoutDisabled": {
                    "summary": "用户主动退出后不返回企业",
                    "value": {
                      "status": 200,
                      "message": "识别成功",
                      "data": {
                        "appid": "wxb4e2e1480798187c",
                        "openid": "oz3la7GpnxnSzCMohXV27YlbkrUw",
                        "enterpriseNo": "",
                        "logoutDisabled": 1
                      }
                    }
                  }
                }
              }
            },
            "headers": {},
            "x-apifox-name": "成功",
            "x-apifox-ordering": 0
          }
        },
        "security": [],
        "x-apifox-folder": "AI运动营养师/用户认证模块/微信小程序登录态恢复",
        "x-apifox-status": "released",
        "x-run-in-apifox": "https://app.apifox.com/web/project/6067185/apis/api-459220105-run"
      }
    },
    "/api/passport/bindMpWxEnterpriseRoute": {
      "post": {
        "summary": "微信小程序记录最近登录企业",
        "deprecated": false,
        "description": "正常登录成功后调用，默认库记录 appid + openid 最近登录的 enterprise_no + user_id；同一微信多账号时最新登录成功的用户覆盖旧记录。",
        "tags": [
          "AI运动营养师/用户认证模块/微信小程序登录态恢复",
          "用户认证模块/微信小程序登录态恢复"
        ],
        "parameters": [
          {
            "name": "Access-Token",
            "in": "header",
            "description": "",
            "example": "{{Access-Token}}",
            "schema": {
              "type": "string",
              "default": "{{Access-Token}}"
            }
          },
          {
            "name": "platform",
            "in": "header",
            "description": "",
            "example": "MP-WEIXIN",
            "schema": {
              "type": "string",
              "default": "MP-WEIXIN"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BindMpWxEnterpriseRouteRequest"
              },
              "example": {
                "form": {
                  "openid": "oz3la7GpnxnSzCMohXV27YlbkrUw",
                  "appid": "wxb4e2e1480798187c",
                  "enterprise_no": "10001"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "记录成功",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmptySuccessResponse"
                },
                "example": {
                  "status": 200,
                  "message": "记录成功",
                  "data": []
                }
              }
            },
            "headers": {},
            "x-apifox-name": "成功",
            "x-apifox-ordering": 0
          }
        },
        "security": [],
        "x-apifox-folder": "AI运动营养师/用户认证模块/微信小程序登录态恢复",
        "x-apifox-status": "released",
        "x-run-in-apifox": "https://app.apifox.com/web/project/6067185/apis/api-459220106-run"
      }
    },
    "/api/passport/disableMpWxEnterpriseRoute": {
      "post": {
        "summary": "微信小程序禁用最近登录企业恢复",
        "deprecated": false,
        "description": "退出登录可按 openid/code 禁用当前微信；修改密码后可只传 enterprise_no + user_id，禁用该企业该用户所有 openid 自动恢复。",
        "tags": [
          "AI运动营养师/用户认证模块/微信小程序登录态恢复",
          "用户认证模块/微信小程序登录态恢复"
        ],
        "parameters": [
          {
            "name": "Access-Token",
            "in": "header",
            "description": "",
            "example": "{{Access-Token}}",
            "schema": {
              "type": "string",
              "default": "{{Access-Token}}"
            }
          },
          {
            "name": "platform",
            "in": "header",
            "description": "",
            "example": "MP-WEIXIN",
            "schema": {
              "type": "string",
              "default": "MP-WEIXIN"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DisableMpWxEnterpriseRouteRequest"
              },
              "example": {
                "form": {
                  "openid": "oz3la7GpnxnSzCMohXV27YlbkrUw",
                  "appid": "wxb4e2e1480798187c",
                  "enterprise_no": "10001"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "记录成功",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmptySuccessResponse"
                },
                "example": {
                  "status": 200,
                  "message": "记录成功",
                  "data": []
                }
              }
            },
            "headers": {},
            "x-apifox-name": "成功",
            "x-apifox-ordering": 0
          }
        },
        "security": [],
        "x-apifox-folder": "AI运动营养师/用户认证模块/微信小程序登录态恢复",
        "x-apifox-status": "released",
        "x-run-in-apifox": "https://app.apifox.com/web/project/6067185/apis/api-459220107-run"
      }
    },
    "/api/passport/logout": {
      "post": {
        "summary": "退出登录",
        "deprecated": false,
        "description": "用户主动退出登录。请求头带 enterprise-no 时由 Nginx 转发到企业项目，企业库记录 user_oauth.silent_login_disabled=1；新版本会同时调用 disableMpWxEnterpriseRoute 禁用默认路由恢复。旧版本不传 openid 时仍按当前用户绑定关系处理。",
        "tags": [
          "AI运动营养师/用户认证模块/微信小程序登录态恢复",
          "用户认证模块/微信小程序登录态恢复"
        ],
        "parameters": [
          {
            "name": "enterprise-no",
            "in": "header",
            "description": "企业编号。静默登录和退出登录企业项目接口需要携带；默认项目路由接口不要携带。",
            "required": false,
            "example": "",
            "schema": {
              "type": "string",
              "example": "10001"
            }
          },
          {
            "name": "Access-Token",
            "in": "header",
            "description": "登录 token。退出登录时通常需要携带。",
            "required": false,
            "example": "",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "platform",
            "in": "header",
            "description": "",
            "example": "MP-WEIXIN",
            "schema": {
              "type": "string",
              "default": "MP-WEIXIN"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LogoutRequest"
              },
              "example": {
                "form": {
                  "openid": "oz3la7GpnxnSzCMohXV27YlbkrUw",
                  "appid": "wxb4e2e1480798187c",
                  "enterprise_no": "10001"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "操作成功",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmptySuccessResponse"
                },
                "example": {
                  "status": 200,
                  "message": "操作成功",
                  "data": []
                }
              }
            },
            "headers": {},
            "x-apifox-name": "成功",
            "x-apifox-ordering": 0
          }
        },
        "security": [],
        "x-apifox-folder": "AI运动营养师/用户认证模块/微信小程序登录态恢复",
        "x-apifox-status": "released",
        "x-run-in-apifox": "https://app.apifox.com/web/project/6067185/apis/api-458472676-run"
      }
    },
    "/api/sso/ticket/create": {
      "post": {
        "summary": "江苏国信小程序申请 H5 免登 ticket",
        "deprecated": false,
        "description": "小程序方后端在用户已登录后，使用可信手机号向智慧食堂后端申请一次性 ticket。该接口必须由小程序后端调用，不允许在小程序前端调用，也不能把签名密钥下发到前端。\n\n业务规则：\n- provider 固定为 jsgx_wechat_applet_001。\n- mobile 必须是小程序后端登录态中的可信手机号。\n- 后端校验 provider、timestamp、nonce、sign 后查询智慧食堂账号。\n- 手机号不存在时返回手机号不存在。\n- ticket 默认 300 秒有效，只能消费一次。\n- redirect_url 由数据库 yoshop_sso_provider.redirect_domain 生成，形如 https://{redirect_domain}/web/#/home?ticket={ticket}。\n\n签名规则：\n- 参与签名字段：provider、mobile、timestamp、nonce。\n- 按字段名 ASCII 升序排序。\n- 使用 RFC3986 URL 编码拼接查询串。\n- 使用双方线下约定 secret 计算 HMAC-SHA256，输出小写 hex。\n- 示例待签名字符串：mobile=13800000000&nonce=random_abc123&provider=jsgx_wechat_applet_001&timestamp=1710000000。",
        "operationId": "createJsgxWechatAppletSsoTicket",
        "tags": [
          "AI运动营养师/用户认证模块/H5免登",
          "用户认证模块/H5免登"
        ],
        "parameters": [
          {
            "name": "Access-Token",
            "in": "header",
            "description": "",
            "example": "{{Access-Token}}",
            "schema": {
              "type": "string",
              "default": "{{Access-Token}}"
            }
          },
          {
            "name": "platform",
            "in": "header",
            "description": "",
            "example": "MP-WEIXIN",
            "schema": {
              "type": "string",
              "default": "MP-WEIXIN"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "type": "object",
                "properties": {
                  "provider": {
                    "type": "string",
                    "description": "固定值：jsgx_wechat_applet_001",
                    "example": "jsgx_wechat_applet_001"
                  },
                  "mobile": {
                    "type": "string",
                    "description": "小程序后端从登录态取得的可信手机号",
                    "example": "13800000000"
                  },
                  "timestamp": {
                    "type": "integer",
                    "description": "Unix 秒级时间戳，默认允许误差 300 秒",
                    "example": 1710000000
                  },
                  "nonce": {
                    "type": "string",
                    "description": "随机字符串，同一 provider 下不可重复",
                    "example": "random_abc123"
                  },
                  "sign": {
                    "type": "string",
                    "description": "HMAC-SHA256 签名，小写 hex",
                    "example": "0f6e000000000000000000000000000000000000000000000000000000000000"
                  }
                },
                "required": [
                  "provider",
                  "mobile",
                  "timestamp",
                  "nonce",
                  "sign"
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "申请成功",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateSsoTicketSuccessResponse"
                },
                "examples": {
                  "success": {
                    "summary": "成功响应",
                    "value": {
                      "status": 200,
                      "message": "ok",
                      "data": {
                        "ticket": "sso_随机字符串",
                        "expires_in": 300,
                        "redirect_url": "https://jsgx.yyangpt.cn/web/#/home?ticket=sso_%E9%9A%8F%E6%9C%BA%E5%AD%97%E7%AC%A6%E4%B8%B2"
                      }
                    }
                  }
                }
              }
            },
            "headers": {},
            "x-apifox-name": "成功",
            "x-apifox-ordering": 0
          },
          "400": {
            "description": "请求参数错误",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonErrorResponse"
                },
                "examples": {
                  "badMobile": {
                    "summary": "手机号格式错误",
                    "value": {
                      "status": 400,
                      "message": "手机号格式错误",
                      "data": []
                    }
                  },
                  "missingNonce": {
                    "summary": "缺少 nonce",
                    "value": {
                      "status": 400,
                      "message": "缺少nonce",
                      "data": []
                    }
                  }
                }
              }
            },
            "headers": {},
            "x-apifox-name": "请求有误",
            "x-apifox-ordering": 1
          },
          "401": {
            "description": "签名或时间戳错误",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonErrorResponse"
                },
                "examples": {
                  "expired": {
                    "summary": "请求已过期",
                    "value": {
                      "status": 401,
                      "message": "请求已过期",
                      "data": []
                    }
                  },
                  "badSign": {
                    "summary": "签名错误",
                    "value": {
                      "status": 401,
                      "message": "签名错误",
                      "data": []
                    }
                  }
                }
              }
            },
            "headers": {},
            "x-apifox-name": "没有权限",
            "x-apifox-ordering": 2
          },
          "403": {
            "description": "provider 不支持或未启用",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonErrorResponse"
                },
                "examples": {
                  "providerUnsupported": {
                    "summary": "provider 不支持",
                    "value": {
                      "status": 403,
                      "message": "provider不支持",
                      "data": []
                    }
                  },
                  "providerDisabled": {
                    "summary": "provider 未启用",
                    "value": {
                      "status": 403,
                      "message": "provider未启用",
                      "data": []
                    }
                  }
                }
              }
            },
            "headers": {},
            "x-apifox-name": "禁止访问",
            "x-apifox-ordering": 3
          },
          "404": {
            "description": "手机号没有对应智慧食堂账号",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonErrorResponse"
                },
                "examples": {
                  "mobileNotFound": {
                    "summary": "手机号不存在",
                    "value": {
                      "status": 404,
                      "message": "手机号不存在",
                      "data": []
                    }
                  }
                }
              }
            },
            "headers": {},
            "x-apifox-name": "记录不存在",
            "x-apifox-ordering": 4
          },
          "409": {
            "description": "重复 nonce 或手机号不唯一",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonErrorResponse"
                },
                "examples": {
                  "nonceUsed": {
                    "summary": "nonce 已使用",
                    "value": {
                      "status": 409,
                      "message": "nonce已使用",
                      "data": []
                    }
                  },
                  "duplicateMobile": {
                    "summary": "手机号对应多个账号",
                    "value": {
                      "status": 409,
                      "message": "手机号对应多个账号，无法自动登录",
                      "data": []
                    }
                  }
                }
              }
            },
            "headers": {},
            "x-apifox-ordering": 5
          },
          "500": {
            "description": "服务端 SSO provider 配置缺失",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonErrorResponse"
                },
                "examples": {
                  "missingSecret": {
                    "summary": "未配置密钥",
                    "value": {
                      "status": 500,
                      "message": "SSO provider未配置密钥",
                      "data": []
                    }
                  },
                  "missingRedirectDomain": {
                    "summary": "未配置跳转域名",
                    "value": {
                      "status": 500,
                      "message": "SSO provider未配置跳转域名",
                      "data": []
                    }
                  }
                }
              }
            },
            "headers": {},
            "x-apifox-name": "服务器错误",
            "x-apifox-ordering": 6
          }
        },
        "security": [],
        "x-apifox-folder": "AI运动营养师/用户认证模块/H5免登",
        "x-apifox-status": "released",
        "x-run-in-apifox": "https://app.apifox.com/web/project/6067185/apis/api-464271578-run"
      }
    },
    "/api/sso/ticket/consume": {
      "post": {
        "summary": "H5 消费免登 ticket 换取 Access-Token",
        "deprecated": false,
        "description": "H5 打开 https://{redirect_domain}/web/#/home?ticket={ticket} 后自动调用该接口，消费一次性 ticket 并换取智慧食堂现有 Access-Token。小程序方一般不需要直接调用。\n\n业务规则：\n- provider 固定为 jsgx_wechat_applet_001。\n- ticket 只能使用一次，消费后立即失效。\n- ticket 过期、已消费或不存在时返回 ticket 已失效，请重新从小程序进入。\n- 成功后 H5 清理 URL 中的 ticket，并写入现有登录态。",
        "operationId": "consumeJsgxWechatAppletSsoTicket",
        "tags": [
          "AI运动营养师/用户认证模块/H5免登",
          "用户认证模块/H5免登"
        ],
        "parameters": [
          {
            "name": "Access-Token",
            "in": "header",
            "description": "",
            "example": "{{Access-Token}}",
            "schema": {
              "type": "string",
              "default": "{{Access-Token}}"
            }
          },
          {
            "name": "platform",
            "in": "header",
            "description": "",
            "example": "MP-WEIXIN",
            "schema": {
              "type": "string",
              "default": "MP-WEIXIN"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "type": "object",
                "properties": {
                  "provider": {
                    "type": "string",
                    "description": "固定值：jsgx_wechat_applet_001",
                    "example": "jsgx_wechat_applet_001"
                  },
                  "ticket": {
                    "type": "string",
                    "description": "申请 ticket 接口返回的一次性 ticket",
                    "example": "sso_随机字符串"
                  }
                },
                "required": [
                  "provider",
                  "ticket"
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "消费成功",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConsumeSsoTicketSuccessResponse"
                },
                "examples": {
                  "success": {
                    "summary": "成功响应",
                    "value": {
                      "status": 200,
                      "message": "ok",
                      "data": {
                        "token": "智慧食堂Access-Token",
                        "system_user_id": 123,
                        "user_name": "张三",
                        "department_name": "某学校",
                        "mobile": "138****0000"
                      }
                    }
                  }
                }
              }
            },
            "headers": {},
            "x-apifox-name": "成功",
            "x-apifox-ordering": 0
          },
          "400": {
            "description": "缺少 ticket",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonErrorResponse"
                },
                "examples": {
                  "missingTicket": {
                    "summary": "缺少 ticket",
                    "value": {
                      "status": 400,
                      "message": "缺少ticket",
                      "data": []
                    }
                  }
                }
              }
            },
            "headers": {},
            "x-apifox-name": "请求有误",
            "x-apifox-ordering": 1
          },
          "401": {
            "description": "ticket 无效或已失效",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonErrorResponse"
                },
                "examples": {
                  "ticketExpired": {
                    "summary": "ticket 已失效",
                    "value": {
                      "status": 401,
                      "message": "ticket已失效，请重新从小程序进入",
                      "data": []
                    }
                  },
                  "ticketInvalid": {
                    "summary": "ticket 无效",
                    "value": {
                      "status": 401,
                      "message": "ticket无效",
                      "data": []
                    }
                  }
                }
              }
            },
            "headers": {},
            "x-apifox-name": "没有权限",
            "x-apifox-ordering": 2
          },
          "403": {
            "description": "provider 不支持",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonErrorResponse"
                },
                "examples": {
                  "providerUnsupported": {
                    "summary": "provider 不支持",
                    "value": {
                      "status": 403,
                      "message": "provider不支持",
                      "data": []
                    }
                  }
                }
              }
            },
            "headers": {},
            "x-apifox-name": "禁止访问",
            "x-apifox-ordering": 3
          },
          "404": {
            "description": "用户不存在",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonErrorResponse"
                },
                "examples": {
                  "userNotFound": {
                    "summary": "用户不存在",
                    "value": {
                      "status": 404,
                      "message": "用户不存在",
                      "data": []
                    }
                  }
                }
              }
            },
            "headers": {},
            "x-apifox-name": "记录不存在",
            "x-apifox-ordering": 4
          }
        },
        "security": [],
        "x-apifox-folder": "AI运动营养师/用户认证模块/H5免登",
        "x-apifox-status": "released",
        "x-run-in-apifox": "https://app.apifox.com/web/project/6067185/apis/api-464271579-run"
      }
    },
    "/api/healthadvice/info": {
      "post": {
        "summary": "健康建议",
        "deprecated": false,
        "description": "\n```\n{\n    \"status\": 200,\n    \"message\": \"success\",\n    \"data\": {\n        \"info\": {\n            \"time\":\"2025-07-15\",\n            \"tips\":\"非常合适吃一些酸奶,多多益善,但也不要贪吃\",\n            \"supply\":{//当餐功能营养素摄入\n              \"ratio\":{\n                   carbohydrate: \"39.99\",\n                    fat: \"52.71\",\n                    protein: \"9.45\"\n              },\n              \"table\":{\n                 \"carbohydrate\":{\n                   ratio: 209\n                   reality: \"52.71\"\n                   recommend: \"25.23\"\n                   recommend_lower: 23\n                   recommend_upper: 28\n                   status: \"3\"\n                 },\n                 \"fat\":{\n                    ratio: 32\n                    reality: \"39.99\"\n                    recommend: \"124.89\"\n                    recommend_lower: 112\n                    recommend_upper: 137\n                    status: \"1\"\n                 },\n                 \"protein\":{\n                    ratio: 32\n                    reality: \"39.99\"\n                    recommend: \"124.89\"\n                    recommend_lower: 112\n                    recommend_upper: 137\n                    status: \"1\"\n                 }\n              }\n             },\n            \"meals\": [//早午晚\n                {\n                  type: 1,//早餐及早加餐\n                  icon: \"https://img.kxunpt.cn/ai/static/home/breakfast.svg\",\n                  calories: \"375kcal\",\n                  items: [\n                    { name: \"南瓜小米粥\", gram: \"284克\", kcal: \"138kcal\", img: \"https://img.kxunpt.cn/zhct/static/upload/cater/20250529/5FA03EEB-424C-BE78-B2D6-B4CA7379582C南瓜小米粥.png\" },\n                    { name: \"水煮鹌鹑蛋\", gram: \"45克\", kcal: \"72kcal\", img: \"https://img.kxunpt.cn/zhct/static/upload/cater/20230130/5B308A4B-223E-D8A3-0492-8976A38FDD6E.JPG\" },\n                    { name: \"纯牛奶（低脂）\", gram: \"350克\", kcal: \"165kcal\", img: \"https://img.kxunpt.cn/zhct/static/upload/cater/20230130/CAAC3DEE-D547-8208-DDDC-FE8F43E26B5C.jpeg\" }\n                  ]\n                },\n                {\n                  type: 2,//午餐及午加餐\n                  icon: \"https://img.kxunpt.cn/ai/static/home/lunch.svg\",\n                  calories: \"465kcal\",\n                  items: [\n                    { name: \"紫薯花卷\", gram: \"87克\" , kcal: \"185kcal\", img: \"https://img.kxunpt.cn/zhct/static/upload/cater/20221201/E0EBB083-CA39-89CF-4B62-8EC31F1CFF8B.png\" },\n                    { name: \"蒜蓉鸡蛋蒜\", gram: \"91克\" , kcal: \"104kcal\", img: \"https://img.kxunpt.cn/zyjy/prod/10001/20241226/f0101cdde04a6e3f7254195fa0cab93e.jpg\"},\n                    { name: \"茼蒿拌豆干\", gram: \"191克\", kcal: \"176kcal\", img: \"https://img.kxunpt.cn/zyjy/prod/10001/20241017/eb32fc74e2ddc479a363e93477b1e7bd.JPG\" }\n                  ]\n                },\n                {\n                  type: 3,//晚餐及晚加餐\n                  icon: \"https://img.kxunpt.cn/ai/static/home/dinner.svg\",\n                  calories: \"444kcal\",\n                  items: [\n                    { name: \"燕麦饭\", gram: \"136克\" , kcal: \"136kcal\", img: \"https://img.kxunpt.cn/zhct/static/upload/cater/20230203/5994B145-3D93-2A0F-E188-4EE2472B4853.jpg\"},\n                    { name: \"蒜香鸭块\", gram: \"89克\" , kcal: \"81kcal\", img: \"https://img.kxunpt.cn/zhct/static/upload/cater/20230207/B720D226-A16A-4DEE-D03C-F13762E9EF9A.jpg\"},\n                    { name: \"青椒豆腐\", gram: \"275克\", kcal: \"227kcal\", img: \"https://img.kxunpt.cn/aizhct/prod/10001/20250422/98c93b047a9dc5e77b74cf3dcbc2d206.png\" }\n                  ]\n                }\n          ],\n          exercisePlan:[//今日运动方案\n          { name: \"跳绳\", kcal: \"310kcal\", time: \"20min\", icon: \"https://img.kxunpt.cn/ai/jkjy-ts.png\", bg: \"#FFE1A8\" },\n          { name: \"瑜伽\", kcal: \"173kcal\", time: \"20min\", icon: \"https://img.kxunpt.cn/ai/jkjy-yj.png\", bg: \"#E6F0FF\" },\n          { name: \"游泳\", kcal: \"323kcal\", time: \"20min\", icon: \"https://img.kxunpt.cn/ai/jkjy-yy.png\", bg: \"#C8F4FF\" }\n        ],\n        lifePlan:[//今日生活方案\n          { name: \"细嚼慢咽进食\", desc: \"助力消化,减少过量\", icon: \"https://img.kxunpt.cn/ai/jkjy-xjmy.png\", bg: \"#E6F0FF\" },\n          { name: \"看电视做平板支撑\", desc: \"追剧不停,强化核心\", icon: \"https://img.kxunpt.cn/ai/jkjy-kds.png\", bg: \"#E6EFFF\" },\n          { name: \"记录便便\", desc: \"监控肠道,保持健康\", icon: \"https://img.kxunpt.cn/ai/jkjy-jlbb.png\", bg: \"#D6F5E9\" }\n        ]\n        }\n    },\n    \"trace_id\": \"682ecaa770d1d\"\n}\n```\n",
        "tags": [
          "AI运动营养师/我的/健康建议"
        ],
        "parameters": [
          {
            "name": "time",
            "in": "query",
            "description": "",
            "required": false,
            "example": "2025-07-15",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Access-Token",
            "in": "header",
            "description": "",
            "example": "{{Access-Token}}",
            "schema": {
              "type": "string",
              "default": "{{Access-Token}}"
            }
          },
          {
            "name": "platform",
            "in": "header",
            "description": "",
            "example": "MP-WEIXIN",
            "schema": {
              "type": "string",
              "default": "MP-WEIXIN"
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "time": {
                    "description": "日期",
                    "example": "2025-07-15",
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {},
                  "x-apifox-ignore-properties": [],
                  "x-apifox-orders": []
                }
              }
            },
            "headers": {},
            "x-apifox-name": "成功",
            "x-apifox-ordering": 0
          }
        },
        "security": [],
        "x-apifox-folder": "AI运动营养师/我的/健康建议",
        "x-apifox-status": "developing",
        "x-run-in-apifox": "https://app.apifox.com/web/project/6067185/apis/api-322135818-run"
      }
    },
    "/v3/chat": {
      "post": {
        "summary": "cozeAPI发起对话",
        "deprecated": false,
        "description": "",
        "tags": [
          "AI运动营养师/CozeAI"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "",
            "required": false,
            "example": "Bearer pat_eSlh0JnGfFxGbOY9MjOrHc060pWV8CoZM18uO0MpAsJ3NZpO52Yw2t7H4lG2xOUy",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {},
                "x-apifox-ignore-properties": [],
                "x-apifox-orders": []
              },
              "example": {
                "bot_id": "7506371601823612937",
                "user_id": "user_w2oaahhio3lc4h",
                "stream": false,
                "auto_save_history": true,
                "additional_messages": [
                  {
                    "role": "user",
                    "content": "[{\"type\":\"text\",\"text\":\"我的个人信息：身高175cm、体重65千克、年龄30岁、性别男、基础病糖尿病高血压高血脂、运动习惯是静坐生活、坐位工作；2025-05-22早餐就餐数据：100g小米粥包含46千卡能量，60g煮鸡蛋包含72.56千卡能量，总能量118.56千卡，总蛋白质8.25g，总脂肪5.19g，总碳水化合物9.66g；2025-05-22早餐推荐数据：能量622千卡，蛋白质28-34g，脂肪16-19g，碳水化合物77-94g；请根据我的个人信息，就餐数据以及推荐数据，输出饮食建议。\"}]",
                    "content_type": "object_string"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {},
                  "x-apifox-ignore-properties": [],
                  "x-apifox-orders": []
                }
              }
            },
            "headers": {},
            "x-apifox-name": "成功",
            "x-apifox-ordering": 0
          }
        },
        "security": [],
        "x-apifox-folder": "AI运动营养师/CozeAI",
        "x-apifox-status": "developing",
        "x-run-in-apifox": "https://app.apifox.com/web/project/6067185/apis/api-298077393-run"
      }
    },
    "/v3/chat/retrieve": {
      "get": {
        "summary": "cozeAPI查看对话详情",
        "deprecated": false,
        "description": "",
        "tags": [
          "AI运动营养师/CozeAI"
        ],
        "parameters": [
          {
            "name": "conversation_id",
            "in": "query",
            "description": "",
            "required": false,
            "example": "7506761639446839334",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "chat_id",
            "in": "query",
            "description": "",
            "required": false,
            "example": "7506761639446855718",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Authorization",
            "in": "header",
            "description": "",
            "required": false,
            "example": "Bearer pat_eSlh0JnGfFxGbOY9MjOrHc060pWV8CoZM18uO0MpAsJ3NZpO52Yw2t7H4lG2xOUy",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {},
                  "x-apifox-ignore-properties": [],
                  "x-apifox-orders": []
                }
              }
            },
            "headers": {},
            "x-apifox-name": "成功",
            "x-apifox-ordering": 0
          }
        },
        "security": [],
        "x-apifox-folder": "AI运动营养师/CozeAI",
        "x-apifox-status": "developing",
        "x-run-in-apifox": "https://app.apifox.com/web/project/6067185/apis/api-298717900-run"
      }
    },
    "/v3/chat/message/list": {
      "get": {
        "summary": "cozeAPI查看对话消息详情",
        "deprecated": false,
        "description": "",
        "tags": [
          "AI运动营养师/CozeAI"
        ],
        "parameters": [
          {
            "name": "conversation_id",
            "in": "query",
            "description": "",
            "required": false,
            "example": "7506761639446839334",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "chat_id",
            "in": "query",
            "description": "",
            "required": false,
            "example": "7506761639446855718",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Authorization",
            "in": "header",
            "description": "",
            "required": false,
            "example": "Bearer pat_eSlh0JnGfFxGbOY9MjOrHc060pWV8CoZM18uO0MpAsJ3NZpO52Yw2t7H4lG2xOUy",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {},
                  "x-apifox-ignore-properties": [],
                  "x-apifox-orders": []
                }
              }
            },
            "headers": {},
            "x-apifox-name": "成功",
            "x-apifox-ordering": 0
          }
        },
        "security": [],
        "x-apifox-folder": "AI运动营养师/CozeAI",
        "x-apifox-status": "developing",
        "x-run-in-apifox": "https://app.apifox.com/web/project/6067185/apis/api-298695229-run"
      }
    },
    "/v1/workflow/run": {
      "post": {
        "summary": "coze执行工作流-健康建议",
        "deprecated": false,
        "description": "\n```\n{\n    \"workflow_id\": \"7521615760214212623\",\n    \"is_async\": false,\n    \"parameters\": {\n        \"start_date\": \"2025-07-01\",\n        \"end_date\": \"2025-07-30\",\n        \"rules\": [\n            {\n                \"source\": \"1,2\",\n                \"rate\": 1,\n                \"sales\": 1,\n                \"number\": 10,\n                \"category\": [\n                    {\n                        \"label\": \"主食\",\n                        \"number\": 1\n                    },\n                    {\n                        \"label\": \"素菜\",\n                        \"number\": 3\n                    },\n                    {\n                        \"label\": \"荤菜\",\n                        \"number\": 2\n                    },\n                    {\n                        \"label\": \"蛋奶坚果\",\n                        \"number\": 2\n                    },\n                    {\n                        \"label\": \"水果\",\n                        \"number\": 1\n                    },\n                    {\n                        \"label\": \"汤饮\",\n                        \"number\": 1\n                    }\n                ],\n                \"food_composition\": {\n                    \"include\": [\n                        \"糯米[江米]\",\n                        \"小米\"\n                    ],\n                    \"exclude\": [\n                        \"黑米\",\n                        \"红薯\"\n                    ]\n                },\n                \"cook_method\": {\n                    \"include\": [\n                        \"炒\",\n                        \"煮\",\n                        \"蒸\"\n                    ],\n                    \"exclude\": [\n                        \"卤\",\n                        \"炸\"\n                    ]\n                },\n                \"health_tags\": [\n                    \"高血压友好 (低钠)\"\n                ],\n                \"nutrition_tags\": [\n                    \"富含钙\"\n                ],\n                \"rule_order\": [\n                    \"food_composition\",\n                    \"cook_method\",\n                    \"health_tags\",\n                    \"nutrition_tags\"\n                ]\n            },\n            {\n                \"source\": \"1,2\",\n                \"rate\": 1,\n                \"sales\": 1,\n                \"number\": 10,\n                \"category\": [\n                    {\n                        \"label\": \"主食\",\n                        \"number\": 1\n                    },\n                    {\n                        \"label\": \"素菜\",\n                        \"number\": 3\n                    },\n                    {\n                        \"label\": \"荤菜\",\n                        \"number\": 2\n                    },\n                    {\n                        \"label\": \"蛋奶坚果\",\n                        \"number\": 2\n                    },\n                    {\n                        \"label\": \"水果\",\n                        \"number\": 1\n                    },\n                    {\n                        \"label\": \"汤饮\",\n                        \"number\": 1\n                    }\n                ],\n                \"food_composition\": {\n                    \"include\": [\n                        \"糯米[江米]\",\n                        \"小米\"\n                    ],\n                    \"exclude\": [\n                        \"黑米\",\n                        \"红薯\"\n                    ]\n                },\n                \"cook_method\": {\n                    \"include\": [\n                        \"炒\",\n                        \"煮\",\n                        \"蒸\"\n                    ],\n                    \"exclude\": [\n                        \"卤\",\n                        \"炸\"\n                    ]\n                },\n                \"health_tags\": [\n                    \"高血压友好 (低钠)\"\n                ],\n                \"nutrition_tags\": [\n                    \"富含钙\"\n                ],\n                \"rule_order\": [\n                    \"food_composition\",\n                    \"cook_method\",\n                    \"health_tags\",\n                    \"nutrition_tags\"\n                ]\n            },\n            {\n                \"source\": \"1,2\",\n                \"rate\": 1,\n                \"sales\": 1,\n                \"number\": 10,\n                \"category\": [\n                    {\n                        \"label\": \"主食\",\n                        \"number\": 1\n                    },\n                    {\n                        \"label\": \"素菜\",\n                        \"number\": 3\n                    },\n                    {\n                        \"label\": \"荤菜\",\n                        \"number\": 2\n                    },\n                    {\n                        \"label\": \"蛋奶坚果\",\n                        \"number\": 2\n                    },\n                    {\n                        \"label\": \"水果\",\n                        \"number\": 1\n                    },\n                    {\n                        \"label\": \"汤饮\",\n                        \"number\": 1\n                    }\n                ],\n                \"food_composition\": {\n                    \"include\": [\n                        \"糯米[江米]\",\n                        \"小米\"\n                    ],\n                    \"exclude\": [\n                        \"黑米\",\n                        \"红薯\"\n                    ]\n                },\n                \"cook_method\": {\n                    \"include\": [\n                        \"炒\",\n                        \"煮\",\n                        \"蒸\"\n                    ],\n                    \"exclude\": [\n                        \"卤\",\n                        \"炸\"\n                    ]\n                },\n                \"health_tags\": [\n                    \"高血压友好 (低钠)\"\n                ],\n                \"nutrition_tags\": [\n                    \"富含钙\"\n                ],\n                \"rule_order\": [\n                    \"food_composition\",\n                    \"cook_method\",\n                    \"health_tags\",\n                    \"nutrition_tags\"\n                ]\n            }\n        ]\n    }\n}\n```\n\n\n```\n{\n    \"code\": 0,\n    \"cost\": \"0\",\n    \"data\": \"{\\\"dishesData\\\":[{\\\"combinedData\\\":[{\\\"dishes\\\":[1,85,5915,5916,916,64,5343,204,302,111],\\\"time\\\":\\\"2025-07-01\\\"},{\\\"dishes\\\":[6688,5919,5920,5921,140,272,460,5341,931,22],\\\"time\\\":\\\"2025-07-02\\\"},{\\\"dishes\\\":[2,1290,1295,1296,273,274,5344,5345,1292,5736],\\\"time\\\":\\\"2025-07-03\\\"},{\\\"dishes\\\":[109,1302,5922,5923,110,112,5347,5348,1293,5742],\\\"time\\\":\\\"2025-07-04\\\"},{\\\"dishes\\\":[14,5924,5925,5926,1288,1291,5699,929,5722,478],\\\"time\\\":\\\"2025-07-05\\\"},{\\\"dishes\\\":[1300,5927,5928,5929,1305,1312,941,227,468,482],\\\"time\\\":\\\"2025-07-06\\\"},{\\\"dishes\\\":[5312,5930,5931,5932,1313,5719,61,309,297,483],\\\"time\\\":\\\"2025-07-07\\\"},{\\\"dishes\\\":[5313,5933,5934,5936,5721,5723,317,5329,5763,485],\\\"time\\\":\\\"2025-07-08\\\"},{\\\"dishes\\\":[5314,5938,5939,5940,5724,5725,5330,5333,6686,487],\\\"time\\\":\\\"2025-07-09\\\"},{\\\"dishes\\\":[5315,5941,5942,5943,5728,5729,5334,5335,5336,489],\\\"time\\\":\\\"2025-07-10\\\"},{\\\"dishes\\\":[5316,196,197,198,701,706,5337,5338,5698,599],\\\"time\\\":\\\"2025-07-11\\\"},{\\\"dishes\\\":[5317,205,462,275,709,712,895,898,382,610],\\\"time\\\":\\\"2025-07-12\\\"},{\\\"dishes\\\":[5318,277,279,286,715,719,993,994,1019,620],\\\"time\\\":\\\"2025-07-13\\\"},{\\\"dishes\\\":[5320,288,303,304,720,721,923,940,767,1108],\\\"time\\\":\\\"2025-07-14\\\"},{\\\"dishes\\\":[6376,114,117,122,722,723,6687,102,179,1111],\\\"time\\\":\\\"2025-07-15\\\"},{\\\"dishes\\\":[6378,126,132,138,724,725,5339,5340,5342,6449],\\\"time\\\":\\\"2025-07-16\\\"},{\\\"dishes\\\":[6379,139,27,5735,6389,202,5346,5349,5350,5663],\\\"time\\\":\\\"2025-07-17\\\"},{\\\"dishes\\\":[6380,5750,477,480,463,464,5351,5352,5353,5678],\\\"time\\\":\\\"2025-07-18\\\"},{\\\"dishes\\\":[6381,481,500,511,278,280,5354,5355,5356,5690],\\\"time\\\":\\\"2025-07-19\\\"},{\\\"dishes\\\":[6382,6669,6670,6684,282,289,5357,5358,5359,5693],\\\"time\\\":\\\"2025-07-20\\\"},{\\\"dishes\\\":[6384,6685,594,596,290,292,5360,5361,5362,6394],\\\"time\\\":\\\"2025-07-21\\\"},{\\\"dishes\\\":[6385,601,613,1109,294,295,5363,5364,5365,6404],\\\"time\\\":\\\"2025-07-22\\\"},{\\\"dishes\\\":[6386,1131,6433,6434,298,299,5366,5367,5368,803],\\\"time\\\":\\\"2025-07-23\\\"},{\\\"dishes\\\":[6387,6438,6439,6443,300,116,5369,5370,5371,1162],\\\"time\\\":\\\"2025-07-24\\\"},{\\\"dishes\\\":[194,6447,6448,6450,118,119,5372,5373,5374,1166],\\\"time\\\":\\\"2025-07-25\\\"},{\\\"dishes\\\":[200,6451,6202,6216,120,123,5375,5376,5377,1325],\\\"time\\\":\\\"2025-07-26\\\"},{\\\"dishes\\\":[203,6217,6218,6219,124,127,5378,5379,5380,1333],\\\"time\\\":\\\"2025-07-27\\\"},{\\\"dishes\\\":[12,6220,5648,5652,130,133,5381,5382,5383,1334],\\\"time\\\":\\\"2025-07-28\\\"},{\\\"dishes\\\":[34,5667,806,808,134,136,5384,5385,5386,1343],\\\"time\\\":\\\"2025-07-29\\\"},{\\\"dishes\\\":[5758,1133,5758,1133,137,5,5387,5388,5389,1343],\\\"time\\\":\\\"2025-07-30\\\"}]},{\\\"combinedData\\\":[{\\\"dishes\\\":[],\\\"time\\\":\\\"2025-07-01\\\"},{\\\"dishes\\\":[],\\\"time\\\":\\\"2025-07-02\\\"},{\\\"dishes\\\":[],\\\"time\\\":\\\"2025-07-03\\\"},{\\\"dishes\\\":[],\\\"time\\\":\\\"2025-07-04\\\"},{\\\"dishes\\\":[],\\\"time\\\":\\\"2025-07-05\\\"},{\\\"dishes\\\":[],\\\"time\\\":\\\"2025-07-06\\\"},{\\\"dishes\\\":[],\\\"time\\\":\\\"2025-07-07\\\"},{\\\"dishes\\\":[],\\\"time\\\":\\\"2025-07-08\\\"},{\\\"dishes\\\":[],\\\"time\\\":\\\"2025-07-09\\\"},{\\\"dishes\\\":[],\\\"time\\\":\\\"2025-07-10\\\"},{\\\"dishes\\\":[],\\\"time\\\":\\\"2025-07-11\\\"},{\\\"dishes\\\":[],\\\"time\\\":\\\"2025-07-12\\\"},{\\\"dishes\\\":[],\\\"time\\\":\\\"2025-07-13\\\"},{\\\"dishes\\\":[],\\\"time\\\":\\\"2025-07-14\\\"},{\\\"dishes\\\":[],\\\"time\\\":\\\"2025-07-15\\\"},{\\\"dishes\\\":[],\\\"time\\\":\\\"2025-07-16\\\"},{\\\"dishes\\\":[],\\\"time\\\":\\\"2025-07-17\\\"},{\\\"dishes\\\":[],\\\"time\\\":\\\"2025-07-18\\\"},{\\\"dishes\\\":[],\\\"time\\\":\\\"2025-07-19\\\"},{\\\"dishes\\\":[],\\\"time\\\":\\\"2025-07-20\\\"},{\\\"dishes\\\":[],\\\"time\\\":\\\"2025-07-21\\\"},{\\\"dishes\\\":[],\\\"time\\\":\\\"2025-07-22\\\"},{\\\"dishes\\\":[],\\\"time\\\":\\\"2025-07-23\\\"},{\\\"dishes\\\":[],\\\"time\\\":\\\"2025-07-24\\\"},{\\\"dishes\\\":[],\\\"time\\\":\\\"2025-07-25\\\"},{\\\"dishes\\\":[],\\\"time\\\":\\\"2025-07-26\\\"},{\\\"dishes\\\":[],\\\"time\\\":\\\"2025-07-27\\\"},{\\\"dishes\\\":[],\\\"time\\\":\\\"2025-07-28\\\"},{\\\"dishes\\\":[],\\\"time\\\":\\\"2025-07-29\\\"},{\\\"dishes\\\":[],\\\"time\\\":\\\"2025-07-30\\\"}]},{\\\"combinedData\\\":[{\\\"dishes\\\":[1,85,5915,5916,916,64,5343,204,302,111],\\\"time\\\":\\\"2025-07-01\\\"},{\\\"dishes\\\":[6688,5919,5920,5921,140,272,460,5341,931,467],\\\"time\\\":\\\"2025-07-02\\\"},{\\\"dishes\\\":[2,1290,1295,1296,273,274,5344,5345,1292,22],\\\"time\\\":\\\"2025-07-03\\\"},{\\\"dishes\\\":[109,1302,5922,5923,110,112,5347,5348,1293,5736],\\\"time\\\":\\\"2025-07-04\\\"},{\\\"dishes\\\":[14,5924,5925,5926,1288,1291,5699,929,5722,5742],\\\"time\\\":\\\"2025-07-05\\\"},{\\\"dishes\\\":[1300,5927,5928,5929,1305,1312,941,227,468,478],\\\"time\\\":\\\"2025-07-06\\\"},{\\\"dishes\\\":[5312,5930,5931,5932,1313,5719,61,309,297,482],\\\"time\\\":\\\"2025-07-07\\\"},{\\\"dishes\\\":[5313,5933,5934,5936,5721,5723,317,5329,5763,483],\\\"time\\\":\\\"2025-07-08\\\"},{\\\"dishes\\\":[5314,5938,5939,5940,5724,5725,5330,5333,6686,485],\\\"time\\\":\\\"2025-07-09\\\"},{\\\"dishes\\\":[5315,5941,5942,5943,5728,5729,5334,5335,5336,487],\\\"time\\\":\\\"2025-07-10\\\"},{\\\"dishes\\\":[5316,196,197,198,701,706,5337,5338,5698,489],\\\"time\\\":\\\"2025-07-11\\\"},{\\\"dishes\\\":[5317,205,462,275,709,712,895,898,382,599],\\\"time\\\":\\\"2025-07-12\\\"},{\\\"dishes\\\":[5318,277,279,286,715,719,993,994,1019,610],\\\"time\\\":\\\"2025-07-13\\\"},{\\\"dishes\\\":[5320,288,303,304,720,721,923,940,767,620],\\\"time\\\":\\\"2025-07-14\\\"},{\\\"dishes\\\":[6376,114,117,122,722,723,6687,102,179,1108],\\\"time\\\":\\\"2025-07-15\\\"},{\\\"dishes\\\":[6378,126,132,138,724,725,5648,5652,5667,1111],\\\"time\\\":\\\"2025-07-16\\\"},{\\\"dishes\\\":[6379,139,27,5735,6389,202,806,808,1133,6449],\\\"time\\\":\\\"2025-07-17\\\"},{\\\"dishes\\\":[6380,5750,477,480,463,464,6202,6216,6217,5663],\\\"time\\\":\\\"2025-07-18\\\"},{\\\"dishes\\\":[6381,481,500,511,278,280,6218,6219,6220,5678],\\\"time\\\":\\\"2025-07-19\\\"},{\\\"dishes\\\":[6382,6669,6670,6684,282,289,594,596,601,5690],\\\"time\\\":\\\"2025-07-20\\\"},{\\\"dishes\\\":[6384,6685,613,1109,290,292,1131,6433,6434,5693],\\\"time\\\":\\\"2025-07-21\\\"},{\\\"dishes\\\":[6385,6438,6439,6443,294,295,6447,6448,6450,6394],\\\"time\\\":\\\"2025-07-22\\\"},{\\\"dishes\\\":[6386,6451,6202,6216,298,299,6217,6218,6219,6404],\\\"time\\\":\\\"2025-07-23\\\"},{\\\"dishes\\\":[6387,6220,5648,5652,300,116,5667,806,808,803],\\\"time\\\":\\\"2025-07-24\\\"},{\\\"dishes\\\":[194,1133,85,5915,118,119,5916,5918,5919,1162],\\\"time\\\":\\\"2025-07-25\\\"},{\\\"dishes\\\":[200,5920,5921,1290,120,123,1295,1296,1297,1166],\\\"time\\\":\\\"2025-07-26\\\"},{\\\"dishes\\\":[203,1302,5922,5923,124,127,5924,5925,5926,1325],\\\"time\\\":\\\"2025-07-27\\\"},{\\\"dishes\\\":[12,5927,5928,5929,130,133,5930,5931,5932,1333],\\\"time\\\":\\\"2025-07-28\\\"},{\\\"dishes\\\":[34,5933,5934,5936,134,136,5938,5939,5940,1334],\\\"time\\\":\\\"2025-07-29\\\"},{\\\"dishes\\\":[5758,5941,5942,5943,137,5,196,197,198,1343],\\\"time\\\":\\\"2025-07-30\\\"}]}]}\",\n    \"debug_url\": \"https://www.coze.cn/work_flow?execute_id=7523092987800404022\\u0026space_id=7366210605697007616\\u0026workflow_id=7521615760214212623\\u0026execute_mode=2\",\n    \"msg\": \"Success\",\n    \"token\": 159310\n}\n```\n\n```\n{\n    \"dishesData\": [\n        {\n            \"combinedData\": [\n                {\n                    \"dishes\": [\n                        1,\n                        85,\n                        5915,\n                        5916,\n                        916,\n                        64,\n                        5343,\n                        204,\n                        302,\n                        111\n                    ],\n                    \"time\": \"2025-07-01\"\n                },\n                {\n                    \"dishes\": [\n                        6688,\n                        5919,\n                        5920,\n                        5921,\n                        140,\n                        272,\n                        460,\n                        5341,\n                        931,\n                        22\n                    ],\n                    \"time\": \"2025-07-02\"\n                },\n                {\n                    \"dishes\": [\n                        2,\n                        1290,\n                        1295,\n                        1296,\n                        273,\n                        274,\n                        5344,\n                        5345,\n                        1292,\n                        5736\n                    ],\n                    \"time\": \"2025-07-03\"\n                },\n                {\n                    \"dishes\": [\n                        109,\n                        1302,\n                        5922,\n                        5923,\n                        110,\n                        112,\n                        5347,\n                        5348,\n                        1293,\n                        5742\n                    ],\n                    \"time\": \"2025-07-04\"\n                },\n                {\n                    \"dishes\": [\n                        14,\n                        5924,\n                        5925,\n                        5926,\n                        1288,\n                        1291,\n                        5699,\n                        929,\n                        5722,\n                        478\n                    ],\n                    \"time\": \"2025-07-05\"\n                },\n                {\n                    \"dishes\": [\n                        1300,\n                        5927,\n                        5928,\n                        5929,\n                        1305,\n                        1312,\n                        941,\n                        227,\n                        468,\n                        482\n                    ],\n                    \"time\": \"2025-07-06\"\n                },\n                {\n                    \"dishes\": [\n                        5312,\n                        5930,\n                        5931,\n                        5932,\n                        1313,\n                        5719,\n                        61,\n                        309,\n                        297,\n                        483\n                    ],\n                    \"time\": \"2025-07-07\"\n                },\n                {\n                    \"dishes\": [\n                        5313,\n                        5933,\n                        5934,\n                        5936,\n                        5721,\n                        5723,\n                        317,\n                        5329,\n                        5763,\n                        485\n                    ],\n                    \"time\": \"2025-07-08\"\n                },\n                {\n                    \"dishes\": [\n                        5314,\n                        5938,\n                        5939,\n                        5940,\n                        5724,\n                        5725,\n                        5330,\n                        5333,\n                        6686,\n                        487\n                    ],\n                    \"time\": \"2025-07-09\"\n                },\n                {\n                    \"dishes\": [\n                        5315,\n                        5941,\n                        5942,\n                        5943,\n                        5728,\n                        5729,\n                        5334,\n                        5335,\n                        5336,\n                        489\n                    ],\n                    \"time\": \"2025-07-10\"\n                },\n                {\n                    \"dishes\": [\n                        5316,\n                        196,\n                        197,\n                        198,\n                        701,\n                        706,\n                        5337,\n                        5338,\n                        5698,\n                        599\n                    ],\n                    \"time\": \"2025-07-11\"\n                },\n                {\n                    \"dishes\": [\n                        5317,\n                        205,\n                        462,\n                        275,\n                        709,\n                        712,\n                        895,\n                        898,\n                        382,\n                        610\n                    ],\n                    \"time\": \"2025-07-12\"\n                },\n                {\n                    \"dishes\": [\n                        5318,\n                        277,\n                        279,\n                        286,\n                        715,\n                        719,\n                        993,\n                        994,\n                        1019,\n                        620\n                    ],\n                    \"time\": \"2025-07-13\"\n                },\n                {\n                    \"dishes\": [\n                        5320,\n                        288,\n                        303,\n                        304,\n                        720,\n                        721,\n                        923,\n                        940,\n                        767,\n                        1108\n                    ],\n                    \"time\": \"2025-07-14\"\n                },\n                {\n                    \"dishes\": [\n                        6376,\n                        114,\n                        117,\n                        122,\n                        722,\n                        723,\n                        6687,\n                        102,\n                        179,\n                        1111\n                    ],\n                    \"time\": \"2025-07-15\"\n                },\n                {\n                    \"dishes\": [\n                        6378,\n                        126,\n                        132,\n                        138,\n                        724,\n                        725,\n                        5339,\n                        5340,\n                        5342,\n                        6449\n                    ],\n                    \"time\": \"2025-07-16\"\n                },\n                {\n                    \"dishes\": [\n                        6379,\n                        139,\n                        27,\n                        5735,\n                        6389,\n                        202,\n                        5346,\n                        5349,\n                        5350,\n                        5663\n                    ],\n                    \"time\": \"2025-07-17\"\n                },\n                {\n                    \"dishes\": [\n                        6380,\n                        5750,\n                        477,\n                        480,\n                        463,\n                        464,\n                        5351,\n                        5352,\n                        5353,\n                        5678\n                    ],\n                    \"time\": \"2025-07-18\"\n                },\n                {\n                    \"dishes\": [\n                        6381,\n                        481,\n                        500,\n                        511,\n                        278,\n                        280,\n                        5354,\n                        5355,\n                        5356,\n                        5690\n                    ],\n                    \"time\": \"2025-07-19\"\n                },\n                {\n                    \"dishes\": [\n                        6382,\n                        6669,\n                        6670,\n                        6684,\n                        282,\n                        289,\n                        5357,\n                        5358,\n                        5359,\n                        5693\n                    ],\n                    \"time\": \"2025-07-20\"\n                },\n                {\n                    \"dishes\": [\n                        6384,\n                        6685,\n                        594,\n                        596,\n                        290,\n                        292,\n                        5360,\n                        5361,\n                        5362,\n                        6394\n                    ],\n                    \"time\": \"2025-07-21\"\n                },\n                {\n                    \"dishes\": [\n                        6385,\n                        601,\n                        613,\n                        1109,\n                        294,\n                        295,\n                        5363,\n                        5364,\n                        5365,\n                        6404\n                    ],\n                    \"time\": \"2025-07-22\"\n                },\n                {\n                    \"dishes\": [\n                        6386,\n                        1131,\n                        6433,\n                        6434,\n                        298,\n                        299,\n                        5366,\n                        5367,\n                        5368,\n                        803\n                    ],\n                    \"time\": \"2025-07-23\"\n                },\n                {\n                    \"dishes\": [\n                        6387,\n                        6438,\n                        6439,\n                        6443,\n                        300,\n                        116,\n                        5369,\n                        5370,\n                        5371,\n                        1162\n                    ],\n                    \"time\": \"2025-07-24\"\n                },\n                {\n                    \"dishes\": [\n                        194,\n                        6447,\n                        6448,\n                        6450,\n                        118,\n                        119,\n                        5372,\n                        5373,\n                        5374,\n                        1166\n                    ],\n                    \"time\": \"2025-07-25\"\n                },\n                {\n                    \"dishes\": [\n                        200,\n                        6451,\n                        6202,\n                        6216,\n                        120,\n                        123,\n                        5375,\n                        5376,\n                        5377,\n                        1325\n                    ],\n                    \"time\": \"2025-07-26\"\n                },\n                {\n                    \"dishes\": [\n                        203,\n                        6217,\n                        6218,\n                        6219,\n                        124,\n                        127,\n                        5378,\n                        5379,\n                        5380,\n                        1333\n                    ],\n                    \"time\": \"2025-07-27\"\n                },\n                {\n                    \"dishes\": [\n                        12,\n                        6220,\n                        5648,\n                        5652,\n                        130,\n                        133,\n                        5381,\n                        5382,\n                        5383,\n                        1334\n                    ],\n                    \"time\": \"2025-07-28\"\n                },\n                {\n                    \"dishes\": [\n                        34,\n                        5667,\n                        806,\n                        808,\n                        134,\n                        136,\n                        5384,\n                        5385,\n                        5386,\n                        1343\n                    ],\n                    \"time\": \"2025-07-29\"\n                },\n                {\n                    \"dishes\": [\n                        5758,\n                        1133,\n                        5758,\n                        1133,\n                        137,\n                        5,\n                        5387,\n                        5388,\n                        5389,\n                        1343\n                    ],\n                    \"time\": \"2025-07-30\"\n                }\n            ]\n        },\n        {\n            \"combinedData\": [\n                {\n                    \"dishes\": [],\n                    \"time\": \"2025-07-01\"\n                },\n                {\n                    \"dishes\": [],\n                    \"time\": \"2025-07-02\"\n                },\n                {\n                    \"dishes\": [],\n                    \"time\": \"2025-07-03\"\n                },\n                {\n                    \"dishes\": [],\n                    \"time\": \"2025-07-04\"\n                },\n                {\n                    \"dishes\": [],\n                    \"time\": \"2025-07-05\"\n                },\n                {\n                    \"dishes\": [],\n                    \"time\": \"2025-07-06\"\n                },\n                {\n                    \"dishes\": [],\n                    \"time\": \"2025-07-07\"\n                },\n                {\n                    \"dishes\": [],\n                    \"time\": \"2025-07-08\"\n                },\n                {\n                    \"dishes\": [],\n                    \"time\": \"2025-07-09\"\n                },\n                {\n                    \"dishes\": [],\n                    \"time\": \"2025-07-10\"\n                },\n                {\n                    \"dishes\": [],\n                    \"time\": \"2025-07-11\"\n                },\n                {\n                    \"dishes\": [],\n                    \"time\": \"2025-07-12\"\n                },\n                {\n                    \"dishes\": [],\n                    \"time\": \"2025-07-13\"\n                },\n                {\n                    \"dishes\": [],\n                    \"time\": \"2025-07-14\"\n                },\n                {\n                    \"dishes\": [],\n                    \"time\": \"2025-07-15\"\n                },\n                {\n                    \"dishes\": [],\n                    \"time\": \"2025-07-16\"\n                },\n                {\n                    \"dishes\": [],\n                    \"time\": \"2025-07-17\"\n                },\n                {\n                    \"dishes\": [],\n                    \"time\": \"2025-07-18\"\n                },\n                {\n                    \"dishes\": [],\n                    \"time\": \"2025-07-19\"\n                },\n                {\n                    \"dishes\": [],\n                    \"time\": \"2025-07-20\"\n                },\n                {\n                    \"dishes\": [],\n                    \"time\": \"2025-07-21\"\n                },\n                {\n                    \"dishes\": [],\n                    \"time\": \"2025-07-22\"\n                },\n                {\n                    \"dishes\": [],\n                    \"time\": \"2025-07-23\"\n                },\n                {\n                    \"dishes\": [],\n                    \"time\": \"2025-07-24\"\n                },\n                {\n                    \"dishes\": [],\n                    \"time\": \"2025-07-25\"\n                },\n                {\n                    \"dishes\": [],\n                    \"time\": \"2025-07-26\"\n                },\n                {\n                    \"dishes\": [],\n                    \"time\": \"2025-07-27\"\n                },\n                {\n                    \"dishes\": [],\n                    \"time\": \"2025-07-28\"\n                },\n                {\n                    \"dishes\": [],\n                    \"time\": \"2025-07-29\"\n                },\n                {\n                    \"dishes\": [],\n                    \"time\": \"2025-07-30\"\n                }\n            ]\n        },\n        {\n            \"combinedData\": [\n                {\n                    \"dishes\": [\n                        1,\n                        85,\n                        5915,\n                        5916,\n                        916,\n                        64,\n                        5343,\n                        204,\n                        302,\n                        111\n                    ],\n                    \"time\": \"2025-07-01\"\n                },\n                {\n                    \"dishes\": [\n                        6688,\n                        5919,\n                        5920,\n                        5921,\n                        140,\n                        272,\n                        460,\n                        5341,\n                        931,\n                        467\n                    ],\n                    \"time\": \"2025-07-02\"\n                },\n                {\n                    \"dishes\": [\n                        2,\n                        1290,\n                        1295,\n                        1296,\n                        273,\n                        274,\n                        5344,\n                        5345,\n                        1292,\n                        22\n                    ],\n                    \"time\": \"2025-07-03\"\n                },\n                {\n                    \"dishes\": [\n                        109,\n                        1302,\n                        5922,\n                        5923,\n                        110,\n                        112,\n                        5347,\n                        5348,\n                        1293,\n                        5736\n                    ],\n                    \"time\": \"2025-07-04\"\n                },\n                {\n                    \"dishes\": [\n                        14,\n                        5924,\n                        5925,\n                        5926,\n                        1288,\n                        1291,\n                        5699,\n                        929,\n                        5722,\n                        5742\n                    ],\n                    \"time\": \"2025-07-05\"\n                },\n                {\n                    \"dishes\": [\n                        1300,\n                        5927,\n                        5928,\n                        5929,\n                        1305,\n                        1312,\n                        941,\n                        227,\n                        468,\n                        478\n                    ],\n                    \"time\": \"2025-07-06\"\n                },\n                {\n                    \"dishes\": [\n                        5312,\n                        5930,\n                        5931,\n                        5932,\n                        1313,\n                        5719,\n                        61,\n                        309,\n                        297,\n                        482\n                    ],\n                    \"time\": \"2025-07-07\"\n                },\n                {\n                    \"dishes\": [\n                        5313,\n                        5933,\n                        5934,\n                        5936,\n                        5721,\n                        5723,\n                        317,\n                        5329,\n                        5763,\n                        483\n                    ],\n                    \"time\": \"2025-07-08\"\n                },\n                {\n                    \"dishes\": [\n                        5314,\n                        5938,\n                        5939,\n                        5940,\n                        5724,\n                        5725,\n                        5330,\n                        5333,\n                        6686,\n                        485\n                    ],\n                    \"time\": \"2025-07-09\"\n                },\n                {\n                    \"dishes\": [\n                        5315,\n                        5941,\n                        5942,\n                        5943,\n                        5728,\n                        5729,\n                        5334,\n                        5335,\n                        5336,\n                        487\n                    ],\n                    \"time\": \"2025-07-10\"\n                },\n                {\n                    \"dishes\": [\n                        5316,\n                        196,\n                        197,\n                        198,\n                        701,\n                        706,\n                        5337,\n                        5338,\n                        5698,\n                        489\n                    ],\n                    \"time\": \"2025-07-11\"\n                },\n                {\n                    \"dishes\": [\n                        5317,\n                        205,\n                        462,\n                        275,\n                        709,\n                        712,\n                        895,\n                        898,\n                        382,\n                        599\n                    ],\n                    \"time\": \"2025-07-12\"\n                },\n                {\n                    \"dishes\": [\n                        5318,\n                        277,\n                        279,\n                        286,\n                        715,\n                        719,\n                        993,\n                        994,\n                        1019,\n                        610\n                    ],\n                    \"time\": \"2025-07-13\"\n                },\n                {\n                    \"dishes\": [\n                        5320,\n                        288,\n                        303,\n                        304,\n                        720,\n                        721,\n                        923,\n                        940,\n                        767,\n                        620\n                    ],\n                    \"time\": \"2025-07-14\"\n                },\n                {\n                    \"dishes\": [\n                        6376,\n                        114,\n                        117,\n                        122,\n                        722,\n                        723,\n                        6687,\n                        102,\n                        179,\n                        1108\n                    ],\n                    \"time\": \"2025-07-15\"\n                },\n                {\n                    \"dishes\": [\n                        6378,\n                        126,\n                        132,\n                        138,\n                        724,\n                        725,\n                        5648,\n                        5652,\n                        5667,\n                        1111\n                    ],\n                    \"time\": \"2025-07-16\"\n                },\n                {\n                    \"dishes\": [\n                        6379,\n                        139,\n                        27,\n                        5735,\n                        6389,\n                        202,\n                        806,\n                        808,\n                        1133,\n                        6449\n                    ],\n                    \"time\": \"2025-07-17\"\n                },\n                {\n                    \"dishes\": [\n                        6380,\n                        5750,\n                        477,\n                        480,\n                        463,\n                        464,\n                        6202,\n                        6216,\n                        6217,\n                        5663\n                    ],\n                    \"time\": \"2025-07-18\"\n                },\n                {\n                    \"dishes\": [\n                        6381,\n                        481,\n                        500,\n                        511,\n                        278,\n                        280,\n                        6218,\n                        6219,\n                        6220,\n                        5678\n                    ],\n                    \"time\": \"2025-07-19\"\n                },\n                {\n                    \"dishes\": [\n                        6382,\n                        6669,\n                        6670,\n                        6684,\n                        282,\n                        289,\n                        594,\n                        596,\n                        601,\n                        5690\n                    ],\n                    \"time\": \"2025-07-20\"\n                },\n                {\n                    \"dishes\": [\n                        6384,\n                        6685,\n                        613,\n                        1109,\n                        290,\n                        292,\n                        1131,\n                        6433,\n                        6434,\n                        5693\n                    ],\n                    \"time\": \"2025-07-21\"\n                },\n                {\n                    \"dishes\": [\n                        6385,\n                        6438,\n                        6439,\n                        6443,\n                        294,\n                        295,\n                        6447,\n                        6448,\n                        6450,\n                        6394\n                    ],\n                    \"time\": \"2025-07-22\"\n                },\n                {\n                    \"dishes\": [\n                        6386,\n                        6451,\n                        6202,\n                        6216,\n                        298,\n                        299,\n                        6217,\n                        6218,\n                        6219,\n                        6404\n                    ],\n                    \"time\": \"2025-07-23\"\n                },\n                {\n                    \"dishes\": [\n                        6387,\n                        6220,\n                        5648,\n                        5652,\n                        300,\n                        116,\n                        5667,\n                        806,\n                        808,\n                        803\n                    ],\n                    \"time\": \"2025-07-24\"\n                },\n                {\n                    \"dishes\": [\n                        194,\n                        1133,\n                        85,\n                        5915,\n                        118,\n                        119,\n                        5916,\n                        5918,\n                        5919,\n                        1162\n                    ],\n                    \"time\": \"2025-07-25\"\n                },\n                {\n                    \"dishes\": [\n                        200,\n                        5920,\n                        5921,\n                        1290,\n                        120,\n                        123,\n                        1295,\n                        1296,\n                        1297,\n                        1166\n                    ],\n                    \"time\": \"2025-07-26\"\n                },\n                {\n                    \"dishes\": [\n                        203,\n                        1302,\n                        5922,\n                        5923,\n                        124,\n                        127,\n                        5924,\n                        5925,\n                        5926,\n                        1325\n                    ],\n                    \"time\": \"2025-07-27\"\n                },\n                {\n                    \"dishes\": [\n                        12,\n                        5927,\n                        5928,\n                        5929,\n                        130,\n                        133,\n                        5930,\n                        5931,\n                        5932,\n                        1333\n                    ],\n                    \"time\": \"2025-07-28\"\n                },\n                {\n                    \"dishes\": [\n                        34,\n                        5933,\n                        5934,\n                        5936,\n                        134,\n                        136,\n                        5938,\n                        5939,\n                        5940,\n                        1334\n                    ],\n                    \"time\": \"2025-07-29\"\n                },\n                {\n                    \"dishes\": [\n                        5758,\n                        5941,\n                        5942,\n                        5943,\n                        137,\n                        5,\n                        196,\n                        197,\n                        198,\n                        1343\n                    ],\n                    \"time\": \"2025-07-30\"\n                }\n            ]\n        }\n    ]\n}\n```\n\n",
        "tags": [
          "AI运动营养师/CozeAI"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "",
            "required": false,
            "example": "Bearer pat_eSlh0JnGfFxGbOY9MjOrHc060pWV8CoZM18uO0MpAsJ3NZpO52Yw2t7H4lG2xOUy",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {},
                "x-apifox-ignore-properties": [],
                "x-apifox-orders": []
              },
              "example": {
                "workflow_id": "7527594589533601801",
                "parameters": {
                  "date": "2025-08-20",
                  "diet": [
                    {
                      "meal": "早餐及早加餐",
                      "carbohydrate": "92.86克",
                      "protein": "33.77克",
                      "fat": "18.76克",
                      "remmonedEnery": "675.36千卡",
                      "sql": "SELECT ai_dishes_id,dishes_id,name,weight,energy FROM ai_dishes_zhct_dev WHERE dishes_id in (14,193,200,211,333,37,79,80,85,187,196,205,64,74,76,5343,5344,5345,5348,102,179,237,297,302,338,382,446,468,895,898,923,931,940,990,991,993,994,1019,5338,6645,216,306,415,483,762)"
                    }
                  ],
                  "info": {
                    "height": "180.00",
                    "weight": "70.00",
                    "birthday": "2010-01-01",
                    "age": 15,
                    "sex": "男",
                    "health": "糖尿病,高血压,高血脂,高尿酸",
                    "sport": "坐位或卧位生活不能自理人群",
                    "foodAllergy": "含有麸质的谷物及其制品,甲壳纲类动物及其制品,鱼类及其制品,蛋类及其制品,花生及其制品,大豆及其制品,乳及乳制品,坚果及其坚果制品",
                    "foodTaboos": "猪肉,内脏,香菜,辣",
                    "focus": "健骨,补血,抗炎"
                  },
                  "isChange": false
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {},
                  "x-apifox-ignore-properties": [],
                  "x-apifox-orders": []
                },
                "example": {
                  "code": 0,
                  "data": "{\"output\":[{\"carbohydrate\":\"4.42\",\"energy\":\"201.8\",\"fat\":\"18.42\",\"id\":\"2155\",\"img_url\":\"https://img.kxunpt.cn/zhct/static/upload/cater/20221219/6C4476F1-FF00-71EC-9223-4AB5C46A9F6F.png\",\"name\":\"腊味荷兰豆\",\"protein\":\"4.98\",\"weight\":\"100\"},{\"carbohydrate\":\"1.97\",\"energy\":\"20.53\",\"fat\":\"1.11\",\"id\":\"1207\",\"img_url\":\"https://img.kxunpt.cn/zhct/static/upload/cater/20230130/D398EC4D-E269-6F7F-23D6-DEC916928F6C.jpg\",\"name\":\"清炒荷兰豆\",\"protein\":\"0.87\",\"weight\":\"33\"},{\"carbohydrate\":\"6.17\",\"energy\":\"41.97\",\"fat\":\"1.13\",\"id\":\"2204\",\"img_url\":\"https://img.kxunpt.cn/zhct/static/upload/cater/20230207/ED8F7FC1-0A5C-D122-B596-2FB421AA8120.jpg\",\"name\":\"西葫芦煎饼\",\"protein\":\"1.98\",\"weight\":\"40\"},{\"carbohydrate\":\"1.53\",\"energy\":\"45.09\",\"fat\":\"2.54\",\"id\":\"1190\",\"img_url\":\"https://img.kxunpt.cn/zhct/static/upload/cater/20230130/617083ED-6C69-F62A-164F-C40BF18ED137.jpeg\",\"name\":\"西葫芦炒肉\",\"protein\":\"4.19\",\"weight\":\"49\"},{\"carbohydrate\":\"10.49\",\"energy\":\"51.52\",\"fat\":\"0.55\",\"id\":\"8\",\"img_url\":\"https://img.kxunpt.cn/zyjy/prod/10001/20241226/a4050232fa4e4006c9fa819d7eba909d.png\",\"name\":\"煮玉米\",\"protein\":\"1.84\",\"weight\":\"100\"},{\"carbohydrate\":\"39.67\",\"energy\":\"191.82\",\"fat\":\"1.1\",\"id\":\"4\",\"img_url\":\"https://img.kxunpt.cn/zyjy/prod/10001/20241226/3ce27f4bcf5f33ff84190bf08265e5f3.png\",\"name\":\"玉米馒头（大）\",\"protein\":\"6.95\",\"weight\":\"94\"},{\"carbohydrate\":\"18.8\",\"energy\":\"89.2\",\"fat\":\"0.44\",\"id\":\"1\",\"img_url\":\"https://img.kxunpt.cn/zhct/static/upload/cater/20230130/49C83047-1A1F-3978-F7EB-64CC4811ACD6.JPG\",\"name\":\"白馒头（小）\",\"protein\":\"2.8\",\"weight\":\"40\"},{\"carbohydrate\":\"44.45\",\"energy\":\"215.6\",\"fat\":\"1.28\",\"id\":\"5\",\"img_url\":\"https://img.kxunpt.cn/zhct/static/upload/cater/20221201/0F89A19E-C4D7-5C05-9397-91364D6E3427.png\",\"name\":\"杂粮馒头\",\"protein\":\"7.84\",\"weight\":\"98\"},{\"carbohydrate\":\"14.11\",\"energy\":\"66.36\",\"fat\":\"6.77\",\"id\":\"2293\",\"img_url\":\"https://img.kxunpt.cn/zhct/static/upload/cater/20221219/A62B76D4-1206-BC5B-2FF9-CD19591846C5.png\",\"name\":\"雪媚娘（芒果）\",\"protein\":\"1.29\",\"weight\":\"50\"}]}",
                  "debug_url": "https://www.coze.cn/work_flow?execute_id=7535372307041615922&space_id=7366210605697007616&workflow_id=7496376338116280370&execute_mode=2",
                  "msg": "Success",
                  "usage": {
                    "input_count": 1035,
                    "output_count": 12,
                    "token_count": 1047
                  }
                }
              }
            },
            "headers": {},
            "x-apifox-name": "成功",
            "x-apifox-ordering": 0
          }
        },
        "security": [],
        "x-apifox-folder": "AI运动营养师/CozeAI",
        "x-apifox-status": "developing",
        "x-run-in-apifox": "https://app.apifox.com/web/project/6067185/apis/api-338613574-run"
      }
    },
    "/v1/workflows/7507104694398320678/run_histories/7508644404997406783": {
      "get": {
        "summary": "coze查询异步工作流执行结果",
        "deprecated": false,
        "description": "",
        "tags": [
          "AI运动营养师/CozeAI"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "",
            "required": false,
            "example": "Bearer pat_eSlh0JnGfFxGbOY9MjOrHc060pWV8CoZM18uO0MpAsJ3NZpO52Yw2t7H4lG2xOUy",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {},
                  "x-apifox-ignore-properties": [],
                  "x-apifox-orders": []
                }
              }
            },
            "headers": {},
            "x-apifox-name": "成功",
            "x-apifox-ordering": 0
          }
        },
        "security": [],
        "x-apifox-folder": "AI运动营养师/CozeAI",
        "x-apifox-status": "developing",
        "x-run-in-apifox": "https://app.apifox.com/web/project/6067185/apis/api-300701492-run"
      }
    },
    "/api/v3/chat/completions": {
      "post": {
        "summary": "火山引擎大模型调用AI一下",
        "deprecated": false,
        "description": "\n入参\n```\n{\n    \"model\": \"doubao-1-5-thinking-vision-pro-250428\",\n    \"messages\": [\n        {\n            \"role\": \"system\",\n            \"content\": \"你是专业的菜品识别专家。请先精准识别图片中的核心内容（若包含多种，需分别识别并列出），然后按以下规则分类：若识别出的菜品属于菜品范围内，将其放入数组targetDishes中；若识别出的菜品不在菜品范围内，将其放入数组otherDishes中。\"\n        },\n        {\n            \"content\": [\n                {\n                    \"image_url\": {\n                        \"url\": \"https://img.kxunpt.cn/zhct_dev/static/upload/cater/20250812/sourceimg/9D794C9A-D247-5048-B78B-609344BA8ABD1.png\"\n                    },\n                    \"type\": \"image_url\"\n                },\n                {\n                    \"text\": \"菜品范围：蒸蛋、米饭、油面筋塞肉、紫菜汤、黄豆芽豆泡肉丝、毛豆子烧鸡块、清炒青菜\",\n                    \"type\": \"text\"\n                }\n            ],\n            \"role\": \"user\"\n        }\n    ],\n    \"thinking\": {\n        \"type\": \"disabled\"\n    },\n    \"response_format\": {\n        \"type\": \"json_schema\",\n        \"json_schema\": {\n            \"name\": \"identify\",\n            \"description\": \"识别结果\",\n            \"strict\": true,\n            \"schema\": {\n                \"type\": \"object\",\n                \"properties\": {\n                    \"targetDishes\": {\n                        \"type\": \"array\",\n                        \"description\": \"识别出的菜品属于菜品范围内\"\n                    },\n                    \"otherDishes\": {\n                        \"type\": \"array\",\n                        \"description\": \"识别出的菜品不在菜品范围内\"\n                    }\n                },\n                \"required\": [\n                    \"targetDishes\",\n                    \"otherDishes\"\n                ],\n                \"additionalProperties\": false\n            }\n        }\n    }\n}\n```\n结果\n```\n{\n    \"choices\": [\n        {\n            \"finish_reason\": \"stop\",\n            \"index\": 0,\n            \"logprobs\": null,\n            \"message\": {\n                \"content\": \"{\\n    \\\"targetDishes\\\": [\\\"米饭\\\", \\\"蒸蛋\\\", \\\"清炒青菜\\\"],\\n    \\\"otherDishes\\\": []\\n}\",\n                \"role\": \"assistant\"\n            }\n        }\n    ],\n    \"created\": 1754975638,\n    \"id\": \"02175497563789751a4de465b0283da2206832d2fbfef91e3031d\",\n    \"model\": \"doubao-1-5-thinking-vision-pro-250428\",\n    \"service_tier\": \"default\",\n    \"object\": \"chat.completion\",\n    \"usage\": {\n        \"completion_tokens\": 30,\n        \"prompt_tokens\": 1671,\n        \"total_tokens\": 1701,\n        \"prompt_tokens_details\": {\n            \"cached_tokens\": 0\n        },\n        \"completion_tokens_details\": {\n            \"reasoning_tokens\": 0\n        }\n    }\n}\n```",
        "tags": [
          "AI运动营养师/CozeAI"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "",
            "required": false,
            "example": "Bearer b99481be-a78d-4ee7-ba3d-182737bdb176",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "content-type",
            "in": "header",
            "description": "",
            "required": true,
            "example": "application/json",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "",
            "required": true,
            "example": "text/event-stream",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connection",
            "in": "header",
            "description": "",
            "required": true,
            "example": "keep-alive",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {},
                "x-apifox-ignore-properties": [],
                "x-apifox-orders": []
              },
              "example": {
                "model": "doubao-seed-1-6-thinking-250715",
                "messages": [
                  {
                    "role": "system",
                    "content": "你是一位专业的菜品识别专家。你的任务是仔细分析提供的菜品图片，尽可能准确地识别其中的菜品。 识别规则：1. 在识别过程中，要充分考虑食材常见别名进行匹配，且必须优先匹配给定菜品范围内的菜品，若范围内无匹配菜品，再考虑范围外菜品。如西兰花常被称作花菜，西红柿也叫番茄，橘子和桔子为同一水果等。同时仔细观察菜品的色泽、形状、纹理等特征来准确识别，如红烧排骨通常色泽红亮、块状；馒头一般为白色、方形或圆形等。2. 对于外观可能相似的菜品（如桔子切片和烤面包片），除考虑外观颜色、形状外，还可结合食物的质地（桔子柔软多"
                  },
                  {
                    "content": [
                      {
                        "image_url": {
                          "url": "https://jgswct.i-wnd.cn:8453/zhct_xwq/static/upload/initial_menu/artwork_master/20250919/2D27D119-D6DC-F11D-FC8D-8260FFD8D209.jpg"
                        },
                        "type": "image_url"
                      },
                      {
                        "text": "菜品范围：西兰花炒虾仁、蒸南瓜、白灼虾、煮玉米、红烧牛肉、椰奶",
                        "type": "text"
                      }
                    ],
                    "role": "user"
                  }
                ],
                "response_format": {
                  "type": "json_schema",
                  "json_schema": {
                    "name": "identify",
                    "description": "识别结果",
                    "strict": true,
                    "schema": {
                      "type": "object",
                      "properties": {
                        "targetDishes": {
                          "type": "array",
                          "description": "识别出的菜品属于菜品范围内"
                        },
                        "otherDishes": {
                          "type": "array",
                          "description": "识别出的菜品不在菜品范围内"
                        }
                      },
                      "required": [
                        "targetDishes",
                        "otherDishes"
                      ],
                      "additionalProperties": false
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {},
                  "x-apifox-ignore-properties": [],
                  "x-apifox-orders": []
                }
              }
            },
            "headers": {},
            "x-apifox-name": "成功",
            "x-apifox-ordering": 0
          }
        },
        "security": [],
        "x-apifox-folder": "AI运动营养师/CozeAI",
        "x-apifox-status": "developing",
        "x-run-in-apifox": "https://app.apifox.com/web/project/6067185/apis/api-395755422-run"
      }
    },
    "/api/v3/knowledge_base/search": {
      "post": {
        "summary": "火山引擎知识库检索",
        "deprecated": false,
        "description": "\n入参\n```\n{\n    \"model\": \"doubao-1-5-thinking-vision-pro-250428\",\n    \"messages\": [\n        {\n            \"role\": \"system\",\n            \"content\": \"你是专业的菜品识别专家。请先精准识别图片中的核心内容（若包含多种，需分别识别并列出），然后按以下规则分类：若识别出的菜品属于菜品范围内，将其放入数组targetDishes中；若识别出的菜品不在菜品范围内，将其放入数组otherDishes中。\"\n        },\n        {\n            \"content\": [\n                {\n                    \"image_url\": {\n                        \"url\": \"https://img.kxunpt.cn/zhct_dev/static/upload/cater/20250812/sourceimg/9D794C9A-D247-5048-B78B-609344BA8ABD1.png\"\n                    },\n                    \"type\": \"image_url\"\n                },\n                {\n                    \"text\": \"菜品范围：蒸蛋、米饭、油面筋塞肉、紫菜汤、黄豆芽豆泡肉丝、毛豆子烧鸡块、清炒青菜\",\n                    \"type\": \"text\"\n                }\n            ],\n            \"role\": \"user\"\n        }\n    ],\n    \"thinking\": {\n        \"type\": \"disabled\"\n    },\n    \"response_format\": {\n        \"type\": \"json_schema\",\n        \"json_schema\": {\n            \"name\": \"identify\",\n            \"description\": \"识别结果\",\n            \"strict\": true,\n            \"schema\": {\n                \"type\": \"object\",\n                \"properties\": {\n                    \"targetDishes\": {\n                        \"type\": \"array\",\n                        \"description\": \"识别出的菜品属于菜品范围内\"\n                    },\n                    \"otherDishes\": {\n                        \"type\": \"array\",\n                        \"description\": \"识别出的菜品不在菜品范围内\"\n                    }\n                },\n                \"required\": [\n                    \"targetDishes\",\n                    \"otherDishes\"\n                ],\n                \"additionalProperties\": false\n            }\n        }\n    }\n}\n```\n结果\n```\n{\n    \"choices\": [\n        {\n            \"finish_reason\": \"stop\",\n            \"index\": 0,\n            \"logprobs\": null,\n            \"message\": {\n                \"content\": \"{\\n    \\\"targetDishes\\\": [\\\"米饭\\\", \\\"蒸蛋\\\", \\\"清炒青菜\\\"],\\n    \\\"otherDishes\\\": []\\n}\",\n                \"role\": \"assistant\"\n            }\n        }\n    ],\n    \"created\": 1754975638,\n    \"id\": \"02175497563789751a4de465b0283da2206832d2fbfef91e3031d\",\n    \"model\": \"doubao-1-5-thinking-vision-pro-250428\",\n    \"service_tier\": \"default\",\n    \"object\": \"chat.completion\",\n    \"usage\": {\n        \"completion_tokens\": 30,\n        \"prompt_tokens\": 1671,\n        \"total_tokens\": 1701,\n        \"prompt_tokens_details\": {\n            \"cached_tokens\": 0\n        },\n        \"completion_tokens_details\": {\n            \"reasoning_tokens\": 0\n        }\n    }\n}\n```",
        "tags": [
          "AI运动营养师/CozeAI"
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "",
            "required": false,
            "example": "Bearer b99481be-a78d-4ee7-ba3d-182737bdb176",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "content-type",
            "in": "header",
            "description": "",
            "required": true,
            "example": "application/json",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Accept",
            "in": "header",
            "description": "",
            "required": true,
            "example": "text/event-stream",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connection",
            "in": "header",
            "description": "",
            "required": true,
            "example": "keep-alive",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {},
                "x-apifox-ignore-properties": [],
                "x-apifox-orders": []
              },
              "example": {
                "model": "doubao-seed-1-6-thinking-250715",
                "messages": [
                  {
                    "role": "system",
                    "content": "你是一位专业的菜品识别专家。你的任务是仔细分析提供的菜品图片，尽可能准确地识别其中的菜品。 识别规则：1. 在识别过程中，要充分考虑食材常见别名进行匹配，且必须优先匹配给定菜品范围内的菜品，若范围内无匹配菜品，再考虑范围外菜品。如西兰花常被称作花菜，西红柿也叫番茄，橘子和桔子为同一水果等。同时仔细观察菜品的色泽、形状、纹理等特征来准确识别，如红烧排骨通常色泽红亮、块状；馒头一般为白色、方形或圆形等。2. 对于外观可能相似的菜品（如桔子切片和烤面包片），除考虑外观颜色、形状外，还可结合食物的质地（桔子柔软多"
                  },
                  {
                    "content": [
                      {
                        "image_url": {
                          "url": "https://jgswct.i-wnd.cn:8453/zhct_xwq/static/upload/initial_menu/artwork_master/20250919/2D27D119-D6DC-F11D-FC8D-8260FFD8D209.jpg"
                        },
                        "type": "image_url"
                      },
                      {
                        "text": "菜品范围：西兰花炒虾仁、蒸南瓜、白灼虾、煮玉米、红烧牛肉、椰奶",
                        "type": "text"
                      }
                    ],
                    "role": "user"
                  }
                ],
                "response_format": {
                  "type": "json_schema",
                  "json_schema": {
                    "name": "identify",
                    "description": "识别结果",
                    "strict": true,
                    "schema": {
                      "type": "object",
                      "properties": {
                        "targetDishes": {
                          "type": "array",
                          "description": "识别出的菜品属于菜品范围内"
                        },
                        "otherDishes": {
                          "type": "array",
                          "description": "识别出的菜品不在菜品范围内"
                        }
                      },
                      "required": [
                        "targetDishes",
                        "otherDishes"
                      ],
                      "additionalProperties": false
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {},
                  "x-apifox-ignore-properties": [],
                  "x-apifox-orders": []
                }
              }
            },
            "headers": {},
            "x-apifox-name": "成功",
            "x-apifox-ordering": 0
          }
        },
        "security": [],
        "x-apifox-folder": "AI运动营养师/CozeAI",
        "x-apifox-status": "developing",
        "x-run-in-apifox": "https://app.apifox.com/web/project/6067185/apis/api-396500114-run"
      }
    },
    "/api/healthkit/notifications": {
      "post": {
        "summary": "华为健康订阅通知接口",
        "deprecated": false,
        "description": "",
        "tags": [
          "AI运动营养师/华为健康"
        ],
        "parameters": [
          {
            "name": "Access-Token",
            "in": "header",
            "description": "",
            "example": "{{Access-Token}}",
            "schema": {
              "type": "string",
              "default": "{{Access-Token}}"
            }
          },
          {
            "name": "platform",
            "in": "header",
            "description": "",
            "example": "MP-WEIXIN",
            "schema": {
              "type": "string",
              "default": "MP-WEIXIN"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "type": "object",
                "properties": {
                  "openId": {
                    "description": "华为健康openId",
                    "example": "AAAoUgQucCprPewRAdhpf3VxfCzu",
                    "type": "string"
                  },
                  "eventTime": {
                    "description": "事件发生时间",
                    "example": "1607514090688",
                    "type": "string"
                  },
                  "eventType": {
                    "description": "事件类型ID",
                    "example": "SAMPLESET_EVENT$UPDATE$com.huawei.continuous.steps.total",
                    "type": "string"
                  },
                  "type": {
                    "description": "事件类别",
                    "example": "SAMPLESET_EVENT",
                    "type": "string"
                  },
                  "subType": {
                    "description": "子事件类别",
                    "example": "UPDATE",
                    "type": "string"
                  },
                  "subscriptionId": {
                    "description": "订阅记录ID",
                    "example": "fbc790f0-b25f-4844-8c16-68e786f84cfa",
                    "type": "string"
                  },
                  "metaData": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": "事件扩展元数据。请参见MetaData数据模型",
                    "example": [
                      ""
                    ]
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {},
                  "x-apifox-ignore-properties": [],
                  "x-apifox-orders": []
                }
              }
            },
            "headers": {},
            "x-apifox-name": "成功",
            "x-apifox-ordering": 0
          }
        },
        "security": [],
        "x-apifox-folder": "AI运动营养师/华为健康",
        "x-apifox-status": "developing",
        "x-run-in-apifox": "https://app.apifox.com/web/project/6067185/apis/api-332589222-run"
      }
    },
    "/api/healthkit/hwdata": {
      "get": {
        "summary": "华为健康应用Scheme地址",
        "deprecated": false,
        "description": "",
        "tags": [
          "AI运动营养师/华为健康"
        ],
        "parameters": [
          {
            "name": "Access-Token",
            "in": "header",
            "description": "",
            "example": "{{Access-Token}}",
            "schema": {
              "type": "string",
              "default": "{{Access-Token}}"
            }
          },
          {
            "name": "platform",
            "in": "header",
            "description": "",
            "example": "MP-WEIXIN",
            "schema": {
              "type": "string",
              "default": "MP-WEIXIN"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {},
                  "x-apifox-ignore-properties": [],
                  "x-apifox-orders": []
                }
              }
            },
            "headers": {},
            "x-apifox-name": "成功",
            "x-apifox-ordering": 0
          }
        },
        "security": [],
        "x-apifox-folder": "AI运动营养师/华为健康",
        "x-apifox-status": "developing",
        "x-run-in-apifox": "https://app.apifox.com/web/project/6067185/apis/api-301366790-run"
      }
    },
    "/oauth2/v3/tokeninfo": {
      "post": {
        "summary": "验证ID Token有效性--调试用",
        "deprecated": false,
        "description": "",
        "tags": [
          "AI运动营养师/华为健康"
        ],
        "parameters": [
          {
            "name": "Access-Token",
            "in": "header",
            "description": "",
            "example": "{{Access-Token}}",
            "schema": {
              "type": "string",
              "default": "{{Access-Token}}"
            }
          },
          {
            "name": "platform",
            "in": "header",
            "description": "",
            "example": "MP-WEIXIN",
            "schema": {
              "type": "string",
              "default": "MP-WEIXIN"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "type": "object",
                "properties": {
                  "id_token": {
                    "example": "eyJraWQiOiIzZDE4NjU1MGRlMmRhYjYzMzUyOGY1MmQwZGYxYTJlNjc3MTJmMTgwYjUxMmRiNzc3YzhiMmUyN2Q1MTk0NTA3IiwidHlwIjoiSldUIiwiYWxnIjoiUlMyNTYifQ.eyJhdF9oYXNoIjoiS05LWWs0Z3RaczlMSFVhVlJCbXVNUSIsImF1ZCI6IjExNDMwMzc0NyIsInN1YiI6IkFBQUNyWXE5LWNJQXNGcVk5OU5ONElhbTZDdDRVIiwiYXpwIjoiMTE0MzAzNzQ3Iiwib3BlbmlkIjoiQUFBb1VnUXVjQ3ByTUpBckg5aHBmM1Z4ZkN6dSIsImlzcyI6Imh0dHBzOi8vYWNjb3VudHMuaHVhd2VpLmNvbSIsImV4cCI6MTc1MTM1MDEyNiwiaWF0IjoxNzUxMzQ2NTI2LCJub25jZSI6ImRlZmF1bHQifQ.JaSfwn5P9iHfDBXPrZuQHvV-ahGpR_CBnH23XfJBbi7PlCPyxkZVyPZex2UuyjAFSmGJCh0Qt6p-38XBnS-Dsr7g3OHjkaMOsk3SaA4sFwVZpIgOoVHWfsBYdCm20ggKzmz5nOvOBakwgzpIBZKEHnzcHcN6xwpdriSPSuuhYp3Up_yG7spKWwSWlOihr5PJlefq5Ml7q4g-iteYQPQthuSCC-lePyVyY1SHbMLm4HjyHw7jkJG6a54MgameHBBgxe658Zq5vifjTOKvpEuADjMCuQnzf__tSk2Cao8db2r6N52NdN62M0bUccPaj36HjYP1mP3QPVSwySkTIW0vzQ",
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {},
                  "x-apifox-ignore-properties": [],
                  "x-apifox-orders": []
                }
              }
            },
            "headers": {},
            "x-apifox-name": "成功",
            "x-apifox-ordering": 0
          }
        },
        "security": [],
        "x-apifox-folder": "AI运动营养师/华为健康",
        "x-apifox-status": "developing",
        "x-run-in-apifox": "https://app.apifox.com/web/project/6067185/apis/api-315950281-run"
      }
    },
    "/rest.php": {
      "post": {
        "summary": "获取用户信息",
        "deprecated": false,
        "description": "",
        "tags": [
          "AI运动营养师/华为健康"
        ],
        "parameters": [
          {
            "name": "nsp_svc",
            "in": "query",
            "description": "",
            "required": false,
            "example": "GOpen.User.getInfo",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Access-Token",
            "in": "header",
            "description": "",
            "example": "{{Access-Token}}",
            "schema": {
              "type": "string",
              "default": "{{Access-Token}}"
            }
          },
          {
            "name": "platform",
            "in": "header",
            "description": "",
            "example": "MP-WEIXIN",
            "schema": {
              "type": "string",
              "default": "MP-WEIXIN"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "type": "object",
                "properties": {
                  "access_token": {
                    "example": "DQEAAB5WSehWC1iCQMdQKFPoO+KMwSBNvmrPiYIbXfa1BQnTDrlfOGN4AR+1L6RtrZy778bZVEq2HUQjZQEJiUNqX22INMjTOdmGkk9Q33M/oDdtnVTN",
                    "type": "string"
                  },
                  "getNickName": {
                    "example": "1",
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {},
                  "x-apifox-ignore-properties": [],
                  "x-apifox-orders": []
                }
              }
            },
            "headers": {},
            "x-apifox-name": "成功",
            "x-apifox-ordering": 0
          }
        },
        "security": [],
        "x-apifox-folder": "AI运动营养师/华为健康",
        "x-apifox-status": "developing",
        "x-run-in-apifox": "https://app.apifox.com/web/project/6067185/apis/api-315954621-run"
      }
    },
    "/api/restaurant/detail": {
      "get": {
        "summary": "根据档口id获取档口信息",
        "deprecated": false,
        "description": "",
        "tags": [
          "AI运动营养师/订餐"
        ],
        "parameters": [
          {
            "name": "restaurant_id",
            "in": "query",
            "description": "",
            "required": false,
            "example": "1",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Access-Token",
            "in": "header",
            "description": "",
            "example": "{{Access-Token}}",
            "schema": {
              "type": "string",
              "default": "{{Access-Token}}"
            }
          },
          {
            "name": "platform",
            "in": "header",
            "description": "",
            "example": "MP-WEIXIN",
            "schema": {
              "type": "string",
              "default": "MP-WEIXIN"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {},
                  "x-apifox-ignore-properties": [],
                  "x-apifox-orders": []
                }
              }
            },
            "x-apifox-name": "成功",
            "x-apifox-ordering": 0
          }
        },
        "security": [],
        "x-apifox-folder": "AI运动营养师/订餐",
        "x-apifox-status": "developing",
        "x-run-in-apifox": "https://app.apifox.com/web/project/6067185/apis/api-450857350-run"
      }
    },
    "/api/mealCheckout/directPay": {
      "post": {
        "summary": "小程序直接扣款并生成已支付订单",
        "deprecated": false,
        "description": "",
        "tags": [
          "AI运动营养师/订餐"
        ],
        "parameters": [
          {
            "name": "Access-Token",
            "in": "header",
            "description": "",
            "example": "{{Access-Token}}",
            "schema": {
              "type": "string",
              "default": "{{Access-Token}}"
            }
          },
          {
            "name": "platform",
            "in": "header",
            "description": "",
            "example": "MP-WEIXIN",
            "schema": {
              "type": "string",
              "default": "MP-WEIXIN"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "restaurant_id": {
                    "type": "integer"
                  },
                  "money": {
                    "type": "string"
                  },
                  "remark": {
                    "type": "string"
                  }
                },
                "required": [
                  "restaurant_id",
                  "money",
                  "remark"
                ],
                "x-apifox-orders": [
                  "restaurant_id",
                  "money",
                  "remark"
                ],
                "x-apifox-ignore-properties": []
              },
              "example": {
                "restaurant_id": 1,
                "money": "12.50",
                "remark": ""
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {},
                  "x-apifox-ignore-properties": [],
                  "x-apifox-orders": []
                }
              }
            },
            "headers": {},
            "x-apifox-name": "成功",
            "x-apifox-ordering": 0
          }
        },
        "security": [],
        "x-apifox-folder": "AI运动营养师/订餐",
        "x-apifox-status": "developing",
        "x-run-in-apifox": "https://app.apifox.com/web/project/6067185/apis/api-450865253-run"
      }
    },
    "/face/login": {
      "post": {
        "summary": "没用-人脸登录",
        "deprecated": false,
        "description": "",
        "tags": [
          "AI运动营养师/英吉多设备"
        ],
        "parameters": [
          {
            "name": "Access-Token",
            "in": "header",
            "description": "",
            "example": "{{Access-Token}}",
            "schema": {
              "type": "string",
              "default": "{{Access-Token}}"
            }
          },
          {
            "name": "platform",
            "in": "header",
            "description": "",
            "example": "MP-WEIXIN",
            "schema": {
              "type": "string",
              "default": "MP-WEIXIN"
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "mac": {
                    "type": "string",
                    "description": "设备 mac 地址",
                    "example": ""
                  },
                  "file": {
                    "type": "string",
                    "format": "binary",
                    "description": "人脸图片文件（文档说明也可用 base64 提交，未给字段名）",
                    "example": ""
                  }
                },
                "required": [
                  "mac",
                  "file"
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "用户信息",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FaceLoginResponse"
                }
              }
            },
            "headers": {},
            "x-apifox-name": "成功",
            "x-apifox-ordering": 0
          }
        },
        "security": [
          {
            "basicAuth": [],
            "x-apifox": {
              "schemeGroups": [
                {
                  "id": "lDjvhpgcBqIptCp4y27jk",
                  "schemeIds": [
                    "basicAuth"
                  ]
                }
              ],
              "required": true,
              "use": {
                "id": "lDjvhpgcBqIptCp4y27jk",
                "configs": {
                  "basicAuth": {
                    "authConfigs": {
                      "x-apifox": {
                        "username": "{{basicAuthUsername}}",
                        "password": "{{basicAuthPassword}}"
                      }
                    }
                  }
                }
              },
              "scopes": {
                "lDjvhpgcBqIptCp4y27jk": {
                  "basicAuth": []
                }
              }
            }
          }
        ],
        "x-apifox-folder": "AI运动营养师/英吉多设备",
        "x-apifox-status": "released",
        "x-run-in-apifox": "https://app.apifox.com/web/project/6067185/apis/api-421876188-run"
      }
    },
    "/rank/list": {
      "get": {
        "summary": "没用-获取运动总排行榜（周期/排序字段）",
        "deprecated": false,
        "description": "",
        "tags": [
          "AI运动营养师/英吉多设备"
        ],
        "parameters": [
          {
            "name": "pageNum",
            "in": "query",
            "description": "当前页码",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "每页数量",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "period",
            "in": "query",
            "description": "排序周期：1-天，2-周，3-月，4-年",
            "required": true,
            "schema": {
              "type": "integer",
              "enum": [
                1,
                2,
                3,
                4
              ]
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "排序字段：0-时间，1-做功，2-卡路里，3-距离",
            "required": true,
            "schema": {
              "type": "integer",
              "enum": [
                0,
                1,
                2,
                3
              ]
            }
          },
          {
            "name": "type",
            "in": "query",
            "description": "设备类型",
            "required": true,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "Access-Token",
            "in": "header",
            "description": "",
            "example": "{{Access-Token}}",
            "schema": {
              "type": "string",
              "default": "{{Access-Token}}"
            }
          },
          {
            "name": "platform",
            "in": "header",
            "description": "",
            "example": "MP-WEIXIN",
            "schema": {
              "type": "string",
              "default": "MP-WEIXIN"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "排行榜",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RankListResponse"
                }
              }
            },
            "headers": {},
            "x-apifox-name": "成功",
            "x-apifox-ordering": 0
          }
        },
        "security": [
          {
            "basicAuth": [],
            "x-apifox": {
              "schemeGroups": [
                {
                  "id": "lDjvhpgcBqIptCp4y27jk",
                  "schemeIds": [
                    "basicAuth"
                  ]
                }
              ],
              "required": true,
              "use": {
                "id": "lDjvhpgcBqIptCp4y27jk",
                "configs": {
                  "basicAuth": {
                    "authConfigs": {
                      "x-apifox": {
                        "username": "{{basicAuthUsername}}",
                        "password": "{{basicAuthPassword}}"
                      }
                    }
                  }
                }
              },
              "scopes": {
                "lDjvhpgcBqIptCp4y27jk": {
                  "basicAuth": []
                }
              }
            }
          }
        ],
        "x-apifox-folder": "AI运动营养师/英吉多设备",
        "x-apifox-status": "released",
        "x-run-in-apifox": "https://app.apifox.com/web/project/6067185/apis/api-421876195-run"
      }
    },
    "/users": {
      "put": {
        "summary": "没用-修改用户信息",
        "deprecated": false,
        "description": "",
        "tags": [
          "AI运动营养师/英吉多设备"
        ],
        "parameters": [
          {
            "name": "Access-Token",
            "in": "header",
            "description": "",
            "example": "{{Access-Token}}",
            "schema": {
              "type": "string",
              "default": "{{Access-Token}}"
            }
          },
          {
            "name": "platform",
            "in": "header",
            "description": "",
            "example": "MP-WEIXIN",
            "schema": {
              "type": "string",
              "default": "MP-WEIXIN"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateUserRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "修改结果",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiEnvelope"
                }
              }
            },
            "headers": {},
            "x-apifox-name": "成功",
            "x-apifox-ordering": 0
          }
        },
        "security": [
          {
            "basicAuth": [],
            "x-apifox": {
              "schemeGroups": [
                {
                  "id": "lDjvhpgcBqIptCp4y27jk",
                  "schemeIds": [
                    "basicAuth"
                  ]
                }
              ],
              "required": true,
              "use": {
                "id": "lDjvhpgcBqIptCp4y27jk",
                "configs": {
                  "basicAuth": {
                    "authConfigs": {
                      "x-apifox": {
                        "username": "{{basicAuthUsername}}",
                        "password": "{{basicAuthPassword}}"
                      }
                    }
                  }
                }
              },
              "scopes": {
                "lDjvhpgcBqIptCp4y27jk": {
                  "basicAuth": []
                }
              }
            }
          }
        ],
        "x-apifox-folder": "AI运动营养师/英吉多设备",
        "x-apifox-status": "released",
        "x-run-in-apifox": "https://app.apifox.com/web/project/6067185/apis/api-421876198-run"
      }
    },
    "/api/mealOrder/detail": {
      "get": {
        "summary": "外卖订单详情",
        "deprecated": false,
        "description": "H5 外卖记录订单详情接口。前端代理路径为 `/aizhct/api/mealOrder/detail`。\n\n本次补充取消订单相关字段：`can_cancel`、`cancel_reason`、`cancel_rule`。前端根据 `can_cancel=true` 展示取消按钮；如果不可取消，可展示 `cancel_reason`。",
        "operationId": "get_api_mealOrder_detail",
        "tags": [
          "AI运动营养师/订单/外卖记录",
          "订单/外卖记录"
        ],
        "parameters": [
          {
            "name": "order_id",
            "in": "query",
            "description": "订单 ID",
            "required": true,
            "schema": {
              "type": "integer",
              "example": 67500
            }
          },
          {
            "name": "id",
            "in": "query",
            "description": "兼容字段，H5 当前会同时传 `id` 和 `order_id`",
            "required": false,
            "schema": {
              "type": "integer",
              "example": 67500
            }
          },
          {
            "name": "Access-Token",
            "in": "header",
            "description": "登录态令牌",
            "required": true,
            "example": "",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "platform",
            "in": "header",
            "description": "客户端平台，H5 端传 `H5`",
            "required": true,
            "example": "",
            "schema": {
              "type": "string",
              "default": "H5"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "订单详情。业务是否成功以响应体 `status` 为准。",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MealOrderDetailResponse"
                },
                "examples": {
                  "cancelablePaidOrder": {
                    "summary": "已支付且规则内可取消",
                    "value": {
                      "status": 200,
                      "message": "success",
                      "data": {
                        "data": {
                          "id": 67500,
                          "order_no": "260609113094679",
                          "pay_status": 20,
                          "order_status": 30,
                          "refund_status": 0,
                          "meal_date": "2026-06-10",
                          "meal_times": 2,
                          "pay_price": "12.00",
                          "can_cancel": true,
                          "cancel_reason": "",
                          "cancel_rule": {
                            "stall_type": 2,
                            "meal_times": 2,
                            "cancel_time": "10:00",
                            "cancel_deadline": "2026-06-10 10:00:59",
                            "rules": {
                              "1": "08:00",
                              "2": "10:00",
                              "3": "16:00",
                              "4": ""
                            }
                          }
                        }
                      },
                      "trace_id": "xxxxxxxxxxxx"
                    }
                  },
                  "uncancelable": {
                    "summary": "不可取消",
                    "value": {
                      "status": 200,
                      "message": "success",
                      "data": {
                        "data": {
                          "id": 67506,
                          "order_no": "260609178635485",
                          "pay_status": 20,
                          "order_status": 30,
                          "refund_status": 0,
                          "can_cancel": false,
                          "cancel_reason": "已超过取消时间，不可取消",
                          "cancel_rule": {
                            "stall_type": 2,
                            "meal_times": 2,
                            "cancel_time": "10:00",
                            "cancel_deadline": "2026-06-10 10:00:59",
                            "rules": {
                              "1": "08:00",
                              "2": "10:00",
                              "3": "16:00",
                              "4": ""
                            }
                          }
                        }
                      },
                      "trace_id": "xxxxxxxxxxxx"
                    }
                  }
                }
              }
            },
            "headers": {},
            "x-apifox-name": "成功",
            "x-apifox-ordering": 0
          }
        },
        "security": [],
        "x-apifox-folder": "AI运动营养师/订单/外卖记录",
        "x-apifox-status": "released",
        "x-run-in-apifox": "https://app.apifox.com/web/project/6067185/apis/api-471222086-run"
      }
    },
    "/api/mealOrder/cancel": {
      "post": {
        "summary": "取消外卖订单",
        "deprecated": false,
        "description": "H5 外卖记录订单详情页的客户自助取消接口。前端代理路径为 `/aizhct/api/mealOrder/cancel`。\n\n取消逻辑：\n- 未支付订单：`pay_status=10` 且 `order_status=10` 时可直接取消，只更新订单为已取消，不生成退款单，不退余额/补贴，返回 `has_refund=false`。\n- 已支付订单：`pay_status=20` 且 `order_status` 为 `10` 或 `30` 时，继续校验档口取消规则、退款状态、取餐状态和取消截止时间；通过后自动退款，返回 `has_refund=true`。\n- 已取消、退款中/已退款、已进入取餐流程、超过取消时间均不可取消。",
        "operationId": "post_api_mealOrder_cancel",
        "tags": [
          "AI运动营养师/订单/外卖记录",
          "订单/外卖记录"
        ],
        "parameters": [
          {
            "name": "Access-Token",
            "in": "header",
            "description": "登录态令牌",
            "required": true,
            "example": "",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "platform",
            "in": "header",
            "description": "客户端平台，H5 端传 `H5`",
            "required": true,
            "example": "",
            "schema": {
              "type": "string",
              "default": "H5"
            }
          },
          {
            "name": "content-type",
            "in": "header",
            "description": "H5 当前使用 URLSearchParams 表单提交",
            "required": true,
            "example": "",
            "schema": {
              "type": "string",
              "default": "application/x-www-form-urlencoded;charset=UTF-8"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "type": "object",
                "properties": {
                  "order_id": {
                    "type": "integer",
                    "description": "订单 ID",
                    "example": 0
                  },
                  "orderId": {
                    "type": "integer",
                    "description": "兼容字段，订单 ID",
                    "example": 0
                  },
                  "id": {
                    "type": "integer",
                    "description": "兼容字段，订单 ID",
                    "example": 0
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "取消成功或业务失败。业务是否成功以响应体 `status` 为准。",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MealOrderCancelResponse"
                },
                "examples": {
                  "unpaidCancelSuccess": {
                    "summary": "未支付订单取消成功，无退款",
                    "value": {
                      "status": 200,
                      "message": "取消成功",
                      "data": {
                        "can_cancel": true,
                        "cancel_reason": "",
                        "cancel_rule": {
                          "stall_type": 2,
                          "meal_times": 2,
                          "cancel_time": "",
                          "cancel_deadline": "",
                          "rules": []
                        },
                        "order_id": 67500,
                        "order_no": "260609113094679",
                        "has_refund": false,
                        "refund_order_no": "",
                        "refund_amount": "0.00"
                      },
                      "trace_id": "xxxxxxxxxxxx"
                    }
                  },
                  "paidCancelSuccess": {
                    "summary": "已支付订单取消成功，自动退款",
                    "value": {
                      "status": 200,
                      "message": "取消成功，退款已自动退回",
                      "data": {
                        "can_cancel": true,
                        "cancel_reason": "",
                        "cancel_rule": {
                          "stall_type": 2,
                          "meal_times": 2,
                          "cancel_time": "10:00",
                          "cancel_deadline": "2026-06-10 10:00:59",
                          "rules": {
                            "1": "08:00",
                            "2": "10:00",
                            "3": "16:00",
                            "4": ""
                          }
                        },
                        "order_id": 67500,
                        "order_no": "260609113094679",
                        "has_refund": true,
                        "refund_order_no": "RF260610123456789",
                        "refund_amount": "12.00",
                        "remain_balance": "100.00",
                        "remain_cash": "80.00",
                        "remain_subsidy": "20.00"
                      },
                      "trace_id": "xxxxxxxxxxxx"
                    }
                  },
                  "cancelFailed": {
                    "summary": "不可取消",
                    "value": {
                      "status": 500,
                      "message": "已超过取消时间，不可取消",
                      "data": [],
                      "trace_id": "xxxxxxxxxxxx"
                    }
                  }
                }
              }
            },
            "headers": {},
            "x-apifox-name": "成功",
            "x-apifox-ordering": 0
          }
        },
        "security": [],
        "x-apifox-folder": "AI运动营养师/订单/外卖记录",
        "x-apifox-status": "released",
        "x-run-in-apifox": "https://app.apifox.com/web/project/6067185/apis/api-471222087-run"
      }
    },
    "/api/user.AiConversation/identity": {
      "post": {
        "summary": "获取AI用户身份",
        "deprecated": false,
        "description": "登录用户返回稳定的 `ai_user_id`，游客或身份表不可用时返回游客兜底信息。前端用于保持 Coze `user_id` 稳定，并支持游客历史迁移。",
        "operationId": "aiConversationIdentity",
        "tags": [
          "AI运动营养师/AI问答/会话历史",
          "AI问答/会话历史"
        ],
        "parameters": [
          {
            "name": "Access-Token",
            "in": "header",
            "description": "登录态Token。部分接口支持游客兜底，迁移游客历史时必须登录。",
            "required": false,
            "example": "",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "enterprise-no",
            "in": "header",
            "description": "企业编号，由前端请求拦截器自动带上。",
            "required": false,
            "example": "",
            "schema": {
              "type": "string",
              "example": "10001"
            }
          },
          {
            "name": "version",
            "in": "header",
            "description": "前端版本号。",
            "required": false,
            "example": "",
            "schema": {
              "type": "string",
              "example": "2.0.51"
            }
          },
          {
            "name": "platform",
            "in": "header",
            "description": "",
            "example": "MP-WEIXIN",
            "schema": {
              "type": "string",
              "default": "MP-WEIXIN"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/IdentityRequest"
              },
              "example": {
                "guest_id": "guest_lx1t2x9abc123"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BaseResponse"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/IdentityData"
                        }
                      },
                      "x-apifox-orders": [
                        "data"
                      ],
                      "x-apifox-ignore-properties": []
                    }
                  ]
                },
                "example": {
                  "status": 200,
                  "message": "success",
                  "data": {
                    "is_login": true,
                    "user_id": 10086,
                    "ai_user_id": "aiu_7s6_ab12cd34ef56"
                  }
                }
              }
            },
            "headers": {},
            "x-apifox-name": "成功",
            "x-apifox-ordering": 0
          }
        },
        "security": [],
        "x-apifox-folder": "AI运动营养师/AI问答/会话历史",
        "x-apifox-status": "released",
        "x-run-in-apifox": "https://app.apifox.com/web/project/6067185/apis/api-471338719-run"
      }
    },
    "/api/user.AiConversation/add": {
      "post": {
        "summary": "保存AI聊天历史批次",
        "deprecated": false,
        "description": "保存一批聊天消息到 `yoshop_ai_conversation`，并同步维护会话元数据。新库字段存在时会按 `message_key` 去重，图片外链会尝试持久化到OSS。兼容旧前端传 `user_id` 的调用方式。",
        "operationId": "aiConversationAdd",
        "tags": [
          "AI运动营养师/AI问答/会话历史",
          "AI问答/会话历史"
        ],
        "parameters": [
          {
            "name": "Access-Token",
            "in": "header",
            "description": "登录态Token。部分接口支持游客兜底，迁移游客历史时必须登录。",
            "required": false,
            "example": "",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "enterprise-no",
            "in": "header",
            "description": "企业编号，由前端请求拦截器自动带上。",
            "required": false,
            "example": "",
            "schema": {
              "type": "string",
              "example": "10001"
            }
          },
          {
            "name": "version",
            "in": "header",
            "description": "前端版本号。",
            "required": false,
            "example": "",
            "schema": {
              "type": "string",
              "example": "2.0.51"
            }
          },
          {
            "name": "platform",
            "in": "header",
            "description": "",
            "example": "MP-WEIXIN",
            "schema": {
              "type": "string",
              "default": "MP-WEIXIN"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SaveConversationRequest"
              },
              "example": {
                "user_id": "aiu_7s6_ab12cd34ef56",
                "bot_id": "7516821130448420914",
                "conversation_id": "conv_202606101200",
                "open_id": "",
                "title": "今天午餐怎么吃",
                "additional_messages": [
                  {
                    "type": "user",
                    "role": "user",
                    "content": "今天午餐推荐吃什么？"
                  },
                  {
                    "type": "bot",
                    "role": "assistant",
                    "content": "建议选择高蛋白、低油脂的餐品。",
                    "showContent": "<p>建议选择高蛋白、低油脂的餐品。</p>"
                  }
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "成功或业务失败",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StringDataResponse"
                },
                "examples": {
                  "success": {
                    "summary": "保存成功",
                    "value": {
                      "status": 200,
                      "message": "success",
                      "data": "保存成功"
                    }
                  },
                  "fail": {
                    "summary": "保存失败",
                    "value": {
                      "status": 500,
                      "message": "保存失败",
                      "data": null
                    }
                  }
                }
              }
            },
            "headers": {},
            "x-apifox-name": "成功",
            "x-apifox-ordering": 0
          }
        },
        "security": [],
        "x-apifox-folder": "AI运动营养师/AI问答/会话历史",
        "x-apifox-status": "released",
        "x-run-in-apifox": "https://app.apifox.com/web/project/6067185/apis/api-471338720-run"
      }
    },
    "/api/user.AiConversation/lists": {
      "post": {
        "summary": "查询AI聊天历史",
        "deprecated": false,
        "description": "按 AI 用户、智能体、会话ID查询聊天历史。接口按 `create_time` 升序返回，当前服务端 `pagesize` 上限为 200；前端需要分页拉取才能拿到超过200批的历史。",
        "operationId": "aiConversationLists",
        "tags": [
          "AI运动营养师/AI问答/会话历史",
          "AI问答/会话历史"
        ],
        "parameters": [
          {
            "name": "Access-Token",
            "in": "header",
            "description": "登录态Token。部分接口支持游客兜底，迁移游客历史时必须登录。",
            "required": false,
            "example": "",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "enterprise-no",
            "in": "header",
            "description": "企业编号，由前端请求拦截器自动带上。",
            "required": false,
            "example": "",
            "schema": {
              "type": "string",
              "example": "10001"
            }
          },
          {
            "name": "version",
            "in": "header",
            "description": "前端版本号。",
            "required": false,
            "example": "",
            "schema": {
              "type": "string",
              "example": "2.0.51"
            }
          },
          {
            "name": "platform",
            "in": "header",
            "description": "",
            "example": "MP-WEIXIN",
            "schema": {
              "type": "string",
              "default": "MP-WEIXIN"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ListConversationRequest"
              },
              "example": {
                "user_id": "aiu_7s6_ab12cd34ef56",
                "bot_id": "7516821130448420914",
                "conversation_id": "conv_202606101200",
                "page": 1,
                "pagesize": 200
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BaseResponse"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "object",
                          "properties": {
                            "lists": {
                              "$ref": "#/components/schemas/ConversationPage"
                            }
                          },
                          "x-apifox-orders": [
                            "lists"
                          ],
                          "x-apifox-ignore-properties": []
                        }
                      },
                      "x-apifox-orders": [
                        "data"
                      ],
                      "x-apifox-ignore-properties": []
                    }
                  ]
                },
                "example": {
                  "status": 200,
                  "message": "success",
                  "data": {
                    "lists": {
                      "rows": [
                        {
                          "id": 1,
                          "store_id": 10001,
                          "user_id": "aiu_7s6_ab12cd34ef56",
                          "open_id": "",
                          "bot_id": "7516821130448420914",
                          "conversation_id": "conv_202606101200",
                          "content": [
                            {
                              "type": "user",
                              "role": "user",
                              "content": "今天午餐推荐吃什么？"
                            }
                          ],
                          "content_file_url": "https://img.kxunpt.cn/ai/history/xxx.json",
                          "message_key": "7e4d9c2d36f6d9b8a4b3e0bcb2e1c1a2",
                          "is_delete": 0,
                          "create_time": 1781083200
                        }
                      ],
                      "total": 1
                    }
                  }
                }
              }
            },
            "headers": {},
            "x-apifox-name": "成功",
            "x-apifox-ordering": 0
          }
        },
        "security": [],
        "x-apifox-folder": "AI运动营养师/AI问答/会话历史",
        "x-apifox-status": "released",
        "x-run-in-apifox": "https://app.apifox.com/web/project/6067185/apis/api-471338721-run"
      }
    },
    "/api/user.AiConversation/sessionList": {
      "post": {
        "summary": "查询AI历史会话列表",
        "deprecated": false,
        "description": "查询当前 AI 用户的会话元数据列表，按 `update_time` 倒序返回。返回项会补充 `first_message` 和 `display_time`，用于前端历史会话抽屉展示。",
        "operationId": "aiConversationSessionList",
        "tags": [
          "AI运动营养师/AI问答/会话历史",
          "AI问答/会话历史"
        ],
        "parameters": [
          {
            "name": "Access-Token",
            "in": "header",
            "description": "登录态Token。部分接口支持游客兜底，迁移游客历史时必须登录。",
            "required": false,
            "example": "",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "enterprise-no",
            "in": "header",
            "description": "企业编号，由前端请求拦截器自动带上。",
            "required": false,
            "example": "",
            "schema": {
              "type": "string",
              "example": "10001"
            }
          },
          {
            "name": "version",
            "in": "header",
            "description": "前端版本号。",
            "required": false,
            "example": "",
            "schema": {
              "type": "string",
              "example": "2.0.51"
            }
          },
          {
            "name": "platform",
            "in": "header",
            "description": "",
            "example": "MP-WEIXIN",
            "schema": {
              "type": "string",
              "default": "MP-WEIXIN"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SessionListRequest"
              },
              "example": {
                "user_id": "aiu_7s6_ab12cd34ef56",
                "bot_id": "7516821130448420914",
                "page": 1,
                "pagesize": 20
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BaseResponse"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "object",
                          "properties": {
                            "sessions": {
                              "$ref": "#/components/schemas/SessionPage"
                            }
                          },
                          "x-apifox-orders": [
                            "sessions"
                          ],
                          "x-apifox-ignore-properties": []
                        }
                      },
                      "x-apifox-orders": [
                        "data"
                      ],
                      "x-apifox-ignore-properties": []
                    }
                  ]
                },
                "example": {
                  "status": 200,
                  "message": "success",
                  "data": {
                    "sessions": {
                      "rows": [
                        {
                          "id": 12,
                          "store_id": 10001,
                          "user_id": 10086,
                          "ai_user_id": "aiu_7s6_ab12cd34ef56",
                          "open_id": "",
                          "bot_id": "7516821130448420914",
                          "conversation_id": "conv_202606101200",
                          "title": "今天午餐怎么吃",
                          "last_message": "建议选择高蛋白、低油脂的餐品。",
                          "message_count": 2,
                          "is_current": 1,
                          "is_delete": 0,
                          "create_time": 1781083200,
                          "update_time": 1781083260,
                          "first_message": "今天午餐推荐吃什么？",
                          "display_time": 1781083260
                        }
                      ],
                      "total": 1
                    }
                  }
                }
              }
            },
            "headers": {},
            "x-apifox-name": "成功",
            "x-apifox-ordering": 0
          }
        },
        "security": [],
        "x-apifox-folder": "AI运动营养师/AI问答/会话历史",
        "x-apifox-status": "released",
        "x-run-in-apifox": "https://app.apifox.com/web/project/6067185/apis/api-471338722-run"
      }
    },
    "/api/user.AiConversation/currentSession": {
      "post": {
        "summary": "获取当前AI会话",
        "deprecated": false,
        "description": "获取当前 AI 用户指定智能体下最近或标记为当前的会话。没有会话时返回空对象。",
        "operationId": "aiConversationCurrentSession",
        "tags": [
          "AI运动营养师/AI问答/会话历史",
          "AI问答/会话历史"
        ],
        "parameters": [
          {
            "name": "Access-Token",
            "in": "header",
            "description": "登录态Token。部分接口支持游客兜底，迁移游客历史时必须登录。",
            "required": false,
            "example": "",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "enterprise-no",
            "in": "header",
            "description": "企业编号，由前端请求拦截器自动带上。",
            "required": false,
            "example": "",
            "schema": {
              "type": "string",
              "example": "10001"
            }
          },
          {
            "name": "version",
            "in": "header",
            "description": "前端版本号。",
            "required": false,
            "example": "",
            "schema": {
              "type": "string",
              "example": "2.0.51"
            }
          },
          {
            "name": "platform",
            "in": "header",
            "description": "",
            "example": "MP-WEIXIN",
            "schema": {
              "type": "string",
              "default": "MP-WEIXIN"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CurrentSessionRequest"
              },
              "example": {
                "user_id": "aiu_7s6_ab12cd34ef56",
                "bot_id": "7516821130448420914"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "成功",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BaseResponse"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "object",
                          "properties": {
                            "session": {
                              "$ref": "#/components/schemas/ConversationSession"
                            }
                          },
                          "x-apifox-orders": [
                            "session"
                          ],
                          "x-apifox-ignore-properties": []
                        }
                      },
                      "x-apifox-orders": [
                        "data"
                      ],
                      "x-apifox-ignore-properties": []
                    }
                  ]
                },
                "example": {
                  "status": 200,
                  "message": "success",
                  "data": {
                    "session": {
                      "id": 12,
                      "store_id": 10001,
                      "user_id": 10086,
                      "ai_user_id": "aiu_7s6_ab12cd34ef56",
                      "bot_id": "7516821130448420914",
                      "conversation_id": "conv_202606101200",
                      "title": "今天午餐怎么吃",
                      "last_message": "建议选择高蛋白、低油脂的餐品。",
                      "message_count": 2,
                      "is_current": 1,
                      "create_time": 1781083200,
                      "update_time": 1781083260
                    }
                  }
                }
              }
            },
            "headers": {},
            "x-apifox-name": "成功",
            "x-apifox-ordering": 0
          }
        },
        "security": [],
        "x-apifox-folder": "AI运动营养师/AI问答/会话历史",
        "x-apifox-status": "released",
        "x-run-in-apifox": "https://app.apifox.com/web/project/6067185/apis/api-471338723-run"
      }
    },
    "/api/user.AiConversation/deleteSession": {
      "post": {
        "summary": "删除AI会话",
        "deprecated": false,
        "description": "软删除指定会话，并同步软删除该会话下的历史消息。必须传 `conversation_id`。",
        "operationId": "aiConversationDeleteSession",
        "tags": [
          "AI运动营养师/AI问答/会话历史",
          "AI问答/会话历史"
        ],
        "parameters": [
          {
            "name": "Access-Token",
            "in": "header",
            "description": "登录态Token。部分接口支持游客兜底，迁移游客历史时必须登录。",
            "required": false,
            "example": "",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "enterprise-no",
            "in": "header",
            "description": "企业编号，由前端请求拦截器自动带上。",
            "required": false,
            "example": "",
            "schema": {
              "type": "string",
              "example": "10001"
            }
          },
          {
            "name": "version",
            "in": "header",
            "description": "前端版本号。",
            "required": false,
            "example": "",
            "schema": {
              "type": "string",
              "example": "2.0.51"
            }
          },
          {
            "name": "platform",
            "in": "header",
            "description": "",
            "example": "MP-WEIXIN",
            "schema": {
              "type": "string",
              "default": "MP-WEIXIN"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SessionActionRequest"
              },
              "example": {
                "user_id": "aiu_7s6_ab12cd34ef56",
                "bot_id": "7516821130448420914",
                "conversation_id": "conv_202606101200"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "成功或业务失败",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StringDataResponse"
                },
                "examples": {
                  "success": {
                    "summary": "删除成功",
                    "value": {
                      "status": 200,
                      "message": "success",
                      "data": "删除成功"
                    }
                  },
                  "missingConversationId": {
                    "summary": "缺少conversation_id",
                    "value": {
                      "status": 500,
                      "message": "缺少conversation_id",
                      "data": null
                    }
                  }
                }
              }
            },
            "headers": {},
            "x-apifox-name": "成功",
            "x-apifox-ordering": 0
          }
        },
        "security": [],
        "x-apifox-folder": "AI运动营养师/AI问答/会话历史",
        "x-apifox-status": "released",
        "x-run-in-apifox": "https://app.apifox.com/web/project/6067185/apis/api-471338724-run"
      }
    },
    "/api/user.AiConversation/clearSession": {
      "post": {
        "summary": "清空AI会话消息",
        "deprecated": false,
        "description": "保留会话元数据，但清空最近消息与消息数量，并软删除该会话下历史消息。必须传 `conversation_id`。",
        "operationId": "aiConversationClearSession",
        "tags": [
          "AI运动营养师/AI问答/会话历史",
          "AI问答/会话历史"
        ],
        "parameters": [
          {
            "name": "Access-Token",
            "in": "header",
            "description": "登录态Token。部分接口支持游客兜底，迁移游客历史时必须登录。",
            "required": false,
            "example": "",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "enterprise-no",
            "in": "header",
            "description": "企业编号，由前端请求拦截器自动带上。",
            "required": false,
            "example": "",
            "schema": {
              "type": "string",
              "example": "10001"
            }
          },
          {
            "name": "version",
            "in": "header",
            "description": "前端版本号。",
            "required": false,
            "example": "",
            "schema": {
              "type": "string",
              "example": "2.0.51"
            }
          },
          {
            "name": "platform",
            "in": "header",
            "description": "",
            "example": "MP-WEIXIN",
            "schema": {
              "type": "string",
              "default": "MP-WEIXIN"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SessionActionRequest"
              },
              "example": {
                "user_id": "aiu_7s6_ab12cd34ef56",
                "bot_id": "7516821130448420914",
                "conversation_id": "conv_202606101200"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "成功或业务失败",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StringDataResponse"
                },
                "examples": {
                  "success": {
                    "summary": "清空成功",
                    "value": {
                      "status": 200,
                      "message": "success",
                      "data": "清空成功"
                    }
                  },
                  "missingConversationId": {
                    "summary": "缺少conversation_id",
                    "value": {
                      "status": 500,
                      "message": "缺少conversation_id",
                      "data": null
                    }
                  }
                }
              }
            },
            "headers": {},
            "x-apifox-name": "成功",
            "x-apifox-ordering": 0
          }
        },
        "security": [],
        "x-apifox-folder": "AI运动营养师/AI问答/会话历史",
        "x-apifox-status": "released",
        "x-run-in-apifox": "https://app.apifox.com/web/project/6067185/apis/api-471338725-run"
      }
    },
    "/api/user.AiConversation/migrateGuest": {
      "post": {
        "summary": "迁移游客AI历史到登录用户",
        "deprecated": false,
        "description": "登录后将游客 AI 用户ID下的历史消息和会话迁移到当前登录用户的稳定 `ai_user_id`。未登录或缺少游客ID时返回业务错误。",
        "operationId": "aiConversationMigrateGuest",
        "tags": [
          "AI运动营养师/AI问答/会话历史",
          "AI问答/会话历史"
        ],
        "parameters": [
          {
            "name": "Access-Token",
            "in": "header",
            "description": "登录态Token。部分接口支持游客兜底，迁移游客历史时必须登录。",
            "required": false,
            "example": "",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "enterprise-no",
            "in": "header",
            "description": "企业编号，由前端请求拦截器自动带上。",
            "required": false,
            "example": "",
            "schema": {
              "type": "string",
              "example": "10001"
            }
          },
          {
            "name": "version",
            "in": "header",
            "description": "前端版本号。",
            "required": false,
            "example": "",
            "schema": {
              "type": "string",
              "example": "2.0.51"
            }
          },
          {
            "name": "platform",
            "in": "header",
            "description": "",
            "example": "MP-WEIXIN",
            "schema": {
              "type": "string",
              "default": "MP-WEIXIN"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MigrateGuestRequest"
              },
              "example": {
                "guest_ai_user_id": "guest_lx1t2x9abc123"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "成功或业务失败",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BaseResponse"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "data": {
                          "$ref": "#/components/schemas/MigrateGuestData"
                        }
                      },
                      "x-apifox-orders": [
                        "data"
                      ],
                      "x-apifox-ignore-properties": []
                    }
                  ]
                },
                "examples": {
                  "success": {
                    "summary": "迁移成功",
                    "value": {
                      "status": 200,
                      "message": "success",
                      "data": {
                        "ai_user_id": "aiu_7s6_ab12cd34ef56",
                        "migrated_messages": 12,
                        "migrated_sessions": 3
                      }
                    }
                  },
                  "notLogin": {
                    "summary": "未登录",
                    "value": {
                      "status": 500,
                      "message": "请先登录",
                      "data": null
                    }
                  }
                }
              }
            },
            "headers": {},
            "x-apifox-name": "成功",
            "x-apifox-ordering": 0
          }
        },
        "security": [],
        "x-apifox-folder": "AI运动营养师/AI问答/会话历史",
        "x-apifox-status": "released",
        "x-run-in-apifox": "https://app.apifox.com/web/project/6067185/apis/api-471338726-run"
      }
    },
    "/api/zhaiker.Device/qrcode": {
      "get": {
        "summary": "获取宅客设备所需二维码",
        "deprecated": false,
        "description": "",
        "tags": [
          "AI运动营养师"
        ],
        "parameters": [
          {
            "name": "Access-Token",
            "in": "header",
            "description": "",
            "example": "{{Access-Token}}",
            "schema": {
              "type": "string",
              "default": "{{Access-Token}}"
            }
          },
          {
            "name": "platform",
            "in": "header",
            "description": "",
            "example": "MP-WEIXIN",
            "schema": {
              "type": "string",
              "default": "MP-WEIXIN"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {},
                  "x-apifox-ignore-properties": [],
                  "x-apifox-orders": []
                }
              }
            },
            "x-apifox-name": "成功",
            "x-apifox-ordering": 0
          }
        },
        "security": [],
        "x-apifox-folder": "AI运动营养师",
        "x-apifox-status": "developing",
        "x-run-in-apifox": "https://app.apifox.com/web/project/6067185/apis/api-446397482-run"
      }
    }
  },
  "components": {
    "schemas": {
      "ApiEnvelope": {
        "type": "object",
        "properties": {
          "success": {
            "type": "string",
            "description": "是否成功（文档中为 string）"
          },
          "message": {
            "type": "string",
            "description": "提示信息"
          },
          "code": {
            "type": "string",
            "description": "code=10000 表示成功，其它值通过 message 下发提示"
          },
          "data": {
            "type": "object",
            "description": "业务数据",
            "x-apifox-orders": [],
            "properties": {},
            "x-apifox-ignore-properties": [],
            "nullable": true
          }
        },
        "required": [
          "success",
          "message",
          "code"
        ],
        "x-apifox-orders": [
          "success",
          "message",
          "code",
          "data"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "LoginQrData": {
        "type": "object",
        "properties": {
          "qr": {
            "type": "string",
            "description": "二维码内容（设备生成图片/内容）"
          },
          "expire": {
            "type": "number",
            "description": "过期时间（秒）"
          }
        },
        "required": [
          "qr"
        ],
        "x-apifox-orders": [
          "qr",
          "expire"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "LoginQrResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ApiEnvelope"
          },
          {
            "type": "object",
            "properties": {
              "data": {
                "$ref": "#/components/schemas/LoginQrData"
              }
            },
            "required": [
              "data"
            ],
            "x-apifox-orders": [
              "data"
            ],
            "x-apifox-ignore-properties": []
          }
        ],
        "x-apifox-folder": ""
      },
      "UserProfile": {
        "type": "object",
        "properties": {
          "userId": {
            "type": "string"
          },
          "userName": {
            "type": "string"
          },
          "nickname": {
            "type": "string"
          },
          "avatarUrl": {
            "type": "string",
            "format": "uri"
          },
          "height": {
            "type": "integer",
            "description": "身高（厘米）"
          },
          "weight": {
            "type": "integer",
            "description": "体重（单位见原系统；文档中修改用户信息处为“斤”）"
          },
          "heartRate": {
            "type": "integer"
          },
          "gender": {
            "type": "integer",
            "description": "0 未知；1 男；2 女"
          }
        },
        "required": [
          "userId"
        ],
        "x-apifox-orders": [
          "userId",
          "userName",
          "nickname",
          "avatarUrl",
          "height",
          "weight",
          "heartRate",
          "gender"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "FaceLoginResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ApiEnvelope"
          },
          {
            "type": "object",
            "properties": {
              "data": {
                "$ref": "#/components/schemas/UserProfile"
              }
            },
            "required": [
              "data"
            ],
            "x-apifox-orders": [
              "data"
            ],
            "x-apifox-ignore-properties": []
          }
        ],
        "x-apifox-folder": ""
      },
      "LogoutRequest": {
        "type": "object",
        "properties": {
          "mac": {
            "type": "string",
            "description": "设备 mac 地址"
          },
          "userId": {
            "type": "string",
            "description": "用户 ID"
          }
        },
        "required": [
          "mac",
          "userId"
        ],
        "x-apifox-orders": [
          "mac",
          "userId"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "RankListItem": {
        "type": "object",
        "properties": {
          "userId": {
            "type": "string"
          },
          "nickname": {
            "type": "string"
          },
          "avatarUrl": {
            "type": "string",
            "format": "uri"
          },
          "value": {
            "type": "integer",
            "description": "运动数据"
          },
          "rankNo": {
            "type": "integer",
            "description": "排名"
          }
        },
        "required": [
          "userId",
          "value",
          "rankNo"
        ],
        "x-apifox-orders": [
          "userId",
          "nickname",
          "avatarUrl",
          "value",
          "rankNo"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "PagedRankList": {
        "type": "object",
        "properties": {
          "hasNextPage": {
            "type": "boolean"
          },
          "list": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RankListItem"
            }
          }
        },
        "required": [
          "hasNextPage",
          "list"
        ],
        "x-apifox-orders": [
          "hasNextPage",
          "list"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "RankListResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ApiEnvelope"
          },
          {
            "type": "object",
            "properties": {
              "data": {
                "$ref": "#/components/schemas/PagedRankList"
              }
            },
            "required": [
              "data"
            ],
            "x-apifox-orders": [
              "data"
            ],
            "x-apifox-ignore-properties": []
          }
        ],
        "x-apifox-folder": ""
      },
      "UserRankData": {
        "allOf": [
          {
            "$ref": "#/components/schemas/RankListItem"
          }
        ],
        "x-apifox-folder": ""
      },
      "UserRankResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ApiEnvelope"
          },
          {
            "type": "object",
            "properties": {
              "data": {
                "$ref": "#/components/schemas/UserRankData"
              }
            },
            "required": [
              "data"
            ],
            "x-apifox-orders": [
              "data"
            ],
            "x-apifox-ignore-properties": []
          }
        ],
        "x-apifox-folder": ""
      },
      "SportsTotalData": {
        "type": "object",
        "properties": {
          "duration": {
            "type": "string",
            "description": "总时长（秒）"
          },
          "calorie": {
            "type": "string",
            "description": "总卡路里（千卡）"
          },
          "number": {
            "type": "string",
            "description": "总运动次数（次）"
          }
        },
        "required": [
          "duration",
          "calorie",
          "number"
        ],
        "x-apifox-orders": [
          "duration",
          "calorie",
          "number"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "SportsTotalResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ApiEnvelope"
          },
          {
            "type": "object",
            "properties": {
              "data": {
                "$ref": "#/components/schemas/SportsTotalData"
              }
            },
            "required": [
              "data"
            ],
            "x-apifox-orders": [
              "data"
            ],
            "x-apifox-ignore-properties": []
          }
        ],
        "x-apifox-folder": ""
      },
      "UpdateUserRequest": {
        "type": "object",
        "properties": {
          "birthday": {
            "type": "string",
            "description": "生日（格式请与厂商对齐）"
          },
          "height": {
            "type": "integer",
            "description": "身高：厘米"
          },
          "weight": {
            "type": "integer",
            "description": "体重：斤（按文档）"
          },
          "gender": {
            "type": "integer",
            "description": "0 未知；1 男；2 女"
          },
          "heartRate": {
            "type": "integer"
          }
        },
        "required": [
          "birthday",
          "height",
          "weight",
          "gender",
          "heartRate"
        ],
        "x-apifox-orders": [
          "birthday",
          "height",
          "weight",
          "gender",
          "heartRate"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "RestoreMpWxLoginRequest": {
        "type": "object",
        "required": [
          "form"
        ],
        "properties": {
          "form": {
            "type": "object",
            "required": [
              "code"
            ],
            "properties": {
              "code": {
                "type": "string",
                "description": "小程序 uni.login / wx.login 返回的临时登录凭证"
              }
            },
            "x-apifox-orders": [
              "code"
            ],
            "x-apifox-ignore-properties": []
          }
        },
        "x-apifox-orders": [
          "form"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "ResolveMpWxEnterpriseRequest": {
        "type": "object",
        "required": [
          "form"
        ],
        "properties": {
          "form": {
            "type": "object",
            "required": [
              "code",
              "appid"
            ],
            "properties": {
              "code": {
                "type": "string",
                "description": "wx.login 返回的临时登录凭证"
              },
              "appid": {
                "type": "string",
                "description": "小程序 appid"
              }
            },
            "x-apifox-orders": [
              "code",
              "appid"
            ],
            "x-apifox-ignore-properties": []
          }
        },
        "x-apifox-orders": [
          "form"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "BindMpWxEnterpriseRouteRequest": {
        "type": "object",
        "required": [
          "form"
        ],
        "properties": {
          "form": {
            "type": "object",
            "required": [
              "appid",
              "enterprise_no"
            ],
            "properties": {
              "openid": {
                "type": "string"
              },
              "code": {
                "type": "string",
                "description": "旧版本兼容"
              },
              "appid": {
                "type": "string"
              },
              "enterprise_no": {
                "type": "string"
              },
              "user_id": {
                "type": "integer",
                "description": "最近登录用户ID；用于按企业+用户精确恢复或禁用静默登录",
                "example": 10086
              }
            },
            "x-apifox-orders": [
              "openid",
              "code",
              "appid",
              "enterprise_no",
              "user_id"
            ],
            "x-apifox-ignore-properties": []
          }
        },
        "x-apifox-orders": [
          "form"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "DisableMpWxEnterpriseRouteRequest": {
        "type": "object",
        "required": [
          "form"
        ],
        "properties": {
          "form": {
            "type": "object",
            "properties": {
              "openid": {
                "type": "string"
              },
              "code": {
                "type": "string",
                "description": "退出时如果没有 openid，可传 wx.login code"
              },
              "appid": {
                "type": "string",
                "description": "小程序 appid；按 openid/code 禁用时必传，按 enterprise_no + user_id 批量禁用时可不传"
              },
              "enterprise_no": {
                "type": "string",
                "description": "当前企业编号；与 user_id 一起传时禁用该企业该用户所有 openid 自动恢复"
              },
              "user_id": {
                "type": "integer",
                "description": "最近登录用户ID；用于按企业+用户精确恢复或禁用静默登录",
                "example": 10086
              }
            },
            "x-apifox-orders": [
              "openid",
              "code",
              "appid",
              "enterprise_no",
              "user_id"
            ],
            "x-apifox-ignore-properties": []
          }
        },
        "x-apifox-orders": [
          "form"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "ResolveMpWxEnterpriseResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "integer",
            "example": 200
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "properties": {
              "appid": {
                "type": "string"
              },
              "openid": {
                "type": "string"
              },
              "enterpriseNo": {
                "type": "string",
                "description": "最近企业编号；为空时进入正常登录"
              },
              "logoutDisabled": {
                "type": "integer",
                "description": "1 表示用户主动退出过，不允许静默恢复"
              },
              "userId": {
                "type": "integer",
                "description": "最近登录用户ID；为空或0时旧版本逻辑按 openid 查当前企业绑定用户",
                "example": 10086
              }
            },
            "x-apifox-orders": [
              "appid",
              "openid",
              "enterpriseNo",
              "logoutDisabled",
              "userId"
            ],
            "x-apifox-ignore-properties": []
          },
          "trace_id": {
            "type": "string"
          }
        },
        "x-apifox-orders": [
          "status",
          "message",
          "data",
          "trace_id"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "LoginTokenResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "integer",
            "example": 200
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "properties": {
              "userId": {
                "type": "integer"
              },
              "token": {
                "type": "string"
              }
            },
            "x-apifox-orders": [
              "userId",
              "token"
            ],
            "x-apifox-ignore-properties": []
          },
          "trace_id": {
            "type": "string"
          }
        },
        "x-apifox-orders": [
          "status",
          "message",
          "data",
          "trace_id"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "EmptySuccessResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "integer",
            "example": 200
          },
          "message": {
            "type": "string"
          },
          "data": {
            "oneOf": [
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              {
                "type": "object",
                "x-apifox-orders": [],
                "properties": {},
                "x-apifox-ignore-properties": []
              },
              {
                "type": "string"
              }
            ]
          },
          "trace_id": {
            "type": "string"
          }
        },
        "x-apifox-orders": [
          "status",
          "message",
          "data",
          "trace_id"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "CreateSsoTicketSuccessResponse": {
        "type": "object",
        "required": [
          "status",
          "message",
          "data"
        ],
        "properties": {
          "status": {
            "type": "integer",
            "example": 200
          },
          "message": {
            "type": "string",
            "example": "ok"
          },
          "data": {
            "type": "object",
            "required": [
              "ticket",
              "expires_in",
              "redirect_url"
            ],
            "properties": {
              "ticket": {
                "type": "string",
                "example": "sso_随机字符串"
              },
              "expires_in": {
                "type": "integer",
                "description": "ticket 剩余有效秒数",
                "example": 300
              },
              "redirect_url": {
                "type": "string",
                "description": "小程序前端最终打开的 H5 地址，域名来自 yoshop_sso_provider.redirect_domain",
                "example": "https://jsgx.yyangpt.cn/web/#/home?ticket=sso_%E9%9A%8F%E6%9C%BA%E5%AD%97%E7%AC%A6%E4%B8%B2"
              }
            },
            "x-apifox-orders": [
              "ticket",
              "expires_in",
              "redirect_url"
            ],
            "x-apifox-ignore-properties": []
          }
        },
        "x-apifox-orders": [
          "status",
          "message",
          "data"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "ConsumeSsoTicketSuccessResponse": {
        "type": "object",
        "required": [
          "status",
          "message",
          "data"
        ],
        "properties": {
          "status": {
            "type": "integer",
            "example": 200
          },
          "message": {
            "type": "string",
            "example": "ok"
          },
          "data": {
            "type": "object",
            "required": [
              "token",
              "system_user_id",
              "user_name",
              "department_name",
              "mobile"
            ],
            "properties": {
              "token": {
                "type": "string",
                "description": "智慧食堂 Access-Token",
                "example": "智慧食堂Access-Token"
              },
              "system_user_id": {
                "type": "integer",
                "description": "智慧食堂用户 ID",
                "example": 123
              },
              "user_name": {
                "type": "string",
                "example": "张三"
              },
              "department_name": {
                "type": "string",
                "example": "某学校"
              },
              "mobile": {
                "type": "string",
                "description": "脱敏手机号",
                "example": "138****0000"
              }
            },
            "x-apifox-orders": [
              "token",
              "system_user_id",
              "user_name",
              "department_name",
              "mobile"
            ],
            "x-apifox-ignore-properties": []
          }
        },
        "x-apifox-orders": [
          "status",
          "message",
          "data"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "CommonErrorResponse": {
        "type": "object",
        "required": [
          "status",
          "message",
          "data"
        ],
        "properties": {
          "status": {
            "type": "integer",
            "example": 400
          },
          "message": {
            "type": "string",
            "example": "手机号格式错误"
          },
          "data": {
            "type": "array",
            "items": {},
            "example": []
          }
        },
        "x-apifox-orders": [
          "status",
          "message",
          "data"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "CommonEnvelope": {
        "type": "object",
        "properties": {
          "status": {
            "type": "integer",
            "description": "业务状态码，成功通常为 200"
          },
          "message": {
            "type": "string",
            "description": "提示信息"
          },
          "data": {
            "description": "业务数据"
          },
          "trace_id": {
            "type": "string",
            "description": "链路追踪 ID"
          }
        },
        "x-apifox-orders": [
          "status",
          "message",
          "data",
          "trace_id"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "CancelRule": {
        "type": "object",
        "properties": {
          "stall_type": {
            "type": "integer",
            "description": "档口类型，2=订单外卖，3=招待订餐"
          },
          "meal_times": {
            "type": "integer",
            "description": "餐次，1=早餐，2=午餐，3=晚餐，4=夜宵"
          },
          "cancel_time": {
            "type": "string",
            "description": "当前餐次取消截止时间，格式 HH:mm"
          },
          "cancel_deadline": {
            "type": "string",
            "description": "取消截止完整时间，格式 yyyy-MM-dd HH:mm:ss"
          },
          "rules": {
            "type": "object",
            "description": "档口配置的各餐次取消规则",
            "x-apifox-orders": [],
            "properties": {},
            "x-apifox-ignore-properties": []
          }
        },
        "x-apifox-orders": [
          "stall_type",
          "meal_times",
          "cancel_time",
          "cancel_deadline",
          "rules"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "MealOrderDetail": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "订单 ID"
          },
          "order_no": {
            "type": "string",
            "description": "订单编号"
          },
          "pay_status": {
            "type": "integer",
            "description": "支付状态，10=待支付，20=已支付"
          },
          "order_status": {
            "type": "integer",
            "description": "订单状态，10=进行中，20=取消，21=待取消，30=已完成"
          },
          "refund_status": {
            "type": "integer",
            "description": "退款状态"
          },
          "meal_date": {
            "type": "string",
            "description": "就餐日期"
          },
          "meal_times": {
            "type": "integer",
            "description": "餐次，1=早餐，2=午餐，3=晚餐，4=夜宵"
          },
          "pay_price": {
            "type": "string",
            "description": "支付金额"
          },
          "can_cancel": {
            "type": "boolean",
            "description": "当前订单是否允许 H5 自助取消"
          },
          "cancel_reason": {
            "type": "string",
            "description": "不可取消原因；可取消时为空字符串"
          },
          "cancel_rule": {
            "$ref": "#/components/schemas/CancelRule"
          }
        },
        "x-apifox-orders": [
          "id",
          "order_no",
          "pay_status",
          "order_status",
          "refund_status",
          "meal_date",
          "meal_times",
          "pay_price",
          "can_cancel",
          "cancel_reason",
          "cancel_rule"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "MealOrderDetailResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/CommonEnvelope"
          },
          {
            "type": "object",
            "properties": {
              "data": {
                "type": "object",
                "properties": {
                  "data": {
                    "$ref": "#/components/schemas/MealOrderDetail"
                  }
                },
                "x-apifox-orders": [
                  "data"
                ],
                "x-apifox-ignore-properties": []
              }
            },
            "x-apifox-orders": [
              "data"
            ],
            "x-apifox-ignore-properties": []
          }
        ],
        "x-apifox-folder": ""
      },
      "MealOrderCancelResult": {
        "type": "object",
        "properties": {
          "can_cancel": {
            "type": "boolean",
            "description": "是否允许取消"
          },
          "cancel_reason": {
            "type": "string",
            "description": "不可取消原因；取消成功时为空"
          },
          "cancel_rule": {
            "$ref": "#/components/schemas/CancelRule"
          },
          "order_id": {
            "type": "integer",
            "description": "订单 ID"
          },
          "order_no": {
            "type": "string",
            "description": "订单编号"
          },
          "has_refund": {
            "type": "boolean",
            "description": "是否发生自动退款。未支付订单取消时为 false，已支付订单规则内取消退款时为 true"
          },
          "refund_order_no": {
            "type": "string",
            "description": "退款单号；未支付取消为空字符串"
          },
          "refund_amount": {
            "type": "string",
            "description": "退款金额；未支付取消为 0.00"
          },
          "remain_balance": {
            "type": "string",
            "description": "退款后剩余总余额；仅已支付退款场景返回"
          },
          "remain_cash": {
            "type": "string",
            "description": "退款后现金余额；仅已支付退款场景返回"
          },
          "remain_subsidy": {
            "type": "string",
            "description": "退款后补贴余额；仅已支付退款场景返回"
          }
        },
        "x-apifox-orders": [
          "can_cancel",
          "cancel_reason",
          "cancel_rule",
          "order_id",
          "order_no",
          "has_refund",
          "refund_order_no",
          "refund_amount",
          "remain_balance",
          "remain_cash",
          "remain_subsidy"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "MealOrderCancelResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/CommonEnvelope"
          },
          {
            "type": "object",
            "properties": {
              "data": {
                "$ref": "#/components/schemas/MealOrderCancelResult"
              }
            },
            "x-apifox-orders": [
              "data"
            ],
            "x-apifox-ignore-properties": []
          }
        ],
        "x-apifox-folder": ""
      },
      "BaseResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "integer",
            "description": "业务状态码，200为成功。",
            "example": 200
          },
          "message": {
            "type": "string",
            "description": "提示信息。",
            "example": "success"
          },
          "data": {
            "description": "业务数据。"
          }
        },
        "required": [
          "status",
          "message"
        ],
        "x-apifox-orders": [
          "status",
          "message",
          "data"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "StringDataResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseResponse"
          },
          {
            "type": "object",
            "properties": {
              "data": {
                "type": "string",
                "nullable": true,
                "example": "保存成功"
              }
            },
            "x-apifox-orders": [
              "data"
            ],
            "x-apifox-ignore-properties": []
          }
        ],
        "x-apifox-folder": ""
      },
      "IdentityRequest": {
        "type": "object",
        "properties": {
          "guest_id": {
            "type": "string",
            "description": "游客AI用户ID。登录后用于记录迁移前游客身份。",
            "example": "guest_lx1t2x9abc123"
          }
        },
        "x-apifox-orders": [
          "guest_id"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "IdentityData": {
        "type": "object",
        "properties": {
          "is_login": {
            "type": "boolean",
            "description": "当前是否已登录。"
          },
          "user_id": {
            "type": "integer",
            "description": "登录用户ID；游客为0。"
          },
          "ai_user_id": {
            "type": "string",
            "description": "稳定AI用户ID；游客兜底时可能为空，由前端使用本地guest_id。"
          },
          "guest_id": {
            "type": "string",
            "description": "游客ID兜底字段。"
          }
        },
        "x-apifox-orders": [
          "is_login",
          "user_id",
          "ai_user_id",
          "guest_id"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "SaveConversationRequest": {
        "type": "object",
        "properties": {
          "user_id": {
            "type": "string",
            "description": "AI用户ID。兼容旧前端字段；新前端也可传 `ai_user_id`。",
            "example": "aiu_7s6_ab12cd34ef56"
          },
          "ai_user_id": {
            "type": "string",
            "description": "AI用户ID，优先级高于 `user_id`。",
            "example": "aiu_7s6_ab12cd34ef56"
          },
          "open_id": {
            "type": "string",
            "description": "微信openid，可为空。"
          },
          "bot_id": {
            "type": "string",
            "description": "Coze智能体ID。",
            "example": "7516821130448420914"
          },
          "conversation_id": {
            "type": "string",
            "description": "Coze会话ID。",
            "example": "conv_202606101200"
          },
          "title": {
            "type": "string",
            "description": "会话标题。为空时后端尝试取第一条用户消息。"
          },
          "additional_messages": {
            "type": "array",
            "description": "本次需要保存的一批聊天消息，通常是用户消息和AI回复。",
            "items": {
              "$ref": "#/components/schemas/ChatMessage"
            }
          }
        },
        "required": [
          "bot_id",
          "conversation_id",
          "additional_messages"
        ],
        "x-apifox-orders": [
          "user_id",
          "ai_user_id",
          "open_id",
          "bot_id",
          "conversation_id",
          "title",
          "additional_messages"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "ChatMessage": {
        "type": "object",
        "additionalProperties": true,
        "properties": {
          "type": {
            "type": "string",
            "description": "前端消息类型。",
            "enum": [
              "user",
              "bot"
            ]
          },
          "role": {
            "type": "string",
            "description": "AI角色。",
            "enum": [
              "user",
              "assistant"
            ]
          },
          "content": {
            "description": "消息内容，可为文本，也可为包含text/file_url的数组或对象。"
          },
          "showContent": {
            "type": "string",
            "description": "前端已渲染HTML内容。"
          },
          "image": {
            "type": "string",
            "description": "单图地址。"
          },
          "images": {
            "type": "array",
            "description": "多图地址。",
            "items": {
              "type": "string"
            }
          },
          "chat_id": {
            "type": "string",
            "description": "Coze消息ID。",
            "nullable": true
          }
        },
        "x-apifox-orders": [
          "type",
          "role",
          "content",
          "showContent",
          "image",
          "images",
          "chat_id"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "ListConversationRequest": {
        "type": "object",
        "properties": {
          "user_id": {
            "type": "string",
            "description": "AI用户ID。"
          },
          "ai_user_id": {
            "type": "string",
            "description": "AI用户ID，优先级高于 `user_id`。"
          },
          "open_id": {
            "type": "string",
            "description": "旧字段，当前查询条件主要按AI用户ID过滤。"
          },
          "bot_id": {
            "type": "string",
            "description": "智能体ID。"
          },
          "conversation_id": {
            "type": "string",
            "description": "会话ID。"
          },
          "page": {
            "type": "integer",
            "minimum": 1,
            "default": 1
          },
          "pagesize": {
            "type": "integer",
            "minimum": 1,
            "maximum": 200,
            "default": 15,
            "description": "服务端当前最大限制为200。"
          }
        },
        "x-apifox-orders": [
          "user_id",
          "ai_user_id",
          "open_id",
          "bot_id",
          "conversation_id",
          "page",
          "pagesize"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "ConversationPage": {
        "type": "object",
        "properties": {
          "rows": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ConversationRow"
            }
          },
          "total": {
            "type": "integer",
            "description": "符合条件的历史批次数。"
          }
        },
        "x-apifox-orders": [
          "rows",
          "total"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "ConversationRow": {
        "type": "object",
        "additionalProperties": true,
        "properties": {
          "id": {
            "type": "integer"
          },
          "store_id": {
            "type": "integer"
          },
          "user_id": {
            "type": "string",
            "description": "AI用户ID。"
          },
          "open_id": {
            "type": "string"
          },
          "bot_id": {
            "type": "string"
          },
          "conversation_id": {
            "type": "string"
          },
          "content": {
            "type": "array",
            "description": "已解码的历史消息数组。",
            "items": {
              "type": "string"
            }
          },
          "content_file_url": {
            "type": "string",
            "description": "历史内容文件URL，存在时后端会读取并回填content。"
          },
          "message_key": {
            "type": "string",
            "description": "消息批次去重Key。"
          },
          "is_delete": {
            "type": "integer"
          },
          "create_time": {
            "type": "integer",
            "description": "创建时间戳。"
          }
        },
        "x-apifox-orders": [
          "id",
          "store_id",
          "user_id",
          "open_id",
          "bot_id",
          "conversation_id",
          "content",
          "content_file_url",
          "message_key",
          "is_delete",
          "create_time"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "SessionListRequest": {
        "type": "object",
        "properties": {
          "user_id": {
            "type": "string",
            "description": "AI用户ID。"
          },
          "ai_user_id": {
            "type": "string",
            "description": "AI用户ID，优先级高于 `user_id`。"
          },
          "bot_id": {
            "type": "string",
            "description": "智能体ID，可选。"
          },
          "page": {
            "type": "integer",
            "minimum": 1,
            "default": 1
          },
          "pagesize": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "default": 15,
            "description": "服务端当前最大限制为50。"
          }
        },
        "x-apifox-orders": [
          "user_id",
          "ai_user_id",
          "bot_id",
          "page",
          "pagesize"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "CurrentSessionRequest": {
        "type": "object",
        "properties": {
          "user_id": {
            "type": "string",
            "description": "AI用户ID。"
          },
          "ai_user_id": {
            "type": "string",
            "description": "AI用户ID，优先级高于 `user_id`。"
          },
          "bot_id": {
            "type": "string",
            "description": "智能体ID，可选。"
          }
        },
        "x-apifox-orders": [
          "user_id",
          "ai_user_id",
          "bot_id"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "SessionActionRequest": {
        "type": "object",
        "properties": {
          "user_id": {
            "type": "string",
            "description": "AI用户ID。"
          },
          "ai_user_id": {
            "type": "string",
            "description": "AI用户ID，优先级高于 `user_id`。"
          },
          "bot_id": {
            "type": "string",
            "description": "智能体ID，可选。"
          },
          "conversation_id": {
            "type": "string",
            "description": "会话ID。"
          }
        },
        "required": [
          "conversation_id"
        ],
        "x-apifox-orders": [
          "user_id",
          "ai_user_id",
          "bot_id",
          "conversation_id"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "SessionPage": {
        "type": "object",
        "properties": {
          "rows": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ConversationSession"
            }
          },
          "total": {
            "type": "integer",
            "description": "会话总数。"
          }
        },
        "x-apifox-orders": [
          "rows",
          "total"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "ConversationSession": {
        "type": "object",
        "additionalProperties": true,
        "properties": {
          "id": {
            "type": "integer"
          },
          "store_id": {
            "type": "integer"
          },
          "user_id": {
            "type": "integer",
            "description": "登录用户ID，游客会话为0。"
          },
          "ai_user_id": {
            "type": "string",
            "description": "AI用户ID。"
          },
          "open_id": {
            "type": "string"
          },
          "bot_id": {
            "type": "string"
          },
          "conversation_id": {
            "type": "string"
          },
          "title": {
            "type": "string",
            "description": "会话标题。"
          },
          "last_message": {
            "type": "string",
            "description": "最近一条消息摘要。"
          },
          "message_count": {
            "type": "integer",
            "description": "消息数量。"
          },
          "is_current": {
            "type": "integer",
            "description": "是否当前会话，1是0否。"
          },
          "is_delete": {
            "type": "integer"
          },
          "create_time": {
            "type": "integer"
          },
          "update_time": {
            "type": "integer"
          },
          "first_message": {
            "type": "string",
            "description": "会话第一条用户消息，列表接口补充字段。"
          },
          "display_time": {
            "type": "integer",
            "description": "前端列表展示时间，优先取update_time。"
          }
        },
        "x-apifox-orders": [
          "id",
          "store_id",
          "user_id",
          "ai_user_id",
          "open_id",
          "bot_id",
          "conversation_id",
          "title",
          "last_message",
          "message_count",
          "is_current",
          "is_delete",
          "create_time",
          "update_time",
          "first_message",
          "display_time"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "MigrateGuestRequest": {
        "type": "object",
        "properties": {
          "guest_ai_user_id": {
            "type": "string",
            "description": "游客AI用户ID。"
          },
          "guest_id": {
            "type": "string",
            "description": "兼容字段，未传guest_ai_user_id时使用。"
          }
        },
        "x-apifox-orders": [
          "guest_ai_user_id",
          "guest_id"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "MigrateGuestData": {
        "type": "object",
        "properties": {
          "ai_user_id": {
            "type": "string",
            "description": "迁移目标AI用户ID。"
          },
          "migrated_messages": {
            "type": "integer",
            "description": "迁移的历史消息批次数。"
          },
          "migrated_sessions": {
            "type": "integer",
            "description": "迁移的会话数。"
          }
        },
        "x-apifox-orders": [
          "ai_user_id",
          "migrated_messages",
          "migrated_sessions"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      }
    },
    "responses": {},
    "securitySchemes": {
      "basicAuth": {
        "type": "http",
        "scheme": "basic",
        "description": "文档示例：Headers 加 Authorization: Basic <...>（由厂商提供）"
      }
    }
  },
  "servers": [],
  "security": []
}