{
  "openapi": "3.0.0",
  "info": {
    "title": "飞鸟农业API文档",
    "version": "1.0.0",
    "description": "飞鸟农业平台后端API接口文档"
  },
  "servers": [
    {
      "url": "http://localhost:3000",
      "description": "开发环境"
    }
  ],
  "paths": {
    "/admin/articles": {
      "get": {
        "tags": [
          "Articles"
        ],
        "summary": "GetArticles",
        "description": "获取文章列表，支持分页和多条件筛选",
        "parameters": [
          {
            "name": "currentPage=1",
            "in": "query",
            "required": false,
            "schema": {
              "type": "number"
            },
            "description": "当前页码，默认为1"
          },
          {
            "name": "pageSize=10",
            "in": "query",
            "required": false,
            "schema": {
              "type": "number"
            },
            "description": "每页显示数量，默认为10"
          },
          {
            "name": "title",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "标题搜索关键词（模糊匹配）"
          },
          {
            "name": "cropIds",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string|array"
            },
            "description": "作物筛选ID，支持逗号分隔的多个ID或数组形式"
          },
          {
            "name": "categoryId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "number"
            },
            "description": "用户分类ID，根据用户传递的category参数值进行精确匹配"
          },
          {
            "name": "isRecommended",
            "in": "query",
            "required": false,
            "schema": {
              "type": "number"
            },
            "description": "推荐筛选，0-非推荐文章，1-推荐文章"
          }
        ],
        "responses": {
          "200": {
            "description": "成功响应",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse"
                }
              }
            }
          },
          "400": {
            "description": "请求参数错误",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse"
                }
              }
            }
          },
          "404": {
            "description": "资源未找到",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse"
                }
              }
            }
          },
          "500": {
            "description": "服务器内部错误",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Articles"
        ],
        "summary": "CreateArticle",
        "description": "创建新的文章，支持富文本内容和图片",
        "parameters": [
          {
            "name": "title",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "文章标题（必填，1-500字符）"
          },
          {
            "name": "content",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "文章内容（必填，富文本格式，最大5MB）"
          },
          {
            "name": "type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "number"
            },
            "description": "文章类型"
          },
          {
            "name": "img",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "文章图片URL"
          },
          {
            "name": "date",
            "in": "query",
            "required": false,
            "schema": {
              "type": "date"
            },
            "description": "文章发布日期"
          },
          {
            "name": "author",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "作者"
          },
          {
            "name": "category",
            "in": "query",
            "required": false,
            "schema": {
              "type": "number"
            },
            "description": "用户分类ID（用户传递的参数）"
          },
          {
            "name": "crop",
            "in": "query",
            "required": false,
            "schema": {
              "type": "number"
            },
            "description": "作物分类ID"
          },
          {
            "name": "isRecommended=0",
            "in": "query",
            "required": false,
            "schema": {
              "type": "number"
            },
            "description": "是否推荐，0-不推荐，1-推荐"
          },
          {
            "name": "subtitle",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "副标题（最大200字符）"
          },
          {
            "name": "seoKeyword",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "SEO关键词"
          },
          {
            "name": "seoDescription",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "SEO描述"
          }
        ],
        "responses": {
          "200": {
            "description": "成功响应",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse"
                }
              }
            }
          },
          "400": {
            "description": "请求参数错误",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse"
                }
              }
            }
          },
          "404": {
            "description": "资源未找到",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse"
                }
              }
            }
          },
          "500": {
            "description": "服务器内部错误",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse"
                }
              }
            }
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Article"
              }
            }
          }
        }
      }
    },
    "/admin/articles/:id": {
      "get": {
        "tags": [
          "Articles"
        ],
        "summary": "GetArticleById",
        "description": "根据文章ID获取文章详细信息",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "number"
            },
            "description": "文章ID（路径参数）"
          }
        ],
        "responses": {
          "200": {
            "description": "成功响应",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse"
                }
              }
            }
          },
          "400": {
            "description": "请求参数错误",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse"
                }
              }
            }
          },
          "404": {
            "description": "资源未找到",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse"
                }
              }
            }
          },
          "500": {
            "description": "服务器内部错误",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Articles"
        ],
        "summary": "DeleteArticle",
        "description": "根据文章ID删除文章",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "number"
            },
            "description": "文章ID（路径参数）"
          }
        ],
        "responses": {
          "200": {
            "description": "成功响应",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse"
                }
              }
            }
          },
          "400": {
            "description": "请求参数错误",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse"
                }
              }
            }
          },
          "404": {
            "description": "资源未找到",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse"
                }
              }
            }
          },
          "500": {
            "description": "服务器内部错误",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Articles"
        ],
        "summary": "UpdateArticle",
        "description": "根据文章ID更新文章信息",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "number"
            },
            "description": "文章ID（路径参数）"
          },
          {
            "name": "title",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "文章标题（1-500字符）"
          },
          {
            "name": "content",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "文章内容（富文本格式，最大5MB）"
          },
          {
            "name": "type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "number"
            },
            "description": "文章类型"
          },
          {
            "name": "img",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "文章图片URL"
          },
          {
            "name": "date",
            "in": "query",
            "required": false,
            "schema": {
              "type": "date"
            },
            "description": "文章发布日期"
          },
          {
            "name": "author",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "作者"
          },
          {
            "name": "category",
            "in": "query",
            "required": false,
            "schema": {
              "type": "number"
            },
            "description": "用户分类ID"
          },
          {
            "name": "crop",
            "in": "query",
            "required": false,
            "schema": {
              "type": "number"
            },
            "description": "作物分类ID"
          },
          {
            "name": "isRecommended",
            "in": "query",
            "required": false,
            "schema": {
              "type": "number"
            },
            "description": "是否推荐，0-不推荐，1-推荐"
          },
          {
            "name": "subtitle",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "副标题（最大200字符）"
          },
          {
            "name": "seoKeyword",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "SEO关键词"
          },
          {
            "name": "seoDescription",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "SEO描述"
          }
        ],
        "responses": {
          "200": {
            "description": "成功响应",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse"
                }
              }
            }
          },
          "400": {
            "description": "请求参数错误",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse"
                }
              }
            }
          },
          "404": {
            "description": "资源未找到",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse"
                }
              }
            }
          },
          "500": {
            "description": "服务器内部错误",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse"
                }
              }
            }
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Article"
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "Article": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "文章ID"
          },
          "title": {
            "type": "string",
            "description": "文章标题"
          },
          "subtitle": {
            "type": "string",
            "description": "文章副标题"
          },
          "content": {
            "type": "string",
            "description": "文章内容"
          },
          "type": {
            "type": "integer",
            "description": "文章类型"
          },
          "img": {
            "type": "string",
            "description": "文章图片URL"
          },
          "date": {
            "type": "string",
            "format": "date-time",
            "description": "文章日期"
          },
          "author": {
            "type": "string",
            "description": "作者"
          },
          "category": {
            "type": "integer",
            "description": "用户分类ID"
          },
          "crop": {
            "type": "integer",
            "description": "作物分类ID"
          },
          "isRecommended": {
            "type": "integer",
            "enum": [
              0,
              1
            ],
            "description": "是否推荐"
          },
          "seoKeyword": {
            "type": "string",
            "description": "SEO关键词"
          },
          "seoDescription": {
            "type": "string",
            "description": "SEO描述"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "description": "创建时间"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "description": "更新时间"
          },
          "cropInfo": {
            "type": "object",
            "properties": {
              "id": {
                "type": "integer",
                "description": "作物ID"
              },
              "name": {
                "type": "string",
                "description": "作物名称"
              },
              "level": {
                "type": "integer",
                "description": "作物层级"
              },
              "parentId": {
                "type": "integer",
                "description": "父级作物ID"
              }
            }
          }
        }
      },
      "ApiResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "请求状态"
          },
          "message": {
            "type": "string",
            "description": "响应消息"
          },
          "data": {
            "type": "object",
            "description": "响应数据"
          },
          "errors": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "错误信息"
          }
        }
      }
    }
  }
}