Files
FamilyBook/app
laoyang 94a557cd2e 观影照片支持 DELETE 单删(暴露已存在的 Movie::deletePhoto)(#86)
用户:编辑观影记录的时候,那个图片应该可以被删除吧?现在没有删除按钮。

Movie::deletePhoto() 早就存在(连存储对象一起删,含视频 thumb_key),
网页端 movies/photo_del 也一直在用 —— 缺的只是 API 那一层。

- /movies/<id>/photos 从\"只 POST\"扩为 POST 追加 + DELETE 删除;
- photo_id 走 query:Api::dispatch() 只解析到 parts[2],parts[3] 会被
  静默丢弃;与 trips/<id>/nodes/attach 同一口径;
- 删除前显式校验归属(id + event_id 同查),不匹配就 404 ——
  deletePhoto 内部遇到错配是\"删 0 行 + 静默成功\",会让调用方误以为删掉了;
- poster 仍只 POST:换海报是覆盖语义,清空走 PATCH 空 poster_key。

验证:event_id 错配查询返回 false(越权被拦);临时图入库后删除,
5→4 张、库行消失、Storage::exists true→false(驱动 OSS)。
已部署,md5 核对 b50db4dfff743c53c9e4988d694b202b,php -l 通过。
2026-11-06 11:10:07 +08:00
..