From 6461f72b5e68929a8b543b2be3b63c82de59318d Mon Sep 17 00:00:00 2001 From: guozhigq Date: Thu, 24 Aug 2023 15:24:56 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20#28=20=E5=90=88=E9=9B=86=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E6=B8=B2=E6=9F=93=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../detail/introduction/widgets/season.dart | 22 +++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/lib/pages/video/detail/introduction/widgets/season.dart b/lib/pages/video/detail/introduction/widgets/season.dart index 876dac74..3f3a1475 100644 --- a/lib/pages/video/detail/introduction/widgets/season.dart +++ b/lib/pages/video/detail/introduction/widgets/season.dart @@ -28,7 +28,25 @@ class _SeasonPanelState extends State { @override void initState() { super.initState(); - episodes = widget.ugcSeason.sections!.first.episodes!; + + /// 根据 cid 找到对应集,找到对应 episodes + /// 有多个episodes时,只显示其中一个 + /// TODO 同时显示多个合集 + List sections = widget.ugcSeason.sections!; + for (int i = 0; i < sections.length; i++) { + List episodesList = sections[i].episodes!; + for (int j = 0; j < episodesList.length; j++) { + if (episodesList[j].cid == widget.cid) { + episodes = episodesList; + continue; + } + } + } + + /// 取对应 season_id 的 episodes + // episodes = widget.ugcSeason.sections! + // .firstWhere((e) => e.seasonId == widget.ugcSeason.id) + // .episodes!; currentIndex = episodes.indexWhere((e) => e.cid == widget.cid); } @@ -136,7 +154,7 @@ class _SeasonPanelState extends State { ), const SizedBox(width: 10), Text( - '${currentIndex + 1}/${widget.ugcSeason.epCount}', + '${currentIndex + 1}/${episodes.length}', style: Theme.of(context).textTheme.labelMedium, ), const SizedBox(width: 6),