fix: del fav item

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
bggRGjQaUbCoE
2024-11-26 12:18:02 +08:00
parent bae22b6de7
commit 16cdbab7ab
6 changed files with 27 additions and 13 deletions

View File

@@ -563,11 +563,15 @@ class VideoHttp {
}
// (取消)收藏
static Future favVideo(
{required int aid, String? addIds, String? delIds}) async {
static Future favVideo({
required int aid,
String? addIds,
String? delIds,
int? type,
}) async {
var res = await Request().post(Api.favVideo, queryParameters: {
'rid': aid,
'type': 2,
'type': type ?? 2,
'add_media_ids': addIds ?? '',
'del_media_ids': delIds ?? '',
'csrf': await Request.getCsrf(),

View File

@@ -61,11 +61,12 @@ class FavDetailController extends CommonController {
return true;
}
onCancelFav(int id) async {
onCancelFav(int id, int type) async {
var result = await VideoHttp.favVideo(
aid: id,
addIds: '',
delIds: mediaId.toString(),
type: type,
);
if (result['status']) {
List dataList = (loadingState.value as Success).response;

View File

@@ -302,8 +302,10 @@ class _FavDetailPageState extends State<FavDetailPage> {
}
return FavVideoCardH(
videoItem: loadingState.response[index],
callFn: () => _favDetailController
.onCancelFav(loadingState.response[index].id),
callFn: () => _favDetailController.onCancelFav(
loadingState.response[index].id,
loadingState.response[index].type,
),
);
},
childCount: loadingState.response.length + 1,

View File

@@ -84,9 +84,13 @@ class FavSearchController extends CommonController {
return true;
}
onCancelFav(int id) async {
onCancelFav(int id, int type) async {
var result = await VideoHttp.favVideo(
aid: id, addIds: '', delIds: mediaId.toString());
aid: id,
addIds: '',
delIds: mediaId.toString(),
type: type,
);
if (result['status']) {
List dataList = (loadingState.value as Success).response;
dataList = dataList.where((item) => item.id != id).toList();

View File

@@ -104,8 +104,10 @@ class _FavSearchPageState extends State<FavSearchPage> {
videoItem: loadingState.response[index],
searchType: _favSearchCtr.type,
callFn: () => _favSearchCtr.type != 1
? _favSearchCtr
.onCancelFav(loadingState.response[index].id!)
? _favSearchCtr.onCancelFav(
loadingState.response[index].id!,
loadingState.response[index].type,
)
: {},
);
}

View File

@@ -394,7 +394,8 @@ class VideoIntroController extends GetxController
var result = await VideoHttp.favVideo(
aid: IdUtils.bv2av(bvid),
addIds: addMediaIdsNew.join(','),
delIds: delMediaIdsNew.join(','));
delIds: delMediaIdsNew.join(','),
);
SmartDialog.dismiss();
if (result['status']) {
addMediaIdsNew = [];