初始化
This commit is contained in:
@@ -0,0 +1,52 @@
|
||||
import '../hj_model/video_model.dart';
|
||||
import '../tools_base/global_store/store.dart';
|
||||
import '../tools_base/net/net_manager.dart';
|
||||
import 'date_time_util.dart';
|
||||
|
||||
/// 是否需要开通 VIP 才能看
|
||||
bool needVip(VideoModel? model) {
|
||||
if (model?.freeArea == true) return false; // 免费区
|
||||
// VIP 未过期(比服务端校准时间,防改本地时间);日期为空/解析失败都当过期
|
||||
final expire = DateTime.tryParse(globalStore.meInfo?.vipExpireDate ?? '');
|
||||
if (expire?.isAfter(netManager.getFixedCurTime()) == true) return false;
|
||||
if (model?.isCoinVideo() == true) return false; // 金币视频走金币购买,与 VIP 无关
|
||||
if (globalStore.isMe(model?.publisher?.uid)) return false; // 自己发布的
|
||||
return true;
|
||||
}
|
||||
|
||||
/*
|
||||
会员权益:
|
||||
普通会员: VIP长视频 VIP抖音 社区帖子VIP 图集VIP 小说VIP ACGVIP
|
||||
高级会员:VIP+金币视频(长视频,抖音),社区VIP帖子。图集金币 小说 金币 ACG 。 暗网视频和社区金币帖子除外
|
||||
超级会员: 全网通 包含暗网+社区金币帖子
|
||||
黄游单独购买
|
||||
* */
|
||||
|
||||
/// 长视频 / 抖音是否需要花金币购买
|
||||
bool needCoin(VideoModel? model) {
|
||||
if (model == null) return false;
|
||||
final originCoins = model.originCoins ?? 0;
|
||||
if (originCoins == 0) return false; // 非金币视频
|
||||
if (globalStore.isMe(model.publisher?.uid)) return false; // 自己发布的
|
||||
if (model.freeArea == true) return false; // 免费区
|
||||
|
||||
final isVip = globalStore.isVIP;
|
||||
if (isVip && model.coins == 0) return false; // VIP 折后 0 金币
|
||||
if (globalStore.isSuperUp) return false; // 超级会员全网通
|
||||
// VIP 金币视频限免期内,50 金币以内免费
|
||||
if (isVip && DateTimeUtil.calTime3(globalStore.meInfo?.goldVideoFreeExpire) > 0 && originCoins <= 50) return false;
|
||||
return !(model.vidStatus?.hasPaid ?? false); // 已购则不用再买
|
||||
}
|
||||
|
||||
/// 社区帖子视频是否需要花金币购买(规则与长视频略有差异)
|
||||
bool needPostCoin(VideoModel? model) {
|
||||
if (model == null) return false;
|
||||
if (globalStore.isMe(model.publisher?.uid)) return false; // 自己发布的
|
||||
if (model.freeArea == true) return false; // 免费区
|
||||
if (globalStore.isSuperUp) return false; // 超级会员全网通
|
||||
|
||||
final isVip = globalStore.isVIP;
|
||||
if (isVip && (model.originCoins ?? 0) > 0 && model.coins == 0) return false; // VIP 折后 0 金币
|
||||
if (isVip && model.originCoins == 0) return false; // VIP 看非金币帖子
|
||||
return !(model.vidStatus?.hasPaid ?? false); // 已购则不用再买
|
||||
}
|
||||
Reference in New Issue
Block a user