From d4cf67bbc723e5f9823bd068a90d9e9bea0e35d2 Mon Sep 17 00:00:00 2001 From: guozhigq Date: Sat, 5 Aug 2023 12:18:38 +0800 Subject: [PATCH] =?UTF-8?q?mod:=20=E7=95=AA=E5=89=A7=E7=8A=B6=E6=80=81?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=EF=BC=8C=E5=88=87=E6=8D=A2=E9=80=89=E9=9B=86?= =?UTF-8?q?=E6=97=B6=E8=AF=84=E8=AE=BA=E9=97=AE=E9=A2=98=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bangumi/introduction/controller.dart | 19 ++++++----- lib/pages/bangumi/introduction/view.dart | 34 +++++++++++-------- 2 files changed, 30 insertions(+), 23 deletions(-) diff --git a/lib/pages/bangumi/introduction/controller.dart b/lib/pages/bangumi/introduction/controller.dart index c4bb1bb8..b2114fc8 100644 --- a/lib/pages/bangumi/introduction/controller.dart +++ b/lib/pages/bangumi/introduction/controller.dart @@ -96,13 +96,13 @@ class BangumiIntroController extends GetxController { } if (userLogin) { // 获取点赞状态 - // queryHasLikeVideo(); + queryHasLikeVideo(); // 获取投币状态 - // queryHasCoinVideo(); + queryHasCoinVideo(); // 获取收藏状态 - // queryHasFavVideo(); + queryHasFavVideo(); // - // queryFollowStatus(); + queryFollowStatus(); } return result; } @@ -340,9 +340,12 @@ class BangumiIntroController extends GetxController { videoDetailCtr.cid = cid; videoDetailCtr.queryVideoUrl(); // 重新请求评论 - VideoReplyController videoReplyCtr = - Get.find(tag: Get.arguments['heroTag']); - videoReplyCtr.aid = aid; - videoReplyCtr.queryReplyList(type: 'init'); + try { + /// 未渲染回复组件时可能异常 + VideoReplyController videoReplyCtr = + Get.find(tag: Get.arguments['heroTag']); + videoReplyCtr.aid = aid; + videoReplyCtr.queryReplyList(type: 'init'); + } catch (_) {} } } diff --git a/lib/pages/bangumi/introduction/view.dart b/lib/pages/bangumi/introduction/view.dart index 41d7dc51..b71ec77c 100644 --- a/lib/pages/bangumi/introduction/view.dart +++ b/lib/pages/bangumi/introduction/view.dart @@ -13,6 +13,7 @@ import 'package:pilipala/pages/bangumi/widgets/bangumi_panel.dart'; import 'package:pilipala/pages/video/detail/index.dart'; import 'package:pilipala/pages/video/detail/introduction/widgets/action_item.dart'; import 'package:pilipala/pages/video/detail/introduction/widgets/action_row_item.dart'; +import 'package:pilipala/pages/video/detail/introduction/widgets/fav_panel.dart'; import 'package:pilipala/utils/feed_back.dart'; import 'package:pilipala/utils/storage.dart'; @@ -110,14 +111,14 @@ class _BangumiInfoState extends State { SmartDialog.showToast('账号未登录'); return; } - // showModalBottomSheet( - // context: context, - // useRootNavigator: true, - // isScrollControlled: true, - // builder: (context) { - // return FavPanel(ctr: videoIntroController); - // }, - // ); + showModalBottomSheet( + context: context, + useRootNavigator: true, + isScrollControlled: true, + builder: (context) { + return FavPanel(ctr: bangumiIntroController); + }, + ); } // 视频介绍 @@ -356,12 +357,6 @@ class _BangumiInfoState extends State { ? widget.bangumiDetail!.stat!['likes']!.toString() : '-'), ), - ActionItem( - icon: const Icon(FontAwesomeIcons.clock), - onTap: () => () {}, - selectStatus: false, - loadingStatus: widget.loadingStatus, - text: '稍后再看'), Obx( () => ActionItem( icon: const Icon(FontAwesomeIcons.b), @@ -377,7 +372,6 @@ class _BangumiInfoState extends State { () => ActionItem( icon: const Icon(FontAwesomeIcons.star), selectIcon: const Icon(FontAwesomeIcons.solidStar), - // onTap: () => videoIntroController.actionFavVideo(), onTap: () => showFavBottomSheet(), selectStatus: bangumiIntroController.hasFav.value, loadingStatus: widget.loadingStatus, @@ -385,6 +379,16 @@ class _BangumiInfoState extends State { ? widget.bangumiDetail!.stat!['favorite']!.toString() : '-'), ), + ActionItem( + icon: const Icon(FontAwesomeIcons.comment), + selectIcon: const Icon(FontAwesomeIcons.reply), + onTap: () => videoDetailCtr!.tabCtr!.animateTo(1), + selectStatus: false, + loadingStatus: widget.loadingStatus, + text: !widget.loadingStatus + ? widget.bangumiDetail!.stat!['reply']!.toString() + : '-', + ), ActionItem( icon: const Icon(FontAwesomeIcons.shareFromSquare), onTap: () => bangumiIntroController.actionShareVideo(),