diff --git a/changelogs/2026-03/26_1700_material_batch_delete_toast.md b/changelogs/2026-03/26_1700_material_batch_delete_toast.md new file mode 100644 index 0000000..58a47f1 --- /dev/null +++ b/changelogs/2026-03/26_1700_material_batch_delete_toast.md @@ -0,0 +1,41 @@ +# 素材批量删除——提示信息bug修复 + +**日期**: 2026-03-26 +**类型**: 前端bug +**涉及页面**: 素材库 → 批量删除 + +--- + +## 问题 + +批量删除素材时,即使所有素材都因"被引用"而删除失败,前端仍然提示"成功删除 N 个素材"。实际一个都没删成。 + +## 原因 + +后端 `DELETE /admin/material/batch` 返回的是 `BatchDeleteResultVO`,包含: +- `successCount`:实际成功删除的数量 +- `failedItems`:删除失败的列表(含每个素材的失败原因) + +前端没有正确读取这两个字段,可能只看了 HTTP 200 就认为全部成功。 + +## 前端需要修复 + +1. 读取响应中的 `successCount` 和 `failedItems` +2. 如果 `successCount === 0`,提示"删除失败"并展示失败原因 +3. 如果部分成功部分失败,提示"成功删除 X 个,Y 个失败"并展示失败原因 +4. 常见失败原因:`"该素材被N处引用,无法删除"`、`"无删除权限"` + +## 响应示例 + +```json +{ + "code": 200, + "data": { + "successCount": 2, + "failedItems": [ + { "materialId": "123", "reason": "该素材被1处引用,无法删除" }, + { "materialId": "456", "reason": "无删除权限" } + ] + } +} +```