| 优先级 | 问题描述 | 文件 | 状态 |
|---|---|---|---|
| P1 | HTML/MD 预览和下载按钮全部失效 | FilePreview.vue | ✅ 已修复 |
| P2 | 下载按钮图标背景显示透明 | FilePreview.vue | ✅ 已修复 |
| P2 | 选中报告高亮背景显示透明 | ReportCard.vue | ✅ 已修复 |
// 后端返回 "HTML",前端直接比较小写v-if="report.fileType === 'html'" // ❌ 永远为 falsev-if="report.fileType === 'md'" // ❌ 永远为 falsev-if="report.fileType === 'pptx'" // ❌ 永远为 false
const normalizedFileType = computed(() => (props.report?.fileType || '').toLowerCase())v-if="normalizedFileType === 'html'" // ✅ 正常激活v-if="normalizedFileType === 'md'" // ✅ 正常激活
bg-gradient-to-br from-orange-500 to-orange-600// Tailwind v4 + CSS 变量 → gradient 颜色被解析为透明
bg-orange-500 // 改用实色,绕过 gradient 透明问题
bg-gradient-to-r from-orange-600 to-amber-600// 同样因 Tailwind v4 gradient bug 导致背景透明
bg-orange-600 // 实色背景,正常显示高亮
| 测试项 | 环境 | 结果 |
|---|---|---|
| HTML iframe 预览渲染 | 本地 (41734) + NAS (41733) | ✅ PASS |
| MD Markdown 内容预览 | 本地 | ✅ PASS |
| 下载按钮橙色背景 | 本地 + NAS | ✅ PASS |
| 选中报告侧边栏高亮 | 本地 + NAS | ✅ PASS |
| Console 无报错 | 本地 + NAS | ✅ PASS |
| Docker 镜像构建 | FnOS NAS | ✅ PASS |
| API 报告列表 + 上传 | NAS (192.168.31.240:41733) | ✅ PASS |
--color-orange-500)搭配 bg-gradient-to-* 使用时,gradient 颜色会被解析为透明。解法:统一使用实色类名如 bg-orange-500,避免 gradient。此 bug 影响所有使用 gradient + CSS 自定义颜色组合的 Tailwind v4 项目。"HTML"/"MD"(大写),前端若直接与字符串字面量比较,需注意大小写。建议:后端统一小写返回,或前端用 toLowerCase() 归一化。report.spec.js)依赖的测试数据需预先通过 API 上传,否则报告列表为空导致所有断言超时。COPY dist/ 会缓存构建结果,文件内容变了但步骤不重新执行。解法:重命名 dist 目录(如 dist_new/)+ 更新 Dockerfile 对应路径,强制使 COPY 步骤 cache miss。package.json 含有 "type": "module",直接用 .js 运行 Node Playwright 脚本会报 require is not defined。解法:使用 .cjs 扩展名,或改用 ESM import 语法。