Kaynağa Gözat

[fit]删除后首页数据跟着变化

云天逵 9 ay önce
ebeveyn
işleme
fc15f3a174

+ 27 - 1
lib/base/base_photo_controller.dart

@@ -170,7 +170,8 @@ abstract class BasePhotoController extends BaseController {
     }
     EventHandler.report(EventId.event_03008,
         params: {EventId.type: getPhotosType().name});
-    print('BasePhotoController getPhotosType().toString() ${getPhotosType().toString()}');
+    print(
+        'BasePhotoController getPhotosType().toString() ${getPhotosType().toString()}');
     if (userRepository.isVip()) {
       if (selectedPhotosIds.isNotEmpty) {
         photoDeletingDialog();
@@ -184,6 +185,31 @@ abstract class BasePhotoController extends BaseController {
         );
 
         if (result.length == selectedPhotosIds.length) {
+          int deleteSize = (selectedFilesSize.value*1024).toInt();
+          switch (getPhotosType()) {
+            case PhotosType.peoplePhotos:
+              ImagePickerUtil.peopleSize.value =
+                  (ImagePickerUtil.peopleSize.value - deleteSize);
+              break;
+            case PhotosType.screenshots:
+              ImagePickerUtil.screenshotsSize.value =
+                  (ImagePickerUtil.screenshotsSize.value - deleteSize);
+              break;
+            case PhotosType.similarPhotos:
+
+              ImagePickerUtil.similarPhotosSize.value =
+                  (ImagePickerUtil.similarPhotosSize.value - deleteSize);
+              break;
+            case PhotosType.locationPhotos:
+              ImagePickerUtil.locationsSize.value =
+                  (ImagePickerUtil.locationsSize.value - deleteSize);
+              break;
+            case PhotosType.blurryPhotos:
+              ImagePickerUtil.blurrySize.value =
+                  (ImagePickerUtil.blurrySize.value - deleteSize);
+
+              break;
+          }
           for (var group in photoGroups) {
             group.images.removeWhere(
                 (element) => selectedPhotosIds.contains(element.id));

+ 13 - 0
lib/module/similar_photo/similar_photo_controller.dart

@@ -19,6 +19,7 @@ import 'package:get/get.dart';
 import 'package:wechat_assets_picker/wechat_assets_picker.dart';
 
 import '../../data/consts/event_report_id.dart';
+import '../../utils/file_size_calculator_util.dart';
 import '../photo_preview/phtoto_selected_preview_view.dart';
 
 class SimilarPhotoController extends BasePhotoController {
@@ -70,6 +71,15 @@ class SimilarPhotoController extends BasePhotoController {
 
         // 检查删除成功的图片数量
         if (result.length == selectedImages.length) {
+          int singleSelectSize = 0;
+          FileSizeCalculatorUtil.calculateTotalSize(
+              assetIds: result.toSet(),
+              updateValue: (double totalSize) {
+                singleSelectSize = (totalSize * 1024).toInt();
+              });
+          ImagePickerUtil.similarPhotosSize.value =
+              (ImagePickerUtil.similarPhotosSize.value -
+                  singleSelectSize );
           // 先删除该组的图片,再更新selectedImages和selectedPhotosIds
           List<AssetEntity> imagesToRemove = [];
           List<int> indexesToRemove = [];
@@ -120,6 +130,7 @@ class SimilarPhotoController extends BasePhotoController {
       StorePage.start();
     }
   }
+
   void clickJumpSelect() {
     if (selectedPhotosIds.isEmpty) {
       ToastUtil.show('Please select the picture');
@@ -129,12 +140,14 @@ class SimilarPhotoController extends BasePhotoController {
     EventHandler.report(EventId.event_04005);
     PhotoSelectedPreviewPage.start(PhotosType.similarPhotos, selectedPhotosIds);
   }
+
   @override
   void onReady() {
     // TODO: implement onReady
     super.onReady();
     EventHandler.report(EventId.event_03006);
   }
+
   @override
   PhotosType getPhotosType() => PhotosType.similarPhotos;
 }