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
..
2026-11-05 13:06:29 +08:00
2026-09-30 00:49:53 +08:00
2026-09-30 13:24:26 +08:00
2026-11-05 20:57:24 +08:00
2026-10-19 12:51:17 +08:00
2026-10-18 03:34:47 +08:00
2026-11-06 11:10:07 +08:00
2026-10-18 03:34:47 +08:00
2026-11-05 13:01:39 +08:00
2026-11-01 19:55:40 +08:00
2026-10-02 09:28:07 +08:00
2026-10-03 08:18:05 +08:00
2026-10-05 10:58:17 +08:00
2026-10-05 10:58:17 +08:00
2026-10-05 10:58:17 +08:00
2026-11-01 19:55:40 +08:00
2026-10-15 20:19:09 +08:00
2026-11-05 17:26:37 +08:00
2026-10-13 11:53:58 +08:00
2026-10-06 20:41:04 +08:00
2026-10-01 00:12:04 +08:00
2026-10-13 11:53:58 +08:00
2026-10-17 00:15:06 +08:00
2026-09-30 00:49:53 +08:00
2026-09-30 00:49:53 +08:00
2026-10-19 23:41:15 +08:00
2026-10-05 13:26:49 +08:00
2026-10-18 20:14:50 +08:00
2026-11-05 12:40:57 +08:00
2026-11-05 20:23:16 +08:00
2026-11-02 08:51:34 +08:00
2026-10-18 03:34:47 +08:00
2026-10-24 04:25:02 +08:00
2026-10-05 10:58:17 +08:00
2026-11-02 16:07:45 +08:00
2026-10-05 10:58:17 +08:00
2026-10-03 08:18:05 +08:00
2026-10-20 21:35:47 +08:00
2026-09-30 09:44:55 +08:00
2026-10-18 11:35:13 +08:00
2026-10-07 18:22:55 +08:00
2026-11-06 10:53:02 +08:00
2026-10-01 00:12:04 +08:00
2026-10-11 10:12:11 +08:00
2026-10-28 12:48:47 +08:00
2026-10-28 12:48:47 +08:00
2026-09-30 13:24:26 +08:00
2026-10-05 16:45:10 +08:00
2026-10-28 16:03:36 +08:00
2026-10-09 07:25:08 +08:00
2026-10-15 23:04:25 +08:00
2026-10-19 17:27:37 +08:00
2026-10-19 15:27:08 +08:00
2026-10-03 19:27:14 +08:00
2026-10-18 03:34:47 +08:00
2026-10-15 23:04:25 +08:00
2026-10-17 00:15:06 +08:00
2026-10-03 11:30:48 +08:00
2026-10-07 11:35:31 +08:00
2026-10-02 22:08:13 +08:00
2026-10-03 11:30:48 +08:00
2026-10-03 15:01:38 +08:00
2026-11-06 10:53:02 +08:00
2026-09-30 00:49:53 +08:00
2026-10-06 03:14:18 +08:00
2026-11-05 20:19:36 +08:00
2026-11-02 16:07:45 +08:00
2026-11-05 12:40:57 +08:00
2026-10-02 09:28:07 +08:00
2026-09-30 11:06:22 +08:00
2026-10-13 11:53:58 +08:00
2026-10-05 16:45:10 +08:00
2026-11-06 10:53:02 +08:00
2026-11-01 19:55:40 +08:00
2026-10-14 01:20:40 +08:00
2026-10-08 10:54:43 +08:00