diff --git a/lib/pages/video/detail/introduction/controller.dart b/lib/pages/video/detail/introduction/controller.dart index 55b63445..aa5d41c4 100644 --- a/lib/pages/video/detail/introduction/controller.dart +++ b/lib/pages/video/detail/introduction/controller.dart @@ -414,6 +414,7 @@ class VideoIntroController extends GetxController { videoReplyCtr.queryReplyList(type: 'init'); } catch (_) {} this.bvid = bvid; + lastPlayCid.value = cid; await queryVideoIntro(); } } diff --git a/lib/pages/video/detail/introduction/view.dart b/lib/pages/video/detail/introduction/view.dart index 04f8cbc0..2528ca18 100644 --- a/lib/pages/video/detail/introduction/view.dart +++ b/lib/pages/video/detail/introduction/view.dart @@ -270,12 +270,16 @@ class _VideoInfoState extends State with TickerProviderStateMixin { // 合集 if (!loadingStatus && widget.videoDetail!.ugcSeason != null) ...[ - SeasonPanel( - ugcSeason: widget.videoDetail!.ugcSeason!, - cid: widget.videoDetail!.pages!.first.cid, - sheetHeight: sheetHeight, - changeFuc: (bvid, cid, aid) => videoIntroController - .changeSeasonOrbangu(bvid, cid, aid), + Obx( + () => SeasonPanel( + ugcSeason: widget.videoDetail!.ugcSeason!, + cid: videoIntroController.lastPlayCid.value != 0 + ? videoIntroController.lastPlayCid.value + : widget.videoDetail!.pages!.first.cid, + sheetHeight: sheetHeight, + changeFuc: (bvid, cid, aid) => videoIntroController + .changeSeasonOrbangu(bvid, cid, aid), + ), ) ], if (!loadingStatus && diff --git a/lib/pages/video/detail/introduction/widgets/season.dart b/lib/pages/video/detail/introduction/widgets/season.dart index dd478b83..876dac74 100644 --- a/lib/pages/video/detail/introduction/widgets/season.dart +++ b/lib/pages/video/detail/introduction/widgets/season.dart @@ -38,6 +38,7 @@ class _SeasonPanelState extends State { item.cid, item.aid, ); + currentIndex = i; Get.back(); }