{ "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": "错误信息" } } } } } }