diff --git a/lib/pages/common/multi_select/base.dart b/lib/pages/common/multi_select/base.dart index 09dd633a..f012f395 100644 --- a/lib/pages/common/multi_select/base.dart +++ b/lib/pages/common/multi_select/base.dart @@ -72,12 +72,12 @@ mixin CommonMultiSelectMixin mixin DeleteItemMixin on CommonListController, CommonMultiSelectMixin { - Future afterDelete(Iterable removeList) async { + Future afterDelete(Set removeList) async { final list = loadingState.value.data!; if (removeList.length == list.length) { list.clear(); } else if (removeList.length == 1) { - list.remove(removeList.single); + list.remove(removeList.first); } else { list.removeWhere(removeList.contains); } diff --git a/lib/pages/fav/note/controller.dart b/lib/pages/fav/note/controller.dart index 1d08fa04..bd4757d5 100644 --- a/lib/pages/fav/note/controller.dart +++ b/lib/pages/fav/note/controller.dart @@ -36,7 +36,7 @@ class FavNoteController @override Future onRemove() async { - final removeList = allChecked; + final removeList = allChecked.toSet(); final res = await FavHttp.delNote( isPublish: isPublish, noteIds: removeList diff --git a/lib/pages/fav/pgc/controller.dart b/lib/pages/fav/pgc/controller.dart index 8cacfffa..070c124a 100644 --- a/lib/pages/fav/pgc/controller.dart +++ b/lib/pages/fav/pgc/controller.dart @@ -71,7 +71,7 @@ class FavPgcController } Future onUpdateList(int followStatus) async { - final removeList = allChecked; + final removeList = allChecked.toSet(); final res = await VideoHttp.pgcUpdate( seasonId: removeList.map((item) => item.seasonId).join(','), status: followStatus, diff --git a/lib/pages/fav_detail/controller.dart b/lib/pages/fav_detail/controller.dart index f7cabf17..c8e3ed4b 100644 --- a/lib/pages/fav_detail/controller.dart +++ b/lib/pages/fav_detail/controller.dart @@ -51,7 +51,7 @@ mixin BaseFavController content: '确认删除所选收藏吗?', title: '提示', onConfirm: () async { - final removeList = allChecked; + final removeList = allChecked.toSet(); var result = await FavHttp.favVideo( resources: removeList .map((item) => '${item.id}:${item.type}') diff --git a/lib/pages/history/controller.dart b/lib/pages/history/controller.dart index 8ae9f105..da980041 100644 --- a/lib/pages/history/controller.dart +++ b/lib/pages/history/controller.dart @@ -91,9 +91,9 @@ class HistoryController // 删除已看历史记录 void onDelViewedHistory() { if (loadingState.value.isSuccess) { - final viewedList = loadingState.value.data!.where( - (e) => e.progress == -1, - ); + final viewedList = loadingState.value.data! + .where((e) => e.progress == -1) + .toSet(); if (viewedList.isNotEmpty) { _onDelete(viewedList); } else { @@ -102,7 +102,7 @@ class HistoryController } } - Future _onDelete(Iterable removeList) async { + Future _onDelete(Set removeList) async { SmartDialog.showLoading(msg: '请求中'); final response = await UserHttp.delHistory( removeList @@ -123,7 +123,7 @@ class HistoryController context: Get.context!, content: '确认删除所选历史记录吗?', title: '提示', - onConfirm: () => _onDelete(allChecked), + onConfirm: () => _onDelete(allChecked.toSet()), ); } diff --git a/lib/pages/history_search/controller.dart b/lib/pages/history_search/controller.dart index 00ca87ca..e95c2e0c 100644 --- a/lib/pages/history_search/controller.dart +++ b/lib/pages/history_search/controller.dart @@ -40,7 +40,7 @@ class HistorySearchController title: '提示', onConfirm: () async { SmartDialog.showLoading(msg: '请求中'); - final removeList = allChecked; + final removeList = allChecked.toSet(); var response = await UserHttp.delHistory( removeList .map((item) => '${item.history.business!}_${item.kid!}') diff --git a/lib/pages/later/controller.dart b/lib/pages/later/controller.dart index 9a90d4e0..eafaefdb 100644 --- a/lib/pages/later/controller.dart +++ b/lib/pages/later/controller.dart @@ -31,7 +31,7 @@ mixin BaseLaterController content: '确认删除所选稍后再看吗?', title: '提示', onConfirm: () async { - final removeList = allChecked; + final removeList = allChecked.toSet(); SmartDialog.showLoading(msg: '请求中'); final res = await UserHttp.toViewDel( aids: removeList.map((item) => item.aid).join(','),