diff --git a/__pycache__/app.cpython-312.pyc b/__pycache__/app.cpython-312.pyc index 8a22b98..40d1173 100644 Binary files a/__pycache__/app.cpython-312.pyc and b/__pycache__/app.cpython-312.pyc differ diff --git a/app.py b/app.py index 019f7a6..4ab56bb 100644 --- a/app.py +++ b/app.py @@ -52,6 +52,10 @@ swagger_template = { "name": "AI解析", "description": "AI字段提取相关接口" }, + { + "name": "文档生成", + "description": "文档生成相关接口" + }, { "name": "字段配置", "description": "字段配置查询接口" @@ -465,6 +469,25 @@ def generate_document(): fpolicFieldParamFileList: type: array description: 文件列表(包含filePath) + items: + type: object + properties: + fileId: + type: integer + description: 文件ID + example: 1 + fileName: + type: string + description: 文件名称 + example: 请示报告卡.doc + templateCode: + type: string + description: 模板编码 + example: PRELIMINARY_VERIFICATION_APPROVAL + filePath: + type: string + description: MinIO相对路径 + example: /202511261123/请示报告卡.doc msg: type: string example: ok diff --git a/static/index.html b/static/index.html index 9d8df7b..8f7d20d 100644 --- a/static/index.html +++ b/static/index.html @@ -3,7 +3,7 @@ - 智慧监督AI文书写作 - 解析接口测试 + 智慧监督AI文书写作 - API接口测试 @@ -222,135 +266,208 @@

智慧监督AI文书写作

-

解析接口测试工具 - 初步核实审批表

+

API接口测试工具 - 解析接口 & 文档生成接口

-
- + +
+ + +
+ + +
输入数据
-
- - -
-
- + +
+ +
+ +
+ +
+
-
- -
+

AI正在解析中,请稍候...

- - + + +
+
+
输入数据
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+
+ +
+ +
+ +
+
+

正在生成文档,请稍候...

+
+ + +
+ +
- diff --git a/测试页面使用指南.md b/测试页面使用指南.md new file mode 100644 index 0000000..40f4b8a --- /dev/null +++ b/测试页面使用指南.md @@ -0,0 +1,203 @@ +# 测试页面使用指南 + +## 🎯 概述 + +测试页面提供了两个API接口的可视化测试功能: +1. **AI解析接口** - 从非结构化文本中提取结构化字段 +2. **文档生成接口** - 根据字段数据填充Word模板并生成文档 + +--- + +## 📋 功能说明 + +### 1. AI解析接口测试 + +#### 功能描述 +使用AI大模型从输入文本中提取结构化字段数据。 + +#### 使用步骤 + +1. **切换到"AI解析接口"标签页** + - 点击页面顶部的"AI解析接口"标签 + +2. **添加输入字段** + - 输入字段编码(如:`clue_info`) + - 输入字段值(原始文本) + - 可以添加多个输入字段 + - 点击"+ 添加输入字段"添加更多 + +3. **添加输出字段** + - 输入需要提取的字段编码(如:`target_name`) + - 可以添加多个输出字段 + - 点击"+ 添加输出字段"添加更多 + +4. **开始解析** + - 点击"开始解析"按钮 + - 等待AI处理(可能需要一些时间) + - 查看解析结果 + +#### 示例数据 + +**输入字段:** +``` +字段编码: clue_info +字段值: 被举报用户名称是张三,年龄30岁,某公司总经理,男性,1980年5月出生,中共党员,正处级 +``` + +**输出字段:** +``` +target_name +target_gender +target_organization_and_position +``` + +#### 预期结果 + +```json +{ + "code": 0, + "data": { + "outData": [ + { + "fieldCode": "target_name", + "fieldValue": "张三" + }, + { + "fieldCode": "target_gender", + "fieldValue": "男" + }, + { + "fieldCode": "target_organization_and_position", + "fieldValue": "某公司总经理" + } + ] + }, + "isSuccess": true +} +``` + +--- + +### 2. 文档生成接口测试 + +#### 功能描述 +根据字段数据填充Word模板,生成填充后的文档并上传到MinIO。 + +#### 使用步骤 + +1. **切换到"文档生成接口"标签页** + - 点击页面顶部的"文档生成接口"标签 + +2. **添加字段数据** + - 输入字段编码(如:`target_name`) + - 输入字段值(如:`张三`) + - 可以添加多个字段 + - 点击"+ 添加字段"添加更多 + +3. **添加文件配置** + - 输入文件ID(如:`1`) + - 输入文件名称(如:`初步核实审批表.doc`) + - 输入模板编码(如:`PRELIMINARY_VERIFICATION_APPROVAL`) + - 可以添加多个文件 + - 点击"+ 添加文件"添加更多 + +4. **生成文档** + - 点击"生成文档"按钮 + - 等待文档生成和上传(可能需要一些时间) + - 查看生成结果 + +#### 示例数据 + +**字段数据:** +``` +target_name: 张三 +target_gender: 男 +target_organization_and_position: 某公司总经理 +``` + +**文件配置:** +``` +文件ID: 1 +文件名称: 初步核实审批表.doc +模板编码: PRELIMINARY_VERIFICATION_APPROVAL +``` + +#### 预期结果 + +```json +{ + "code": 0, + "data": { + "documentId": "DOC202411260001", + "documentName": "初步核实审批表_张三.docx", + "fpolicFieldParamFileList": [ + { + "fileId": 1, + "fileName": "初步核实审批表.doc", + "filePath": "/202511261123/初步核实审批表.doc" + } + ] + }, + "isSuccess": true +} +``` + +--- + +## ⚠️ 注意事项 + +### AI解析接口 + +1. **字段编码必须正确** + - 字段编码需要与数据库中的配置一致 + - 可以使用数据库中已有的字段编码 + +2. **输出字段必须存在** + - 输出字段必须在数据库中已配置 + - 如果字段不存在,可能无法提取 + +3. **AI服务配置** + - 需要配置 `SILICONFLOW_API_KEY` 在 `.env` 文件中 + - 如果未配置,解析将失败 + +### 文档生成接口 + +1. **模板编码必须正确** + - 模板编码需要与数据库中的文件配置一致 + - 必须使用 `template_code` 字段的值 + +2. **MinIO配置** + - 需要配置MinIO连接信息 + - 模板文件必须存在于MinIO中 + +3. **字段值匹配** + - Word模板中的占位符需要与字段编码匹配 + - 未匹配的占位符将保持为空 + +--- + +## 🔗 相关链接 + +- **Swagger API文档**: http://localhost:7500/api-docs +- **测试页面**: http://localhost:7500/ + +--- + +## 📝 常见问题 + +### Q: 解析接口一直加载怎么办? +A: 检查AI服务配置是否正确,查看浏览器控制台是否有错误信息。 + +### Q: 文档生成失败? +A: +1. 检查模板编码是否正确 +2. 检查MinIO配置和连接 +3. 检查模板文件是否存在于MinIO + +### Q: 如何查看详细的接口文档? +A: 点击页面底部的"查看完整的API文档 (Swagger)"链接。 + +--- + +**祝测试顺利!** 🎉 + diff --git a/测试页面和Swagger更新总结.md b/测试页面和Swagger更新总结.md new file mode 100644 index 0000000..47e768a --- /dev/null +++ b/测试页面和Swagger更新总结.md @@ -0,0 +1,143 @@ +# 测试页面和Swagger更新总结 + +## ✅ 更新完成 + +### 1. 测试页面更新 (`static/index.html`) + +#### 主要改动 + +- ✅ **双标签页设计** + - 新增标签页切换功能 + - AI解析接口标签页 + - 文档生成接口标签页 + - 清晰的界面导航 + +- ✅ **AI解析接口更新** + - 移除了 `businessType` 选择框(新接口不再需要) + - 新增 `outputData` 输入区域 + - 支持动态添加/删除输入字段 + - 支持动态添加/删除输出字段 + - 使用新的接口格式(`inputData` + `outputData`) + +- ✅ **文档生成接口支持** + - 新增字段数据输入区域 + - 新增文件列表配置区域 + - 支持多个文件同时生成 + - 显示完整的生成结果(文档ID、文档名称、文件路径) + +- ✅ **界面优化** + - 现代化的UI设计 + - 清晰的结果展示区域 + - 友好的错误提示 + - 链接到Swagger API文档 + +#### 接口路径 + +- 解析接口: `/ai/extract` 或 `/api/ai/extract` +- 文档生成接口: `/ai/generate-document` 或 `/api/ai/generate-document` + +--- + +### 2. Swagger配置更新 (`app.py`) + +#### 主要改动 + +- ✅ **新增标签定义** + - 添加"文档生成"标签到Swagger配置 + - 标签列表包含:AI解析、文档生成、字段配置 + +- ✅ **接口文档完整性** + - ✅ AI解析接口 (`/ai/extract`) + - 完整的请求参数说明 + - 完整的响应结构说明 + - 错误码定义(2001, 2002等) + + - ✅ 文档生成接口 (`/ai/generate-document`) + - 完整的请求参数说明 + - 完整的响应结构说明 + - 错误码定义(1001, 3001, 3002等) + - 包含 `filePath` 字段说明 + +#### Swagger访问 + +- URL: http://localhost:7500/api-docs +- 可以查看和测试所有接口 + +--- + +## 📋 功能对比 + +### 之前 vs 现在 + +| 功能 | 之前 | 现在 | +|------|------|------| +| 解析接口测试 | ✅ 支持 | ✅ 支持(新格式) | +| 文档生成测试 | ❌ 不支持 | ✅ 支持 | +| businessType参数 | ✅ 需要 | ❌ 已移除 | +| outputData参数 | ❌ 不支持 | ✅ 支持 | +| 标签页切换 | ❌ 不支持 | ✅ 支持 | +| Swagger文档 | ✅ 部分接口 | ✅ 完整接口 | + +--- + +## 🎯 测试指南 + +### 快速测试步骤 + +1. **启动服务** + ```bash + python app.py + ``` + +2. **访问测试页面** + - 打开浏览器访问: http://localhost:7500/ + +3. **测试解析接口** + - 切换到"AI解析接口"标签页 + - 添加输入字段和输出字段 + - 点击"开始解析" + +4. **测试文档生成接口** + - 切换到"文档生成接口"标签页 + - 添加字段数据和文件配置 + - 点击"生成文档" + +5. **查看API文档** + - 访问: http://localhost:7500/api-docs + - 或点击测试页面底部的链接 + +--- + +## 📝 相关文档 + +- `测试页面使用指南.md` - 详细的使用说明 +- `测试页面更新说明.md` - 更新内容说明 +- `技术文档/智慧监督AI文书写作接口定义-20251204-1.md` - 接口定义文档 + +--- + +## ✨ 亮点功能 + +1. **双标签页设计** - 方便在两个接口之间切换 +2. **动态字段管理** - 可以随时添加/删除字段 +3. **完整的结果展示** - 显示请求数据、响应结果和完整响应 +4. **友好的错误提示** - 清晰的错误信息展示 +5. **Swagger集成** - 完整的API文档和测试功能 + +--- + +## 🔍 验证清单 + +- [x] 测试页面已更新为双标签页 +- [x] AI解析接口使用新格式(无businessType) +- [x] 支持outputData参数 +- [x] 文档生成接口测试功能完整 +- [x] Swagger配置已更新 +- [x] 两个接口都在Swagger中 +- [x] 接口文档完整准确 +- [x] 错误码定义完整 + +--- + +**所有更新已完成!可以开始测试了!** 🎉 + diff --git a/测试页面更新说明.md b/测试页面更新说明.md new file mode 100644 index 0000000..fb2551d --- /dev/null +++ b/测试页面更新说明.md @@ -0,0 +1,106 @@ +# 测试页面更新说明 + +## ✅ 更新内容 + +### 1. 测试页面更新 (`static/index.html`) + +#### 新增功能 + +1. **双标签页设计** + - AI解析接口标签页 + - 文档生成接口标签页 + - 可以在两个接口之间切换测试 + +2. **AI解析接口更新** + - ✅ 取消 `businessType` 参数选择 + - ✅ 新增 `outputData` 输入区域 + - ✅ 支持动态添加/删除输入字段和输出字段 + - ✅ 使用新的接口格式 + +3. **文档生成接口支持** + - ✅ 字段数据输入区域 + - ✅ 文件列表配置区域 + - ✅ 支持多个文件同时生成 + - ✅ 显示文档ID、文档名称和文件路径 + +4. **界面优化** + - ✅ 现代化的标签页设计 + - ✅ 清晰的结果展示 + - ✅ 友好的错误提示 + - ✅ 链接到Swagger API文档 + +### 2. Swagger配置更新 + +- ✅ 添加"文档生成"标签 +- ✅ 两个接口都已包含在Swagger文档中 +- ✅ 完整的接口文档说明 + +--- + +## 📋 使用说明 + +### 测试AI解析接口 + +1. 切换到"AI解析接口"标签页 +2. 添加输入字段(字段编码 + 字段值) +3. 添加输出字段(只需字段编码) +4. 点击"开始解析"按钮 +5. 查看解析结果 + +### 测试文档生成接口 + +1. 切换到"文档生成接口"标签页 +2. 添加字段数据(字段编码 + 字段值) +3. 添加文件配置(文件ID + 文件名称 + 模板编码) +4. 点击"生成文档"按钮 +5. 查看生成结果(包括文件路径) + +--- + +## 🎯 接口路径 + +- **解析接口**: `/ai/extract` 或 `/api/ai/extract` +- **文档生成接口**: `/ai/generate-document` 或 `/api/ai/generate-document` +- **API文档**: `/api-docs` + +--- + +## 📝 示例数据 + +### AI解析接口示例 + +**输入字段:** +- 字段编码: `clue_info` +- 字段值: `被举报用户名称是张三,年龄30岁,某公司总经理,男性,1980年5月出生,中共党员,正处级` + +**输出字段:** +- `target_name` +- `target_gender` +- `target_organization_and_position` + +### 文档生成接口示例 + +**字段数据:** +- `target_name`: `张三` +- `target_gender`: `男` +- `target_organization_and_position`: `某公司总经理` + +**文件配置:** +- 文件ID: `1` +- 文件名称: `初步核实审批表.doc` +- 模板编码: `PRELIMINARY_VERIFICATION_APPROVAL` + +--- + +## 🔍 验证清单 + +- [x] 测试页面已更新 +- [x] 支持解析接口测试 +- [x] 支持文档生成接口测试 +- [x] Swagger配置已更新 +- [x] 两个接口都在Swagger中 + +--- + +**更新完成!** 🎉 +