laoyang
34625cd7d7
fix(web): 上传框点选后无反馈 + 同一文件重复入库(#15)
用户报:资源模块新建时点「上传附件」选文件,页面没有任何变化,
虽然文件实际传上去了、保存也成功,但界面看不出传没传成功。
根因:暂存上传框有三个入口,只接了两个 —— 点框、拖放都能用,
**点选文件触发的 input change 事件没人监听**。
- 新增 bindStagePick():把点选接进 queueDrop(),与拖放走同一条链路,
点选后同样出缩略图卡片 / 状态文字 / 可撤掉(行为一致,不各写一套 UI)。
带去重指纹(name+size+lastModified),避免清空再选时传两遍。
- 修 slot 读错元素:data-stage-slot 渲染在框(.upbox)上而非 input 上,
原来 input.getAttribute() 恒为空串,槽位从来没传上去过。
对资源附件看不出差别,但海报/票根(2:3、按比例重裁)会拿到错槽位。
- queueDrop 增加「没清单就别跑」守卫并返回布尔说明是否接管。
顺带修掉一个我自己在第一版引入的 bug(流水线打回):
文件传完没有从 input.files 摘掉 ⇒ 同一文件同时存在于暂存令牌与 $_FILES
两条通路 ⇒ 服务端两条路径各入库一次 ⇒ 一张图存两行。
实测:点选 1 个文件 → attachments 2 行;观影第 35 批 2 张→4 行、编辑+1→6 行。
- 新增 dropFromInput():传完就把该文件从 input.files 摘掉(只摘一张,
多选时后面的还排在上传链里),只留暂存令牌一条路径。
验证:
- 点选反馈 e2e 17/0(修复前 3 红)
- 查库 e2e 8/0:点选 1 个文件 → attachments 正好 1 行(修复前 2 行)
- 反向验证 10 条全过:三处注入各自精确变红,且不得波及拖放;
并固化「同样注入下渲染探针仍全绿」这一事实
- 观影第 35 批 13/3 → 16/0
- 全量流水线 2h37m EXIT=0 已部署,线上 md5 与本地一致
2026-10-27 10:43:26 +08:00
..
2026-10-22 22:05:17 +08:00
2026-10-20 21:35:47 +08:00
2026-10-27 10:43:26 +08:00
2026-10-25 14:52:43 +08:00
2026-10-25 14:52:43 +08:00
2026-10-03 19:27:14 +08:00
2026-10-08 14:46:16 +08:00
2026-10-18 11:22:34 +08:00
2026-10-15 23:04:25 +08:00
2026-10-09 07:25:08 +08:00
2026-10-12 00:24:20 +08:00
2026-10-27 01:00:12 +08:00
2026-10-22 12:40:14 +08:00
2026-10-22 12:40:14 +08:00
2026-10-19 17:27:37 +08:00