## 项目架构说明书 ### 项目概述 - **名称**:云大所AI卓越中心 · n8n工作流 - **类型**:单页面应用(SPA) - **技术栈**:Vue 3 + Element Plus + Vue Router + Axios + Vite - **容器化**:Docker / docker compose(开发热更新) - **核心目标**:集成四个 AI 工具助手(知识库助手、会议纪要生成、文本信息提取、竞品调研)于统一 UI 框架下,提供一致的交互体验。 ### 功能模块说明 - **知识库助手(`src/views/KnowledgeBase.vue`)** - 三个文本输入:`topic`(主题)、`highlights`(关键要点)、`content`(详细内容)。 - 右侧“文件上传占位区”(仅展示,不与后端交互)。 - 点击“提交到知识库”:仅发送上述三段文本组成的 JSON 到 Webhook。 - **会议纪要生成(`src/views/MeetingMinutes.vue`)** - 三个标签页(每个都有文本域 + 上传占位): - 会议议程 / 时间分段 / 会议笔记 → `agenda_notes` - 录音文本 → `transcript` - 其他 AI 总结的要点 → `ai_highlights` - 点击“生成纪要”:仅发送三段文本 JSON;后端返回文件(blob 或 fileUrl),前端触发下载。 - **文本信息提取(`src/views/InvoiceExtractor.vue`)** - 大的拖拽上传区 + 多文件列表。 - 上传限制:PDF/图片,单文件 ≤10MB,上传显示进度条。 - 点击“开始提取”:使用 `FormData` 一次性上传至 Webhook;返回结果文件(blob),自动下载。 - **竞品调研(`src/views/CompetitorResearch.vue`)** - 单行输入框输入“产品品类”。 - 点击“开始调研”:POST 文本到 Webhook;返回报告(blob),自动下载。 ### 新增与变更(第二轮) - 新增工具: - `src/utils/timing.js`:`debounce(fn, wait)` 防抖工具;提交操作默认 300ms 防抖。 - `src/utils/sanitize.js`:`sanitizeText(str)` 简单 XSS 过滤(HTML 转义)。 - 组件改造: - `KnowledgeBase.vue`、`MeetingMinutes.vue`:提交动作加入防抖与输入清洗。 - `InvoiceExtractor.vue`:上传加入类型/大小限制与进度条显示。 - 文档更新:`使用说明.md`、`Test/代码功能性能测试报告答复2.md`。 ### 依赖与版本 - 运行时:`