mirror of
https://github.com/bggRGjQaUbCoE/PiliPlus.git
synced 2026-05-15 13:43:56 +08:00
prefetch fav video intro
Signed-off-by: dom <githubaccount56556@proton.me>
This commit is contained in:
@@ -1,13 +1,17 @@
|
||||
import 'package:PiliPlus/http/fav.dart';
|
||||
import 'package:PiliPlus/http/loading_state.dart';
|
||||
import 'package:PiliPlus/http/video.dart';
|
||||
import 'package:PiliPlus/models/common/fav_order_type.dart';
|
||||
import 'package:PiliPlus/models/common/video/source_type.dart';
|
||||
import 'package:PiliPlus/models_new/fav/fav_detail/data.dart';
|
||||
import 'package:PiliPlus/models_new/fav/fav_detail/media.dart';
|
||||
import 'package:PiliPlus/models_new/video/video_detail/data.dart';
|
||||
import 'package:PiliPlus/models_new/video/video_detail/page.dart' show Part;
|
||||
import 'package:PiliPlus/pages/common/multi_select/base.dart';
|
||||
import 'package:PiliPlus/pages/common/search/common_search_controller.dart';
|
||||
import 'package:PiliPlus/pages/fav_detail/controller.dart';
|
||||
import 'package:PiliPlus/utils/page_utils.dart';
|
||||
import 'package:collection/collection.dart';
|
||||
import 'package:get/get.dart';
|
||||
|
||||
class FavSearchController
|
||||
@@ -57,20 +61,31 @@ class FavSearchController
|
||||
}
|
||||
|
||||
@override
|
||||
// TODO: dimension
|
||||
void onViewFav(FavDetailItemModel item, int? index) => PageUtils.toVideoPage(
|
||||
bvid: item.bvid,
|
||||
cid: item.ugc!.firstCid!,
|
||||
cover: item.cover,
|
||||
title: item.title,
|
||||
extraArguments: {
|
||||
'sourceType': SourceType.fav,
|
||||
'mediaId': mediaId,
|
||||
'oid': item.id,
|
||||
'favTitle': title,
|
||||
'count': count,
|
||||
'desc': true,
|
||||
'isContinuePlaying': true,
|
||||
},
|
||||
);
|
||||
Future<void> onViewFav(FavDetailItemModel item, int? index) async {
|
||||
final cid = item.ugc!.firstCid!;
|
||||
Part? part;
|
||||
VideoDetailData? videoIntro;
|
||||
final res = await VideoHttp.videoIntro(bvid: item.bvid!);
|
||||
if (res case Success(:final response)) {
|
||||
videoIntro = response;
|
||||
part = response.pages?.firstWhereOrNull((e) => e.cid == cid);
|
||||
}
|
||||
PageUtils.toVideoPage(
|
||||
bvid: item.bvid,
|
||||
cid: item.ugc!.firstCid!,
|
||||
cover: item.cover,
|
||||
title: item.title,
|
||||
dimension: part?.dimension,
|
||||
extraArguments: {
|
||||
'videoIntro': videoIntro,
|
||||
'sourceType': SourceType.fav,
|
||||
'mediaId': mediaId,
|
||||
'oid': item.id,
|
||||
'favTitle': title,
|
||||
'count': count,
|
||||
'desc': true,
|
||||
'isContinuePlaying': true,
|
||||
},
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user