# AI智能文献模块 - API设计规范 > **文档版本:** v1.0 > **创建日期:** 2025-10-29 > **维护者:** AI智能文献开发团队 > **最后更新:** 2025-10-29 --- ## 📋 文档说明 本文档描述AI智能文献模块的API设计规范,包括接口定义、请求响应格式、错误处理等。 --- ## 🔌 API设计原则 1. **RESTful设计**: 遵循RESTful API设计规范 2. **统一响应格式**: 统一的成功/错误响应结构 3. **分页支持**: 列表接口支持分页 4. **版本控制**: API版本化管理 5. **认证授权**: 所有接口需要JWT认证 --- ## 📡 核心API接口 ### 1. 项目管理 #### 创建筛选项目 ``` POST /api/literature/projects Request Body: { "projectName": "string", "picoCriteria": {...}, "inclusionCriteria": "string", "exclusionCriteria": "string" } Response: { "code": 200, "data": { "id": "uuid", "projectName": "string", ... } } ``` #### 获取项目列表 ``` GET /api/literature/projects?page=1&pageSize=10 ``` #### 获取项目详情 ``` GET /api/literature/projects/:projectId ``` #### 更新项目 ``` PUT /api/literature/projects/:projectId ``` #### 删除项目 ``` DELETE /api/literature/projects/:projectId ``` ### 2. 文献管理 #### 导入文献(Excel) ``` POST /api/literature/projects/:projectId/items/import Content-Type: multipart/form-data Body: file (Excel文件) Response: { "code": 200, "data": { "importedCount": 100, "items": [...] } } ``` #### 获取文献列表 ``` GET /api/literature/projects/:projectId/items?page=1&pageSize=50 ``` #### 获取文献详情 ``` GET /api/literature/projects/:projectId/items/:itemId ``` ### 3. 标题摘要初筛 #### 启动筛选任务 ``` POST /api/literature/projects/:projectId/screening/start Request Body: { "screeningType": "title_abstract", "modelConfig": { "ds": true, "q3": true } } Response: { "code": 200, "data": { "taskId": "uuid", "status": "running" } } ``` #### 获取筛选结果 ``` GET /api/literature/projects/:projectId/screening/results Query Params: - page: 页码 - pageSize: 每页数量 - conflictOnly: 只显示冲突项 - decision: include/exclude/pending ``` #### 更新最终决策 ``` PUT /api/literature/projects/:projectId/screening/results/:resultId Request Body: { "finalDecision": "include", // include/exclude "exclusionReason": "string" // 排除时必填 } ``` #### 批量更新决策 ``` POST /api/literature/projects/:projectId/screening/results/batch-update Request Body: { "itemIds": ["uuid1", "uuid2", ...], "finalDecision": "include", "exclusionReason": "string" } ``` ### 4. 任务管理 #### 获取任务状态 ``` GET /api/literature/projects/:projectId/tasks/:taskId Response: { "code": 200, "data": { "id": "uuid", "status": "running", // pending/running/completed/failed "totalItems": 100, "processedItems": 45, "progress": 45 } } ``` #### 任务进度流式推送(SSE) ``` GET /api/literature/projects/:projectId/tasks/:taskId/progress Accept: text/event-stream ``` --- ## 📋 响应格式规范 ### 成功响应 ```json { "code": 200, "message": "success", "data": {...} } ``` ### 错误响应 ```json { "code": 400, "message": "错误描述", "error": { "code": "ERROR_CODE", "details": "..." } } ``` ### 分页响应 ```json { "code": 200, "data": { "items": [...], "pagination": { "page": 1, "pageSize": 20, "total": 100, "totalPages": 5 } } } ``` --- ## ⏳ 待完善内容 后续将补充: - 完整的API文档(所有接口详细说明) - 请求/响应示例 - 错误码定义 - 接口测试用例 --- **文档版本:** v1.0 **最后更新:** 2025-10-29