diff --git a/lib/pages/dynamics/controller.dart b/lib/pages/dynamics/controller.dart index 9b497e15..9ff9f914 100644 --- a/lib/pages/dynamics/controller.dart +++ b/lib/pages/dynamics/controller.dart @@ -165,10 +165,7 @@ class DynamicsController extends GetxController 'roomid': liveRcmd.roomId, 'watched_show': liveRcmd.watchedShow, }); - Utils.toDupNamed('/liveRoom?roomid=${liveItem.roomId}', arguments: { - 'liveItem': liveItem, - 'heroTag': liveItem.roomId.toString() - }); + Utils.toDupNamed('/liveRoom?roomid=${liveItem.roomId}'); break; /// 合集查看 diff --git a/lib/pages/dynamics/widgets/up_panel.dart b/lib/pages/dynamics/widgets/up_panel.dart index 9157a09d..f1a37dd2 100644 --- a/lib/pages/dynamics/widgets/up_panel.dart +++ b/lib/pages/dynamics/widgets/up_panel.dart @@ -4,7 +4,6 @@ import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'package:PiliPlus/common/widgets/network_img_layer.dart'; import 'package:PiliPlus/models/dynamics/up.dart'; -import 'package:PiliPlus/models/live/item.dart'; import 'package:PiliPlus/utils/feed_back.dart'; import 'package:PiliPlus/utils/utils.dart'; @@ -142,16 +141,13 @@ class _UpPanelState extends State { // ); setState(() {}); } else if (data.type == 'live') { - LiveItemModel liveItem = LiveItemModel.fromJson({ - 'title': data.title, - 'uname': data.uname, - 'face': data.face, - 'roomid': data.roomId, - }); - Get.toNamed( - '/liveRoom?roomid=${data.roomId}', - arguments: {'liveItem': liveItem}, - ); + // LiveItemModel liveItem = LiveItemModel.fromJson({ + // 'title': data.title, + // 'uname': data.uname, + // 'face': data.face, + // 'roomid': data.roomId, + // }); + Get.toNamed('/liveRoom?roomid=${data.roomId}'); } }, onLongPress: () { diff --git a/lib/pages/history/widgets/item.dart b/lib/pages/history/widgets/item.dart index f60b5002..7e831511 100644 --- a/lib/pages/history/widgets/item.dart +++ b/lib/pages/history/widgets/item.dart @@ -12,7 +12,6 @@ import 'package:PiliPlus/http/search.dart'; import 'package:PiliPlus/http/user.dart'; import 'package:PiliPlus/http/video.dart'; import 'package:PiliPlus/models/common/business_type.dart'; -import 'package:PiliPlus/models/live/item.dart'; import 'package:PiliPlus/utils/feed_back.dart'; import 'package:PiliPlus/utils/id_utils.dart'; import 'package:PiliPlus/utils/utils.dart'; @@ -55,18 +54,15 @@ class HistoryItem extends StatelessWidget { "https://www.bilibili.com/read/cv${videoItem.history.oid}")); } else if (videoItem.history.business == 'live') { if (videoItem.liveStatus == 1) { - LiveItemModel liveItem = LiveItemModel.fromJson({ - 'face': videoItem.authorFace, - 'roomid': videoItem.history.oid, - 'pic': videoItem.cover, - 'title': videoItem.title, - 'uname': videoItem.authorName, - 'cover': videoItem.cover, - }); - Get.toNamed( - '/liveRoom?roomid=${videoItem.history.oid}', - arguments: {'liveItem': liveItem}, - ); + // LiveItemModel liveItem = LiveItemModel.fromJson({ + // 'face': videoItem.authorFace, + // 'roomid': videoItem.history.oid, + // 'pic': videoItem.cover, + // 'title': videoItem.title, + // 'uname': videoItem.authorName, + // 'cover': videoItem.cover, + // }); + Get.toNamed('/liveRoom?roomid=${videoItem.history.oid}'); } else { SmartDialog.showToast('直播未开播'); } diff --git a/lib/pages/live/view.dart b/lib/pages/live/view.dart index ad8aba7f..7bb583be 100644 --- a/lib/pages/live/view.dart +++ b/lib/pages/live/view.dart @@ -223,11 +223,6 @@ class _LivePageState extends State onTap: () { Get.toNamed( '/liveRoom?roomid=${loadingState.response[index].roomId}', - arguments: { - 'liveItem': loadingState.response[index], - 'heroTag': - loadingState.response[index].roomId.toString() - }, ); }, onLongPress: () { diff --git a/lib/pages/live/widgets/live_item.dart b/lib/pages/live/widgets/live_item.dart index 5e7d8416..182b5ae1 100644 --- a/lib/pages/live/widgets/live_item.dart +++ b/lib/pages/live/widgets/live_item.dart @@ -23,8 +23,7 @@ class LiveCardV extends StatelessWidget { margin: EdgeInsets.zero, child: InkWell( onTap: () { - Get.toNamed('/liveRoom?roomid=${liveItem.roomId}', - arguments: {'liveItem': liveItem, 'heroTag': heroTag}); + Get.toNamed('/liveRoom?roomid=${liveItem.roomId}'); }, onLongPress: () => imageSaveDialog( context: context, diff --git a/lib/pages/live/widgets/live_item_follow.dart b/lib/pages/live/widgets/live_item_follow.dart index 4b907535..8836aeac 100644 --- a/lib/pages/live/widgets/live_item_follow.dart +++ b/lib/pages/live/widgets/live_item_follow.dart @@ -23,8 +23,7 @@ class LiveCardVFollow extends StatelessWidget { margin: EdgeInsets.zero, child: InkWell( onTap: () { - Get.toNamed('/liveRoom?roomid=${liveItem.roomId}', - arguments: {'liveItem': liveItem, 'heroTag': heroTag}); + Get.toNamed('/liveRoom?roomid=${liveItem.roomId}'); }, onLongPress: () => imageSaveDialog( context: context, diff --git a/lib/pages/live_room/controller.dart b/lib/pages/live_room/controller.dart index f98194ef..18243930 100644 --- a/lib/pages/live_room/controller.dart +++ b/lib/pages/live_room/controller.dart @@ -16,17 +16,14 @@ import '../../models/live/room_info_h5.dart'; import '../../utils/video_utils.dart'; class LiveRoomController extends GetxController { - String cover = ''; late int roomId; dynamic liveItem; - late String heroTag; double volume = 0.0; // 静音状态 RxBool volumeOff = false.obs; PlPlayerController plPlayerController = PlPlayerController.getInstance(videoType: 'live'); Rx roomInfoH5 = RoomInfoH5Model().obs; - // late bool enableCDN; RxList messages = [].obs; RxBool disableAutoScroll = false.obs; @@ -38,19 +35,6 @@ class LiveRoomController extends GetxController { void onInit() { super.onInit(); roomId = int.parse(Get.parameters['roomid']!); - if (Get.arguments != null) { - liveItem = Get.arguments['liveItem']; - heroTag = Get.arguments['heroTag'] ?? ''; - if (liveItem != null) { - cover = (liveItem.pic != null && liveItem.pic != '') - ? liveItem.pic - : (liveItem.cover != null && liveItem.cover != '') - ? liveItem.cover - : null; - } - } - // CDN优化 - // enableCDN = setting.get(SettingBoxKey.enableCDN, defaultValue: true); } playerInit(source) async { diff --git a/lib/pages/live_room/view.dart b/lib/pages/live_room/view.dart index 88da9669..200fa30c 100644 --- a/lib/pages/live_room/view.dart +++ b/lib/pages/live_room/view.dart @@ -28,7 +28,7 @@ class LiveRoomPage extends StatefulWidget { class _LiveRoomPageState extends State with WidgetsBindingObserver { late final int _roomId; - final LiveRoomController _liveRoomController = Get.put(LiveRoomController()); + late final LiveRoomController _liveRoomController; late final PlPlayerController plPlayerController; late Future? _futureBuilder; late Future? _futureBuilderFuture; @@ -55,6 +55,10 @@ class _LiveRoomPageState extends State super.initState(); WidgetsBinding.instance.addObserver(this); _roomId = int.parse(Get.parameters['roomid'] ?? '-1'); + _liveRoomController = Get.put( + LiveRoomController(), + tag: Utils.makeHeroTag(_roomId), + ); PlPlayerController.setPlayCallBack(playCallBack); if (Platform.isAndroid) { floating = Floating(); diff --git a/lib/pages/member/new/widget/user_info_card.dart b/lib/pages/member/new/widget/user_info_card.dart index c3f89288..7bfdaad1 100644 --- a/lib/pages/member/new/widget/user_info_card.dart +++ b/lib/pages/member/new/widget/user_info_card.dart @@ -472,10 +472,7 @@ class UserInfoCard extends StatelessWidget { left: 20, child: GestureDetector( onTap: () { - Get.toNamed( - '/liveRoom?roomid=${live['roomid']}', - arguments: {'heroTag': '${live['roomid']}'}, - ); + Get.toNamed('/liveRoom?roomid=${live['roomid']}'); }, child: Container( width: 85, @@ -487,6 +484,9 @@ class UserInfoCard extends StatelessWidget { Icon( Icons.equalizer_rounded, size: MediaQuery.textScalerOf(context).scale(16), + color: Theme.of(context) + .colorScheme + .onSecondaryContainer, ), Text( '直播中', diff --git a/lib/pages/member/widgets/profile.dart b/lib/pages/member/widgets/profile.dart index 6b136f29..2987ea80 100644 --- a/lib/pages/member/widgets/profile.dart +++ b/lib/pages/member/widgets/profile.dart @@ -2,7 +2,6 @@ import 'package:PiliPlus/utils/extension.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'package:PiliPlus/common/widgets/network_img_layer.dart'; -import 'package:PiliPlus/models/live/item.dart'; import 'package:PiliPlus/models/member/info.dart'; import 'package:PiliPlus/utils/utils.dart'; @@ -47,16 +46,15 @@ class ProfilePanel extends StatelessWidget { left: 14, child: GestureDetector( onTap: () { - LiveItemModel liveItem = LiveItemModel.fromJson({ - 'title': memberInfo.liveRoom!.title, - 'uname': memberInfo.name, - 'face': memberInfo.face, - 'roomid': memberInfo.liveRoom!.roomId, - 'watched_show': memberInfo.liveRoom!.watchedShow, - }); + // LiveItemModel liveItem = LiveItemModel.fromJson({ + // 'title': memberInfo.liveRoom!.title, + // 'uname': memberInfo.name, + // 'face': memberInfo.face, + // 'roomid': memberInfo.liveRoom!.roomId, + // 'watched_show': memberInfo.liveRoom!.watchedShow, + // }); Get.toNamed( '/liveRoom?roomid=${memberInfo.liveRoom!.roomId}', - arguments: {'liveItem': liveItem}, ); }, child: Container( diff --git a/lib/pages/search_panel/widgets/live_panel.dart b/lib/pages/search_panel/widgets/live_panel.dart index 320a5536..f0cf9f0b 100644 --- a/lib/pages/search_panel/widgets/live_panel.dart +++ b/lib/pages/search_panel/widgets/live_panel.dart @@ -5,7 +5,6 @@ import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'package:PiliPlus/common/constants.dart'; import 'package:PiliPlus/common/widgets/network_img_layer.dart'; -import 'package:PiliPlus/utils/utils.dart'; import '../../../utils/grid.dart'; @@ -53,15 +52,13 @@ class LiveItem extends StatelessWidget { @override Widget build(BuildContext context) { - String heroTag = Utils.makeHeroTag(liveItem.roomid); return Card( elevation: 1, clipBehavior: Clip.hardEdge, margin: EdgeInsets.zero, child: InkWell( onTap: () async { - Get.toNamed('/liveRoom?roomid=${liveItem.roomid}', - arguments: {'liveItem': liveItem, 'heroTag': heroTag}); + Get.toNamed('/liveRoom?roomid=${liveItem.roomid}'); }, onLongPress: () => imageSaveDialog( context: context, diff --git a/lib/utils/app_scheme.dart b/lib/utils/app_scheme.dart index 697d50e3..124d2ab3 100644 --- a/lib/utils/app_scheme.dart +++ b/lib/utils/app_scheme.dart @@ -86,8 +86,7 @@ class PiliScheme { } } else if (host == 'live') { final String roomId = path.split('/').last; - Utils.toDupNamed('/liveRoom?roomid=$roomId', - arguments: {'liveItem': null, 'heroTag': roomId}); + Utils.toDupNamed('/liveRoom?roomid=$roomId'); } else if (host == 'bangumi') { if (path.startsWith('/season')) { final String seasonId = path.split('/').last; @@ -307,10 +306,7 @@ class PiliScheme { debugPrint('bilibili.com'); } else if (host.contains('live')) { int roomId = int.parse(path.split('/').last); - Utils.toDupNamed( - '/liveRoom?roomid=$roomId', - arguments: {'liveItem': null, 'heroTag': roomId.toString()}, - ); + Utils.toDupNamed('/liveRoom?roomid=$roomId'); return; } else if (host.contains('space')) { var mid = path.split('/').last;