diff --git a/lib/models/home/rcmd/result.dart b/lib/models/home/rcmd/result.dart index 10e65580..65ede2e1 100644 --- a/lib/models/home/rcmd/result.dart +++ b/lib/models/home/rcmd/result.dart @@ -12,7 +12,7 @@ class RecVideoItemAppModel extends BaseRecVideoItemModel { RecVideoItemAppModel.fromJson(Map json) { aid = json['player_args']?['aid'] ?? int.tryParse(json['param'] ?? '0'); - bvid = json['bvid'] ?? IdUtils.av2bv(id!); + bvid = json['bvid'] ?? IdUtils.av2bv(aid!); cid = json['player_args']?['cid']; cover = json['cover']; stat = RcmdStat.fromJson(json); diff --git a/lib/pages/episode_panel/view.dart b/lib/pages/episode_panel/view.dart index c5128242..6bb602e8 100644 --- a/lib/pages/episode_panel/view.dart +++ b/lib/pages/episode_panel/view.dart @@ -345,6 +345,7 @@ class _EpisodePanelState extends CommonSlidePageState { }) { late String title; String? cover; + String? bvid; num? duration; int? pubdate; int? view; @@ -360,12 +361,14 @@ class _EpisodePanelState extends CommonSlidePageState { case ugc.EpisodeItem item: title = item.title!; cover = item.arc?.pic; + bvid = item.bvid; duration = item.arc?.duration; pubdate = item.arc?.pubdate; view = item.arc?.stat?.view; danmaku = item.arc?.stat?.danmaku; break; case pgc.EpisodeItem item: + bvid = item.bvid; if (item.longTitle != null && item.longTitle != "") { dynamic leading = item.title ?? index + 1; title = @@ -424,7 +427,7 @@ class _EpisodePanelState extends CommonSlidePageState { }, onLongPress: () { if (cover?.isNotEmpty == true) { - imageSaveDialog(title: title, cover: cover); + imageSaveDialog(title: title, cover: cover, bvid: bvid); } }, child: Padding(