|
|
@@ -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) {
|