|
@@ -180,8 +180,21 @@ abstract class BasePhotoController extends BaseController {
|
|
|
.where((asset) => selectedPhotosIds.contains(asset.id)))
|
|
.where((asset) => selectedPhotosIds.contains(asset.id)))
|
|
|
.toList();
|
|
.toList();
|
|
|
|
|
|
|
|
|
|
+ // 检查是否有重复资产
|
|
|
|
|
+ final uniqueAssetIds = <String>{};
|
|
|
|
|
+ final uniqueAssets = <AssetEntity>[];
|
|
|
|
|
+
|
|
|
|
|
+ for (var asset in assetsToDelete) {
|
|
|
|
|
+ if (!uniqueAssetIds.contains(asset.id)) {
|
|
|
|
|
+ uniqueAssetIds.add(asset.id);
|
|
|
|
|
+ uniqueAssets.add(asset);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ print('删除前检查: selectedPhotosIds数量=${selectedPhotosIds.length}, 原始assetsToDelete数量=${assetsToDelete.length}, 去重后数量=${uniqueAssets.length}');
|
|
|
|
|
+
|
|
|
final List<String> result = await PhotoManager.editor.deleteWithIds(
|
|
final List<String> result = await PhotoManager.editor.deleteWithIds(
|
|
|
- assetsToDelete.map((e) => e.id).toList(),
|
|
|
|
|
|
|
+ uniqueAssets.map((e) => e.id).toList(),
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
if (result.length == selectedPhotosIds.length) {
|
|
if (result.length == selectedPhotosIds.length) {
|