mirror of
https://github.com/bggRGjQaUbCoE/PiliPlus.git
synced 2026-06-02 00:58:19 +08:00
@@ -15,7 +15,7 @@ class LocalIntroController extends CommonIntroController {
|
||||
void queryVideoIntro() {}
|
||||
|
||||
@override
|
||||
void actionCoinVideo() {}
|
||||
int get copyright => throw UnimplementedError();
|
||||
|
||||
@override
|
||||
void actionLikeVideo() {}
|
||||
|
||||
@@ -16,7 +16,6 @@ import 'package:PiliPlus/models_new/video/video_detail/episode.dart'
|
||||
import 'package:PiliPlus/models_new/video/video_detail/stat_detail.dart';
|
||||
import 'package:PiliPlus/pages/common/common_intro_controller.dart';
|
||||
import 'package:PiliPlus/pages/dynamics_repost/view.dart';
|
||||
import 'package:PiliPlus/pages/video/pay_coins/view.dart';
|
||||
import 'package:PiliPlus/pages/video/reply/controller.dart';
|
||||
import 'package:PiliPlus/plugin/pl_player/models/play_repeat.dart';
|
||||
import 'package:PiliPlus/services/service_locator.dart';
|
||||
@@ -114,29 +113,8 @@ class PgcIntroController extends CommonIntroController {
|
||||
}
|
||||
}
|
||||
|
||||
// 投币
|
||||
@override
|
||||
void actionCoinVideo() {
|
||||
if (!isLogin) {
|
||||
SmartDialog.showToast('账号未登录');
|
||||
return;
|
||||
}
|
||||
|
||||
if (coinNum.value >= 2) {
|
||||
SmartDialog.showToast('达到投币上限啦~');
|
||||
return;
|
||||
}
|
||||
|
||||
if (GlobalData().coins != null && GlobalData().coins! < 1) {
|
||||
SmartDialog.showToast('硬币不足');
|
||||
// return;
|
||||
}
|
||||
|
||||
PayCoinsPage.toPayCoinsPage(
|
||||
onPayCoin: coinVideo,
|
||||
hasCoin: coinNum.value == 1,
|
||||
);
|
||||
}
|
||||
int get copyright => 1;
|
||||
|
||||
// 分享视频
|
||||
@override
|
||||
|
||||
@@ -24,7 +24,6 @@ import 'package:PiliPlus/models_new/video/video_detail/stat_detail.dart';
|
||||
import 'package:PiliPlus/models_new/video/video_detail/ugc_season.dart';
|
||||
import 'package:PiliPlus/pages/common/common_intro_controller.dart';
|
||||
import 'package:PiliPlus/pages/dynamics_repost/view.dart';
|
||||
import 'package:PiliPlus/pages/video/pay_coins/view.dart';
|
||||
import 'package:PiliPlus/pages/video/related/controller.dart';
|
||||
import 'package:PiliPlus/pages/video/reply/controller.dart';
|
||||
import 'package:PiliPlus/plugin/pl_player/models/play_repeat.dart';
|
||||
@@ -276,31 +275,8 @@ class UgcIntroController extends CommonIntroController with ReloadMixin {
|
||||
}
|
||||
}
|
||||
|
||||
// 投币
|
||||
@override
|
||||
void actionCoinVideo() {
|
||||
if (!isLogin) {
|
||||
SmartDialog.showToast('账号未登录');
|
||||
return;
|
||||
}
|
||||
|
||||
int copyright = videoDetail.value.copyright ?? 1;
|
||||
if ((copyright != 1 && coinNum.value >= 1) || coinNum.value >= 2) {
|
||||
SmartDialog.showToast('达到投币上限啦~');
|
||||
return;
|
||||
}
|
||||
|
||||
if (GlobalData().coins != null && GlobalData().coins! < 1) {
|
||||
SmartDialog.showToast('硬币不足');
|
||||
// return;
|
||||
}
|
||||
|
||||
PayCoinsPage.toPayCoinsPage(
|
||||
onPayCoin: coinVideo,
|
||||
copyright: copyright,
|
||||
hasCoin: coinNum.value == 1,
|
||||
);
|
||||
}
|
||||
int get copyright => videoDetail.value.copyright ?? 1;
|
||||
|
||||
@override
|
||||
(Object, int) get getFavRidType => (IdUtils.bv2av(bvid), 2);
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
import 'dart:async';
|
||||
|
||||
import 'package:PiliPlus/pages/video/pay_coins/view.dart';
|
||||
import 'package:PiliPlus/utils/global_data.dart';
|
||||
import 'package:PiliPlus/utils/platform_utils.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
@@ -18,6 +20,46 @@ mixin TripleMixin on GetxController, TickerProvider {
|
||||
|
||||
bool get hasTriple => hasLike.value && hasCoin && hasFav.value;
|
||||
|
||||
bool get isLogin;
|
||||
|
||||
bool isHasCopyright(int copyright) {
|
||||
return copyright != 2;
|
||||
}
|
||||
|
||||
bool reachCoinLimit(bool hasCopyRight, num coinNum) {
|
||||
return (!hasCopyRight && coinNum >= 1) || coinNum >= 2;
|
||||
}
|
||||
|
||||
int get copyright;
|
||||
|
||||
void onPayCoin(int coin, bool coinWithLike);
|
||||
|
||||
void actionCoinVideo() {
|
||||
if (!isLogin) {
|
||||
SmartDialog.showToast('账号未登录');
|
||||
return;
|
||||
}
|
||||
|
||||
final coinNum = this.coinNum.value;
|
||||
final copyright = this.copyright;
|
||||
final hasCopyright = isHasCopyright(copyright);
|
||||
if (reachCoinLimit(hasCopyright, coinNum)) {
|
||||
SmartDialog.showToast('达到投币上限啦~');
|
||||
return;
|
||||
}
|
||||
|
||||
if (GlobalData().coins != null && GlobalData().coins! < 1) {
|
||||
SmartDialog.showToast('硬币不足');
|
||||
// return;
|
||||
}
|
||||
|
||||
PayCoinsPage.toPayCoinsPage(
|
||||
onPayCoin: onPayCoin,
|
||||
hasCoin: coinNum == 1,
|
||||
hasCopyright: hasCopyright,
|
||||
);
|
||||
}
|
||||
|
||||
void actionTriple();
|
||||
void actionLikeVideo();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user