修改角标

This commit is contained in:
谢宇宁
2026-11-05 17:13:58 +07:00
parent a1c95f2b03
commit 4d2949dd5a
5 changed files with 2 additions and 52 deletions
+2 -31
View File
@@ -36,15 +36,8 @@
<!-- >-->
<!-- 免费-->
<!-- </div>-->
<div class="vip_icon free_trial_icon" v-if="showFreeTrialIcon">免费</div>
<template v-else-if="['video', 'image', 'text'].includes(videoInfo.mediaType)">
<template v-if="['video', 'image', 'text'].includes(videoInfo.mediaType)">
<div class="vip_icon" v-if="configStore.appConfig.vipMark && videoInfo.permission == 0">VIP</div>
<div
class="vip_icon coins_icon"
v-if="configStore.appConfig.coinMark && videoInfo.permission === 1 && videoInfo.price"
>
金币
</div>
</template>
<template v-else>
<div
@@ -53,12 +46,6 @@
>
VIP
</div>
<div
class="vip_icon coins_icon"
v-if="configStore.appConfig.coinMark && videoInfo?.originCoins != 0 && !videoInfo?.freeArea"
>
金币
</div>
</template>
<div class="videoInfo flex-center-between" v-if="!videoInfo.type && showTimeAndComment">
<div class="playCount flex-vcenter">
@@ -117,12 +104,11 @@
</template>
<script lang="ts" setup>
import { watchCount, videoTime, jumpAdv, isLongFormVideo } from '@/utils/index';
import { inject, computed, onMounted, type ComputedRef } from 'vue';
import { inject, computed, type ComputedRef } from 'vue';
import { useRouter } from 'vue-router';
import { useUserStore } from '@/stores/user';
import { useVideoStore } from '@/stores/video';
import { useConfigStore } from '@/stores/config';
import { sharedFreeWatchCount, ensureSharedFreeWatchCount } from '@/utils/sharedFreeWatchCount';
const configStore = useConfigStore();
const userStore = useUserStore();
const router = useRouter();
@@ -160,16 +146,6 @@ const props = withDefaults(
selected: () => false,
},
);
/** getPlayCount.watchCount <= 1 时不展示免费试看角标 */
const showFreeTrialIcon = computed(() => {
if (!configStore.appConfig.freeMark || !props.videoInfo?.showFreeTrialBadge) return false;
const remaining =
sharedFreeWatchCount.value !== null && sharedFreeWatchCount.value >= 0
? sharedFreeWatchCount.value
: Number(props.videoInfo.freeTrialRemaining);
if (Number.isFinite(remaining) && remaining <= 1) return false;
return true;
});
const showAwPopup = computed(() => {
if (props.awPermissions && props.videoInfo?.tags?.length && userStore.userInfo.vipLevel < 3) {
let tags = props.videoInfo.tags;
@@ -178,11 +154,6 @@ const showAwPopup = computed(() => {
return false;
});
const emit = defineEmits(['changeVideo', 'del', 'select', 'click']);
onMounted(() => {
if (configStore.appConfig.freeMark && props.videoInfo?.showFreeTrialBadge) {
ensureSharedFreeWatchCount(props.videoInfo?.id);
}
});
// 获取标签:默认第二个,第二个没有就取第一个,第一个没有就空
const getTag = () => {
@@ -8,23 +8,11 @@
<template v-if="['video', 'image', 'text'].includes(item.mediaType)">
<div class="vip_icon free_icon" v-if="configStore.appConfig.freeMark && item.permission === 2">免费</div>
<div class="vip_icon" v-if="configStore.appConfig.vipMark && item.permission == 0">VIP</div>
<div
class="vip_icon coins_icon"
v-if="configStore.appConfig.coinMark && item.permission === 1 && item.price"
>
金币
</div>
</template>
<template v-else>
<div class="vip_icon" v-if="configStore.appConfig.vipMark && item?.originCoins == 0 && !item?.freeArea">
VIP
</div>
<div
class="vip_icon coins_icon"
v-if="configStore.appConfig.coinMark && item?.originCoins != 0 && !item?.freeArea"
>
金币
</div>
</template>
</lazyImg>
<div class="infoBox">
@@ -1,12 +1,5 @@
<template>
<div v-if="configStore.appConfig.vipMark && props.info.permission === 0" class="permission permission_0">VIP</div>
<div
v-if="configStore.appConfig.coinMark && props.info.permission === 1 && props.info.price"
class="permission permission_1"
>
金币
<!-- {{ props.info.price }} -->
</div>
<div v-if="configStore.appConfig.freeMark && props.info.permission === 2" class="permission permission_2">免费</div>
</template>
<script lang="ts" setup>
@@ -82,7 +82,6 @@ const dramaItems = computed(() =>
let badge: Badge | undefined;
if (!info.permissionIconHide) {
if (info.permission === 0 && configStore.appConfig.vipMark) badge = 'vip';
if (info.permission === 1 && configStore.appConfig.coinMark) badge = 'coin';
if (info.permission === 2 && configStore.appConfig.freeMark) badge = 'free';
}
return { series: mapSeries(info), badge };
@@ -115,7 +115,6 @@ const items = computed(() =>
let badge: Badge | undefined;
if (!info.permissionIconHide) {
if (info.permission === 0 && configStore.appConfig.vipMark) badge = 'vip';
if (info.permission === 1 && configStore.appConfig.coinMark) badge = 'coin';
if (info.permission === 2 && configStore.appConfig.freeMark) badge = 'free';
}
return { series: mapSeries(info), badge };