diff --git a/lib/pages/article/view.dart b/lib/pages/article/view.dart index b987b06d..5e4db98d 100644 --- a/lib/pages/article/view.dart +++ b/lib/pages/article/view.dart @@ -630,18 +630,21 @@ class _ArticlePageState extends State return; } } - PageUtils.pmShare( - content: { - "id": _articleCtr.commentId, - "title": "- 哔哩哔哩专栏", - "headline": _articleCtr.summary.title!, // throw - "source": 6, - "thumb": _articleCtr.summary.cover!, - "author": _articleCtr.summary.author!.name, - "author_id": - _articleCtr.summary.author!.mid.toString(), - }, - ); + if (mounted) { + PageUtils.pmShare( + this.context, + content: { + "id": _articleCtr.commentId, + "title": "- 哔哩哔哩专栏", + "headline": _articleCtr.summary.title!, // throw + "source": 6, + "thumb": _articleCtr.summary.cover!, + "author": _articleCtr.summary.author!.name, + "author_id": + _articleCtr.summary.author!.mid.toString(), + }, + ); + } } catch (e) { SmartDialog.showToast(e.toString()); } diff --git a/lib/pages/bangumi/introduction/controller.dart b/lib/pages/bangumi/introduction/controller.dart index bd40a530..7c49baa4 100644 --- a/lib/pages/bangumi/introduction/controller.dart +++ b/lib/pages/bangumi/introduction/controller.dart @@ -256,7 +256,7 @@ class BangumiIntroController Future actionShareVideo(context) async { showDialog( context: context, - builder: (context) { + builder: (_) { String videoUrl = '${HttpString.baseUrl}/video/$bvid'; return AlertDialog( clipBehavior: Clip.hardEdge, @@ -351,6 +351,7 @@ class BangumiIntroController .firstWhere((item) => item.epId == epId); final title = '${bangumiItem!.title!} ${item.showTitle}'; PageUtils.pmShare( + context, content: { "id": epId!.toString(), "title": title, diff --git a/lib/pages/dynamics/widgets/author_panel.dart b/lib/pages/dynamics/widgets/author_panel.dart index 580b814c..1eb1f359 100644 --- a/lib/pages/dynamics/widgets/author_panel.dart +++ b/lib/pages/dynamics/widgets/author_panel.dart @@ -240,10 +240,10 @@ class AuthorPanel extends StatelessWidget { constraints: BoxConstraints( maxWidth: min(640, min(Get.width, Get.height)), ), - builder: (context) { + builder: (context1) { return Padding( padding: - EdgeInsets.only(bottom: MediaQuery.of(context).padding.bottom), + EdgeInsets.only(bottom: MediaQuery.of(context1).padding.bottom), child: Column( mainAxisSize: MainAxisSize.min, children: [ @@ -338,6 +338,7 @@ class AuthorPanel extends StatelessWidget { : item.modules.moduleDynamic!.major!.opus!.pics!.first .url!; PageUtils.pmShare( + context, content: { "id": id, "title": title, diff --git a/lib/pages/live_room/view.dart b/lib/pages/live_room/view.dart index 86ec7726..9fb91035 100644 --- a/lib/pages/live_room/view.dart +++ b/lib/pages/live_room/view.dart @@ -454,6 +454,7 @@ class _LiveRoomPageState extends State onTap: () { try { PageUtils.pmShare( + this.context, content: { "cover": _liveRoomController .roomInfoH5.value.roomInfo!.cover!, diff --git a/lib/pages/video/detail/introduction/controller.dart b/lib/pages/video/detail/introduction/controller.dart index 97edb5f9..fa9041b7 100644 --- a/lib/pages/video/detail/introduction/controller.dart +++ b/lib/pages/video/detail/introduction/controller.dart @@ -435,7 +435,7 @@ class VideoIntroController extends GetxController { Future actionShareVideo(context) async { showDialog( context: context, - builder: (context) { + builder: (_) { String videoUrl = '${HttpString.baseUrl}/video/$bvid'; return AlertDialog( clipBehavior: Clip.hardEdge, @@ -510,6 +510,7 @@ class VideoIntroController extends GetxController { Get.back(); try { PageUtils.pmShare( + context, content: { "id": videoDetail.value.aid!.toString(), "title": videoDetail.value.title!, diff --git a/lib/utils/page_utils.dart b/lib/utils/page_utils.dart index f44dac16..ed3293db 100644 --- a/lib/utils/page_utils.dart +++ b/lib/utils/page_utils.dart @@ -28,7 +28,7 @@ import 'package:get/get.dart'; import 'package:url_launcher/url_launcher.dart'; class PageUtils { - static void pmShare({required Map content}) async { + static void pmShare(BuildContext context, {required Map content}) async { // debugPrint(content.toString()); List userList = []; @@ -54,16 +54,18 @@ class PageUtils { } } - showModalBottomSheet( - context: Get.context!, - builder: (context) => SharePanel( - content: content, - userList: userList, - ), - useSafeArea: true, - enableDrag: false, - isScrollControlled: true, - ); + if (context.mounted) { + showModalBottomSheet( + context: context, + builder: (context) => SharePanel( + content: content, + userList: userList, + ), + useSafeArea: true, + enableDrag: false, + isScrollControlled: true, + ); + } } static void scheduleExit(BuildContext context, isFullScreen,