diff --git a/lib/pages/episode_panel/view.dart b/lib/pages/episode_panel/view.dart index ba742459f..ee082b0a3 100644 --- a/lib/pages/episode_panel/view.dart +++ b/lib/pages/episode_panel/view.dart @@ -433,7 +433,9 @@ class _EpisodePanelState extends State type: MaterialType.transparency, child: InkWell( onTap: () { - if (episode.badge == "会员" && vipStatus != 1) { + if (episode.badge == "会员" && + Accounts.mainEqVideo && + vipStatus != 1) { SmartDialog.showToast('需要大会员'); // return; } diff --git a/lib/pages/video/download_panel/view.dart b/lib/pages/video/download_panel/view.dart index 70de68a1d..9f14590b5 100644 --- a/lib/pages/video/download_panel/view.dart +++ b/lib/pages/video/download_panel/view.dart @@ -17,6 +17,7 @@ import 'package:PiliPlus/pages/video/controller.dart'; import 'package:PiliPlus/pages/video/introduction/ugc/controller.dart'; import 'package:PiliPlus/pages/video/introduction/ugc/widgets/page.dart'; import 'package:PiliPlus/services/download/download_service.dart'; +import 'package:PiliPlus/utils/accounts.dart'; import 'package:PiliPlus/utils/date_utils.dart'; import 'package:PiliPlus/utils/duration_utils.dart'; import 'package:PiliPlus/utils/extension/num_ext.dart'; @@ -254,7 +255,7 @@ class _DownloadPanelState extends State { return false; } - if (kReleaseMode && episode.badge == '会员') { + if (kReleaseMode && episode.badge == '会员' && Accounts.mainEqVideo) { if (vipStatus != 1) { if (!isDownloadAll) { SmartDialog.showToast('需要大会员'); diff --git a/lib/pages/video/introduction/pgc/widgets/pgc_panel.dart b/lib/pages/video/introduction/pgc/widgets/pgc_panel.dart index 3a9fa0141..2fec611e3 100644 --- a/lib/pages/video/introduction/pgc/widgets/pgc_panel.dart +++ b/lib/pages/video/introduction/pgc/widgets/pgc_panel.dart @@ -6,6 +6,7 @@ import 'package:PiliPlus/models_new/pgc/pgc_info_model/new_ep.dart'; import 'package:PiliPlus/models_new/video/video_detail/episode.dart' hide EpisodeItem; import 'package:PiliPlus/pages/video/controller.dart'; +import 'package:PiliPlus/utils/accounts.dart'; import 'package:PiliPlus/utils/extension/num_ext.dart'; import 'package:PiliPlus/utils/extension/theme_ext.dart'; import 'package:PiliPlus/utils/storage_pref.dart'; @@ -166,7 +167,7 @@ class _PgcPanelState extends State { child: InkWell( borderRadius: const BorderRadius.all(Radius.circular(6)), onTap: () { - if (item.badge == '会员' && vipStatus) { + if (item.badge == '会员' && Accounts.mainEqVideo && vipStatus) { SmartDialog.showToast('需要大会员'); } widget.onChangeEpisode(item); diff --git a/lib/utils/accounts.dart b/lib/utils/accounts.dart index 0a4d2cf48..a88f53149 100644 --- a/lib/utils/accounts.dart +++ b/lib/utils/accounts.dart @@ -11,7 +11,9 @@ abstract final class Accounts { AccountType.values.length, AnonymousAccount(), ); + static bool get mainEqVideo => main == video; static Account get main => accountMode[AccountType.main.index]; + static Account get video => accountMode[AccountType.video.index]; static Account get heartbeat => accountMode[AccountType.heartbeat.index]; static Account get history { final heartbeat = Accounts.heartbeat;