Files
n8n-web/Test/代码功能性能测试报告答复.md
2025-09-11 14:15:26 +08:00

2.4 KiB
Raw Permalink Blame History

代码功能性能测试报告答复

修复与优化清单(对应《代码功能性能测试报告.md》

一、严重问题修复 🔴

  1. 下载函数重复定义 → 已抽取公共工具
  • 新增:src/utils/download.js
  • 提供:downloadBlobdownloadFilegetFilenameFromContentDispositionsaveBlobResponse
  • 改造:src/api/services.js 全量改用公共工具,移除重复函数
  1. 会议纪要 API 错误处理不一致 → 已重写
  • 位置:src/api/services.jsmeetingMinutesAPI.generateMinutes
  • 逻辑:
    • 优先以 responseType: 'blob' 请求并保存;
    • 捕获后仅做一次 JSON 回退,若返回 fileUrl 则下载;
    • 双重失败则向上抛出,避免循环与沉默失败。

二、中等问题修复 🟡

  1. 表单输入校验
  • src/views/KnowledgeBase.vue:新增 validateForm(),要求“主题、详细内容”非空。
  • src/views/MeetingMinutes.vue:新增最小校验,至少有一项文本不为空。
  1. 文件上传限制
  • src/views/InvoiceExtractor.vue新增类型与大小限制PDF/图片≤10MBonChange 中过滤,警告提示。
  1. 环境变量访问方式
  • env.config.js:改为 import.meta.env?.VITE_*,避免对 import.meta 的可选链访问。

三、轻微问题优化 🟢

  1. 支持动态文件名
  • 下载工具支持从 Content-Disposition 解析文件名,若未提供则回退默认名:saveBlobResponse()

回归测试结论

  • 构建:容器内 npm install && npm run dev 正常Vite 监听 0.0.0.0:3000
  • 基本功能:
    • 路由切换正常;
    • 知识库提交校验生效;
    • 会议纪要至少一项校验生效;
    • 发票提取仅接受 PDF / 图片且 ≤10MB
    • 竞品调研下载流程正常(需后端配合)。
  • 下载:若响应为 blob并且提供 Content-Disposition,可自动使用服务端文件名;否则使用回退名。
  • 错误处理:会议纪要下载流程在 blob 失败时做一次 JSON 回退,不再二次递归或死循环。

影响面

  • 统一了下载行为,降低重复代码。
  • 提高了用户输入、上传的安全性与后端容错性。

后续建议(与测试报告一致)

  • 引入公共错误提示封装与请求防抖;
  • 增加单元测试download 工具、表单校验、API 异常分支);
  • 完善安全策略XSS 过滤、CORS、后端敏感配置