opt multi del

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
bggRGjQaUbCoE
2025-08-05 17:18:40 +08:00
parent 3caa684b2e
commit 104d295389
58 changed files with 379 additions and 404 deletions

View File

@@ -3,8 +3,8 @@ import 'package:PiliPlus/http/loading_state.dart';
import 'package:PiliPlus/http/user.dart';
import 'package:PiliPlus/models_new/history/data.dart';
import 'package:PiliPlus/models_new/history/list.dart';
import 'package:PiliPlus/pages/common/common_search_controller.dart';
import 'package:PiliPlus/pages/common/multi_select_controller.dart';
import 'package:PiliPlus/pages/common/multi_select/base.dart';
import 'package:PiliPlus/pages/common/search/common_search_controller.dart';
import 'package:flutter_smart_dialog/flutter_smart_dialog.dart';
import 'package:get/get.dart';
@@ -23,16 +23,7 @@ class HistorySearchController
}
Future<void> onDelHistory(int index, kid, String business) async {
final String resKid;
if (business == 'live') {
resKid = 'live_$kid';
} else if (business.contains('article')) {
resKid = 'article_$kid';
} else {
resKid = 'archive_$kid';
}
var res = await UserHttp.delHistory([resKid]);
var res = await UserHttp.delHistory('${business}_$kid');
if (res['status']) {
loadingState
..value.data!.removeAt(index)
@@ -42,20 +33,21 @@ class HistorySearchController
}
@override
void onConfirm() {
void onRemove() {
showConfirmDialog(
context: Get.context!,
content: '确认删除所选历史记录吗?',
title: '提示',
onConfirm: () async {
SmartDialog.showLoading(msg: '请求中');
final result = allChecked.toSet();
final kidList = result.map(
(item) => '${item.history.business!}_${item.kid!}',
final removeList = allChecked;
var response = await UserHttp.delHistory(
removeList
.map((item) => '${item.history.business!}_${item.kid!}')
.join(','),
);
var response = await UserHttp.delHistory(kidList);
if (response['status']) {
afterDelete(result);
afterDelete(removeList);
}
SmartDialog.dismiss();
SmartDialog.showToast(response['msg']);

View File

@@ -1,6 +1,6 @@
import 'package:PiliPlus/models_new/history/data.dart';
import 'package:PiliPlus/models_new/history/list.dart';
import 'package:PiliPlus/pages/common/common_search_page.dart';
import 'package:PiliPlus/pages/common/search/common_search_page.dart';
import 'package:PiliPlus/pages/history/widgets/item.dart';
import 'package:PiliPlus/pages/history_search/controller.dart';
import 'package:PiliPlus/utils/grid.dart';