32 lines
1.1 KiB
Markdown
32 lines
1.1 KiB
Markdown
|
|
# 代码功能性能测试报告答复2.md
|
|||
|
|
|
|||
|
|
## 实施项(对应《代码功能性能测试报告2.md》)
|
|||
|
|
|
|||
|
|
### 高优先级
|
|||
|
|
1. 提交防抖
|
|||
|
|
- 新增:`src/utils/timing.js` → `debounce(fn, wait)`
|
|||
|
|
- 应用:`KnowledgeBase.vue`、`MeetingMinutes.vue` 提交按钮改为防抖版
|
|||
|
|
|
|||
|
|
2. XSS 基础清洗
|
|||
|
|
- 新增:`src/utils/sanitize.js` → `sanitizeText()`
|
|||
|
|
- 应用:提交前对文本进行 HTML 转义清洗
|
|||
|
|
|
|||
|
|
3. 上传进度条
|
|||
|
|
- 改造:`InvoiceExtractor.vue`,上传时展示 `el-progress` 进度,完成后下载 Excel
|
|||
|
|
|
|||
|
|
### 中优先级(文档与可维护性)
|
|||
|
|
- 文档更新:`架构说明.md`、`使用说明.md` 同步新增工具与行为说明
|
|||
|
|
|
|||
|
|
## 验证结果
|
|||
|
|
- 容器重启后访问 `http://localhost:3000`:页面加载与热更新正常
|
|||
|
|
- 防抖:连续点击提交,后端仅收到一次请求
|
|||
|
|
- 清洗:提交包含 `<script>` 的文本时被转义,未执行
|
|||
|
|
- 发票提取:上传时显示进度,完成后下载触发
|
|||
|
|
|
|||
|
|
## 后续建议
|
|||
|
|
- 为进度条上传改为 Axios + `onUploadProgress` 以统一请求层
|
|||
|
|
- 引入全局错误边界与日志
|
|||
|
|
- 增加单元测试覆盖上述工具函数与分支
|
|||
|
|
|
|||
|
|
|