更新下载统计问题状态

This commit is contained in:
WuYongJie 2026-05-28 21:20:30 +08:00
parent a3432cec26
commit 6c18ebd476

View File

@ -1198,22 +1198,22 @@ NAS 私有化系统可能在平板或窄屏浏览器里使用。模板编辑器
- 如果需要表达状态,优先使用绿色、橙色这类语义色;普通分类继续使用中性色。
- 首页素材卡片、筛选栏和后台表格需要在浏览器里继续做实际页面验证。
### P2-14 下载统计可能虚高
### P2-14 下载统计可能虚高(已修复)
客户影响:
下载日志和次数在确认文件可读取前就写入,文件不存在或读取失败也可能被统计为下载。
历史风险是下载日志和次数在确认文件可读取前就写入,文件不存在或读取失败也可能被统计为下载。当前代码已改成先确认文件可读或对象流可获取,再记录下载日志和增加次数。
证据:
- `app/api/materials/download/route.ts:97`:先创建下载日志。
- `app/api/materials/download/route.ts:120`:先增加下载次数。
- `app/api/materials/download/route.ts:130`:后面才判断文件路径。
- `app/api/materials/download/route.ts:217`:后面才读本地文件。
- `app/api/materials/download/route.ts`:S3 路径先调用 `getS3ObjectStream()` 获取对象流,本地 legacy 文件先 `access(filePath)` 确认可读,然后才调用 `recordDownloadIfNeeded()`。
- `app/api/materials/download/route.ts`:`recordDownloadIfNeeded()` 仍负责创建下载日志并递增 `downloadCount`,但只在下载响应准备成功后执行。
- `app/api/materials/download/__tests__/route.test.ts`:已覆盖 legacy 本地文件不存在时返回 404,且不记录下载日志、不增加下载次数。
建议动作:
- 确认文件可读或签名 URL 生成成功后,再写下载日志和计数。
- 已完成:下载统计不再在文件不存在时虚增。
- 后续如改成预签名 URL 或后台打包下载,也要保持“确认可交付后再记数”的规则。
### P2-14A 监控页导出素材 CSV 复用普通素材列表接口(已补管理员专用接口)