opt models

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
bggRGjQaUbCoE
2025-06-04 15:20:35 +08:00
parent f50b1d2beb
commit b960359a39
858 changed files with 11000 additions and 12588 deletions

View File

@@ -1,7 +1,8 @@
import 'package:PiliPlus/http/bangumi.dart';
import 'package:PiliPlus/http/fav.dart';
import 'package:PiliPlus/http/loading_state.dart';
import 'package:PiliPlus/http/video.dart';
import 'package:PiliPlus/models/pgc/list.dart';
import 'package:PiliPlus/models_new/fav/fav_pgc/data.dart';
import 'package:PiliPlus/models_new/fav/fav_pgc/list.dart';
import 'package:PiliPlus/pages/common/multi_select_controller.dart';
import 'package:PiliPlus/utils/storage.dart';
import 'package:flutter/foundation.dart' show kDebugMode;
@@ -10,7 +11,7 @@ import 'package:flutter_smart_dialog/flutter_smart_dialog.dart';
import 'package:get/get.dart';
class FavPgcController
extends MultiSelectController<BangumiListDataModel, BangumiListItemModel> {
extends MultiSelectController<FavPgcData, FavPgcItemModel> {
final int type;
final int followStatus;
@@ -34,13 +35,12 @@ class FavPgcController
}
@override
List<BangumiListItemModel>? getDataList(BangumiListDataModel response) {
List<FavPgcItemModel>? getDataList(FavPgcData response) {
return response.list;
}
@override
Future<LoadingState<BangumiListDataModel>> customGetData() =>
BangumiHttp.bangumiFollowList(
Future<LoadingState<FavPgcData>> customGetData() => FavHttp.favPgc(
mid: Accounts.main.mid,
type: type,
followStatus: followStatus,
@@ -55,8 +55,8 @@ class FavPgcController
}
// 取消追番
Future<void> bangumiDel(index, seasonId) async {
var result = await VideoHttp.bangumiDel(seasonId: seasonId);
Future<void> pgcDel(int index, seasonId) async {
var result = await VideoHttp.pgcDel(seasonId: seasonId);
if (result['status']) {
loadingState
..value.data!.removeAt(index)
@@ -66,15 +66,15 @@ class FavPgcController
}
Future<void> onUpdateList(followStatus) async {
List<BangumiListItemModel> dataList = loadingState.value.data!;
Set<BangumiListItemModel> updateList =
List<FavPgcItemModel> dataList = loadingState.value.data!;
Set<FavPgcItemModel> updateList =
dataList.where((item) => item.checked == true).toSet();
final res = await VideoHttp.bangumiUpdate(
final res = await VideoHttp.pgcUpdate(
seasonId: updateList.map((item) => item.seasonId).toList(),
status: followStatus,
);
if (res['status']) {
List<BangumiListItemModel> remainList =
List<FavPgcItemModel> remainList =
dataList.toSet().difference(updateList).toList();
loadingState.value = Success(remainList);
enableMultiSelect.value = false;
@@ -96,12 +96,12 @@ class FavPgcController
}
Future<void> onUpdate(index, followStatus, seasonId) async {
var result = await VideoHttp.bangumiUpdate(
var result = await VideoHttp.pgcUpdate(
seasonId: [seasonId],
status: followStatus,
);
if (result['status']) {
List<BangumiListItemModel> list = loadingState.value.data!;
List<FavPgcItemModel> list = loadingState.value.data!;
final item = list.removeAt(index);
loadingState.refresh();
try {
@@ -113,7 +113,7 @@ class FavPgcController
ctr.allSelected.value = false;
}
} catch (e) {
if (kDebugMode) debugPrint('fav pgc bangumiUpdate: $e');
if (kDebugMode) debugPrint('fav pgc pgcUpdate: $e');
}
}
SmartDialog.showToast(result['msg']);