feat: 稍后再看&收藏夹播放全部

This commit is contained in:
guozhigq
2024-09-21 15:14:38 +08:00
parent 5f35f6cf5c
commit cf66d3be4c
12 changed files with 880 additions and 18 deletions

View File

@ -6,17 +6,17 @@ import 'package:pilipala/http/video.dart';
import 'package:pilipala/models/user/fav_detail.dart';
import 'package:pilipala/models/user/fav_folder.dart';
import 'package:pilipala/pages/fav/index.dart';
import 'package:pilipala/utils/utils.dart';
class FavDetailController extends GetxController {
FavFolderItemData? item;
Rx<FavDetailData> favDetailData = FavDetailData().obs;
int? mediaId;
late String heroTag;
int currentPage = 1;
bool isLoadingMore = false;
RxMap favInfo = {}.obs;
RxList favList = [].obs;
RxList<FavDetailItemData> favList = <FavDetailItemData>[].obs;
RxString loadingText = '加载中...'.obs;
RxInt mediaCount = 0.obs;
late String isOwner;
@ -115,4 +115,22 @@ class FavDetailController extends GetxController {
},
);
}
Future toViewPlayAll() async {
final FavDetailItemData firstItem = favList.first;
final String heroTag = Utils.makeHeroTag(firstItem.bvid);
Get.toNamed(
'/video?bvid=${firstItem.bvid}&cid=${firstItem.cid}',
arguments: {
'videoItem': firstItem,
'heroTag': heroTag,
'sourceType': 'fav',
'mediaId': favInfo['id'],
'oid': firstItem.id,
'favTitle': favInfo['title'],
'favInfo': favInfo,
'count': favInfo['media_count'],
},
);
}
}

View File

@ -255,6 +255,15 @@ class _FavDetailPageState extends State<FavDetailPage> {
)
],
),
floatingActionButton: Obx(
() => _favDetailController.mediaCount > 0
? FloatingActionButton.extended(
onPressed: _favDetailController.toViewPlayAll,
label: const Text('播放全部'),
icon: const Icon(Icons.playlist_play),
)
: const SizedBox(),
),
);
}
}