diff --git a/lib/http/api.dart b/lib/http/api.dart index 078e615e..13fb19c8 100644 --- a/lib/http/api.dart +++ b/lib/http/api.dart @@ -495,7 +495,7 @@ class Api { static const activateBuvidApi = '/x/internal/gaia-gateway/ExClimbWuzhi'; /// 获取字幕配置 - static const getSubtitleConfig = '/x/player/v2'; + static const getSubtitleConfig = '/x/player/wbi/v2'; /// 我的订阅 static const userSubFolder = '/x/v3/fav/folder/collected/list'; diff --git a/lib/http/video.dart b/lib/http/video.dart index eeef5751..5a9f4aa1 100644 --- a/lib/http/video.dart +++ b/lib/http/video.dart @@ -509,10 +509,11 @@ class VideoHttp { } } - static Future getSubtitle({int? cid, String? bvid}) async { + static Future getSubtitle({int? cid, String? bvid, String? aid}) async { var res = await Request().get(Api.getSubtitleConfig, data: { 'cid': cid, - 'bvid': bvid, + if (bvid != null) 'bvid': bvid, + if (aid != null) 'aid': aid, }); try { if (res.data['code'] == 0) { diff --git a/lib/pages/dynamics/view.dart b/lib/pages/dynamics/view.dart index 939d6d1f..ce3e1aaa 100644 --- a/lib/pages/dynamics/view.dart +++ b/lib/pages/dynamics/view.dart @@ -9,9 +9,7 @@ import 'package:pilipala/common/skeleton/dynamic_card.dart'; import 'package:pilipala/common/widgets/http_error.dart'; import 'package:pilipala/common/widgets/no_data.dart'; import 'package:pilipala/models/dynamics/result.dart'; -import 'package:pilipala/plugin/pl_popup/index.dart'; import 'package:pilipala/utils/feed_back.dart'; -import 'package:pilipala/utils/global_data_cache.dart'; import 'package:pilipala/utils/main_stream.dart'; import 'package:pilipala/utils/route_push.dart'; import 'package:pilipala/utils/storage.dart'; @@ -19,7 +17,6 @@ import 'package:pilipala/utils/storage.dart'; import '../mine/controller.dart'; import 'controller.dart'; import 'widgets/dynamic_panel.dart'; -import 'up_dynamic/route_panel.dart'; import 'widgets/up_panel.dart'; class DynamicsPage extends StatefulWidget { @@ -209,21 +206,7 @@ class _DynamicsPageState extends State return Obx( () => UpPanel( upData: _dynamicsController.upData.value, - onClickUpCb: (data) { - if (GlobalDataCache().enableDynamicSwitch) { - Navigator.push( - context, - PlPopupRoute( - child: OverlayPanel( - ctr: _dynamicsController, - upInfo: data, - ), - ), - ); - } else { - _dynamicsController.onTapUp(data); - } - }, + dynamicsController: _dynamicsController, ), ); } else { diff --git a/lib/pages/dynamics/widgets/up_panel.dart b/lib/pages/dynamics/widgets/up_panel.dart index f45214e3..d5d7958e 100644 --- a/lib/pages/dynamics/widgets/up_panel.dart +++ b/lib/pages/dynamics/widgets/up_panel.dart @@ -4,18 +4,22 @@ import 'package:get/get.dart'; import 'package:pilipala/common/widgets/network_img_layer.dart'; import 'package:pilipala/models/dynamics/up.dart'; import 'package:pilipala/models/live/item.dart'; +import 'package:pilipala/plugin/pl_popup/index.dart'; import 'package:pilipala/utils/feed_back.dart'; import 'package:pilipala/utils/global_data_cache.dart'; import 'package:pilipala/utils/utils.dart'; +import '../controller.dart'; +import '../up_dynamic/route_panel.dart'; + class UpPanel extends StatefulWidget { final FollowUpModel upData; - final Function? onClickUpCb; + final DynamicsController dynamicsController; const UpPanel({ super.key, required this.upData, - this.onClickUpCb, + required this.dynamicsController, }); @override @@ -39,7 +43,15 @@ class _UpPanelState extends State { void onClickUp(data, i) { currentMid.value = data.mid; - widget.onClickUpCb?.call(data); + Navigator.push( + context, + PlPopupRoute( + child: OverlayPanel( + ctr: widget.dynamicsController, + upInfo: data, + ), + ), + ).then((value) => {currentMid.value = -1}); } void onClickUpAni(data, i) { @@ -49,7 +61,7 @@ class _UpPanelState extends State { final upLen = upList.length; currentMid.value = data.mid; - widget.onClickUpCb?.call(data); + widget.dynamicsController.onTapUp(data); double moveDistance = 0.0; final totalItemsWidth = itemWidth * (upLen + liveLen); diff --git a/lib/plugin/pl_player/controller.dart b/lib/plugin/pl_player/controller.dart index 0bd7950c..cd41df24 100644 --- a/lib/plugin/pl_player/controller.dart +++ b/lib/plugin/pl_player/controller.dart @@ -1033,6 +1033,8 @@ class PlPlayerController { if (progress >= content['from']! && progress <= content['to']!) { subtitleContent.value = content['content']!; return; + } else { + subtitleContent.value = ''; } } }