Browse Source

[fix]修复删除不及时更新的bug

云天逵 11 months ago
parent
commit
5cc93e1140

+ 1 - 37
lib/base/base_photo_controller.dart

@@ -48,43 +48,7 @@ abstract class BasePhotoController extends BaseController {
 FileSizeCalculatorUtil.calculateTotalSize(assetIds: selectedPhotosIds, updateValue: (double totalSize) {
       selectedFilesSize.value = totalSize; // 监听并更新 UI
     });
-    // double totalSize = 0;
-    // final uncasedIds = selectedPhotosIds.where((id) => !FileSizeCalculatorUtil.fileSizeCache.containsKey(id)).toSet();
-    //
-    // // **1️⃣ 先处理缓存中的文件**
-    //
-    // totalSize = selectedPhotosIds.fold(0, (prev, id) => prev + (FileSizeCalculatorUtil.fileSizeCache[id] ?? 0));
-    //
-    //
-    // // **2️⃣ 分批处理未缓存的文件**
-    // const batchSize = 50;
-    // for (int i = 0; i < uncasedIds.length; i += batchSize) {
-    //   if (selectedPhotosIds.isEmpty) {
-    //     selectedFilesSize.value = 0;
-    //     return;
-    //   }
-    //
-    //   final batch = uncasedIds.skip(i).take(batchSize);
-    //   final sizes = await Future.wait(batch.map(FileSizeCalculatorUtil.getFileSize));
-    //
-    //   totalSize += sizes.fold(0, (sum, size) => sum + size);
-    //
-    //   // **再检查一次是否被清空,避免无意义计算**
-    //   if (selectedPhotosIds.isEmpty) {
-    //     selectedFilesSize.value = 0;
-    //     return;
-    //   }
-    //
-    //   // **减少 UI 更新频率**
-    //   if (i % (batchSize * 2) == 0 || i + batchSize >= uncasedIds.length) {
-    //     selectedFilesSize.value = totalSize;
-    //   }
-    //
-    //   await Future.delayed(Duration.zero);
-    // }
-    //
-    // selectedFilesSize.value = totalSize; // 确保最终更新总大小
-    // PhotoManager.clearFileCache();
+
   }
 
   // 切换图片选中状态

+ 2 - 2
lib/module/contact/all/all_controller.dart

@@ -76,7 +76,7 @@ class AllController extends BaseController {
     isAllSelected.value = false;
   }
 
-  void deleteBtnClick() {
+  void deleteBtnClick() async{
     if (!userRepository.isVip()) {
       StorePage.start();
       return;
@@ -91,7 +91,7 @@ class AllController extends BaseController {
     ContactState.contactList.where((contact) => selectedContacts.contains(contact.id)).toList();
 
     for (var contact in contactToDelete) {
-      contact.delete();
+     await contact.delete();
     }
 
     ToastUtil.show("Successful");

+ 2 - 2
lib/module/contact/duplicate/controller.dart

@@ -273,7 +273,7 @@ class ContactDuplicateController extends BaseController {
       ToastUtil.show("Merge Successful");
     }
 
-    void deleteBtnClick() {
+    void deleteBtnClick() async{
       // 获取要删除的资产
       final contactToDelete = ContactState.contactList
           .where((contact) => selectedContacts.contains(contact.id))
@@ -281,7 +281,7 @@ class ContactDuplicateController extends BaseController {
 
       LoadingDialog.show(displayTime: 100);
       for (var contact in contactToDelete) {
-        contact.delete();
+       await contact.delete();
       }
 
       ToastUtil.show("Successful");

+ 0 - 44
lib/module/people_photo/photo_group.dart

@@ -60,50 +60,6 @@ class PhotoGroup {
     });
   }
 
-  // Future<void> _calculateTotalSize() async {
-  //   if (images.isEmpty) {
-  //     this.totalSize.value = 0;
-  //     return;
-  //   }
-  //   double totalSize = 0;
-  //   final uncasedIds = images
-  //       .map((e) => e.id)
-  //       .where((id) => !FileSizeCalculatorUtil.fileSizeCache.containsKey(id))
-  //       .toSet();
-  //
-  //   // **1️⃣ 先处理缓存中的文件**
-  //   totalSize = images.fold(
-  //       0,
-  //       (prev, image) =>
-  //           prev + (FileSizeCalculatorUtil.fileSizeCache[image.id] ?? 0));
-  //
-  //   this.totalSize.value = totalSize;
-  //   // **2️⃣ 分批处理未缓存的文件**
-  //   const batchSize = 20;
-  //   for (int i = 0; i < uncasedIds.length; i += batchSize) {
-  //     if (images.isEmpty) {
-  //       this.totalSize.value = 0;
-  //       return;
-  //     }
-  //
-  //     final batch = uncasedIds.skip(i).take(batchSize);
-  //     final sizes =
-  //         await Future.wait(batch.map(FileSizeCalculatorUtil.getFileSize));
-  //
-  //     totalSize += sizes.fold(0, (sum, size) => sum + size);
-  //
-  //     // **再检查一次是否被清空,避免无意义计算**
-  //     if (images.isEmpty) {
-  //       this.totalSize.value = 0;
-  //       return;
-  //     }
-  //
-  //     await Future.delayed(Duration.zero);
-  //   }
-  //
-  //   print("PhotoGroup $month _calculateTotalSize totalSize: $totalSize");
-  //   this.totalSize.value = totalSize; // 确保最终更新总大小
-  // }
 
   // 切换选择所有图片的状态
   void toggleSelectAll(bool value) {