更改配置和图片
@@ -5,5 +5,5 @@ VITE_BUILD_DROP_CONSOLE = true # 是否在打包时删除 console 代码
|
||||
VITE_BUILD_VCONSOLE = false # 是否开启调试工具 vconsole
|
||||
VITE_PARAMETER_ENCRYPTION = 0 # 是否开启参数加密 0关闭 1开启
|
||||
# VITE_BASE_URL= ["http://172.104.39.32:25508"] # api选线域名,这里必须为数组
|
||||
VITE_BASE_URL= ["https://d1s84171319hi1.cloudfront.net","https://d2j97wqe01j5pa.cloudfront.net"] # api选线域名,这里必须为数组
|
||||
VITE_DNS_DOMAIN = hgdj.mfcg.it.com # DNS 兜底域名:上面线路全挂时解析它的 TXT 记录拿线路
|
||||
VITE_BASE_URL= ["https://ddpim3tfb6wo1.cloudfront.net","https://dloofqkn2dpzu.cloudfront.net"] # api选线域名,这里必须为数组
|
||||
VITE_DNS_DOMAIN = tgdj.mfcg.it.com # DNS 兜底域名:上面线路全挂时解析它的 TXT 记录拿线路
|
||||
|
||||
@@ -4,5 +4,5 @@ VITE_BUILD_SOURCEMAP = false # 是否在打包时生成 sourcemap
|
||||
VITE_BUILD_DROP_CONSOLE = true # 是否在打包时删除 console 代码
|
||||
VITE_BUILD_VCONSOLE = false # 是否开启调试工具 vconsole
|
||||
VITE_PARAMETER_ENCRYPTION = 1 # 是否开启参数加密 0关闭 1开启
|
||||
VITE_BASE_URL= ["https://d1s84171319hi1.cloudfront.net","https://d2j97wqe01j5pa.cloudfront.net"] # api选线域名,这里必须为数组
|
||||
VITE_DNS_DOMAIN = hgdj.mfcg.it.com # DNS 兜底域名:上面线路全挂时解析它的 TXT 记录拿线路
|
||||
VITE_BASE_URL= ["https://ddpim3tfb6wo1.cloudfront.net","https://dloofqkn2dpzu.cloudfront.net"] # api选线域名,这里必须为数组
|
||||
VITE_DNS_DOMAIN = tgdj.mfcg.it.com # DNS 兜底域名:上面线路全挂时解析它的 TXT 记录拿线路
|
||||
|
||||
@@ -4,5 +4,5 @@ VITE_BUILD_SOURCEMAP = false # 是否在打包时生成 sourcemap
|
||||
VITE_BUILD_DROP_CONSOLE = true # 是否在打包时删除 console 代码
|
||||
VITE_BUILD_VCONSOLE = false # 是否开启调试工具 vconsole
|
||||
VITE_PARAMETER_ENCRYPTION = 0 # 是否开启参数加密 0关闭 1开启
|
||||
VITE_BASE_URL= ["https://d1s84171319hi1.cloudfront.net","https://d2j97wqe01j5pa.cloudfront.net"] # api选线域名,这里必须为数组
|
||||
VITE_DNS_DOMAIN = hgdj.mfcg.it.com # DNS 兜底域名:上面线路全挂时解析它的 TXT 记录拿线路
|
||||
VITE_BASE_URL= ["https://ddpim3tfb6wo1.cloudfront.net","https://dloofqkn2dpzu.cloudfront.net"] # api选线域名,这里必须为数组
|
||||
VITE_DNS_DOMAIN = tgdj.mfcg.it.com # DNS 兜底域名:上面线路全挂时解析它的 TXT 记录拿线路
|
||||
|
||||
|
Before Width: | Height: | Size: 41 KiB After Width: | Height: | Size: 524 KiB |
|
Before Width: | Height: | Size: 41 KiB After Width: | Height: | Size: 524 KiB |
|
Before Width: | Height: | Size: 4.3 KiB After Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 208 KiB After Width: | Height: | Size: 186 KiB |
@@ -6,7 +6,7 @@
|
||||
<div class="app">
|
||||
<img class="logo" src="@/assets/images/png/logo_round.png" alt="" />
|
||||
<div class="info">
|
||||
<span class="name">黄果短剧</span>
|
||||
<span class="name">糖果短剧</span>
|
||||
<span class="desc">亚洲最火成人网站</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
</van-swipe-item>
|
||||
</van-swipe>
|
||||
</van-notice-bar>
|
||||
<template v-else>滚动的关键词</template>
|
||||
<template v-else>请输入关键字</template>
|
||||
</div>
|
||||
<div class="search_box">
|
||||
<template v-if="getTheme.holidays !== 'default'">
|
||||
@@ -80,6 +80,8 @@ const toSearchPage = () => {
|
||||
background: rgba(255, 255, 255, 0.05);
|
||||
color: rgba(255, 255, 255, 0.35);
|
||||
text-indent: 12px;
|
||||
// 无滚动词时的兜底文案需垂直居中
|
||||
line-height: 32px;
|
||||
|
||||
/* Body/Medium */
|
||||
font-family: 'PingFang SC';
|
||||
|
||||
@@ -20,8 +20,8 @@
|
||||
:src="videoInfo?.cover || (acgHorizontal ? videoInfo?.horizontalCover : videoInfo?.verticalCover)"
|
||||
/>
|
||||
<!-- 角标独立于 lazyImg:避免封面加载失败/未完成时 isLoad=false 导致 slot 不渲染 -->
|
||||
<div class="vip_icon free_trial_icon" v-if="showFreeTrialIcon">免费试看</div>
|
||||
<template v-else-if="['video', 'image', 'text'].includes(videoInfo.mediaType)">
|
||||
<!-- 视频不展示售卖角标,仅保留漫画/图集/小说的 VIP/金币角标 -->
|
||||
<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"
|
||||
@@ -30,20 +30,6 @@
|
||||
金币
|
||||
</div>
|
||||
</template>
|
||||
<template v-else>
|
||||
<div
|
||||
class="vip_icon"
|
||||
v-if="configStore.appConfig.vipMark && videoInfo?.originCoins == 0 && !videoInfo?.freeArea"
|
||||
>
|
||||
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">
|
||||
<SvgIcon name="playCountIcon" color="#fff" />
|
||||
@@ -90,12 +76,11 @@
|
||||
</template>
|
||||
<script lang="ts" setup>
|
||||
import { watchCount, videoTime, jumpAdv, isLongFormVideo } from '@/utils/index';
|
||||
import { inject, computed, onMounted } from 'vue';
|
||||
import { inject, computed } 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();
|
||||
@@ -124,16 +109,6 @@ const props = withDefaults(
|
||||
isPic: () => 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;
|
||||
@@ -142,11 +117,6 @@ const showAwPopup = computed(() => {
|
||||
return false;
|
||||
});
|
||||
const emit = defineEmits(['changeVideo', 'del']);
|
||||
onMounted(() => {
|
||||
if (configStore.appConfig.freeMark && props.videoInfo?.showFreeTrialBadge) {
|
||||
ensureSharedFreeWatchCount(props.videoInfo?.id);
|
||||
}
|
||||
});
|
||||
|
||||
// 获取标签:默认第二个,第二个没有就取第一个,第一个没有就空
|
||||
const getTag = () => {
|
||||
@@ -311,14 +281,6 @@ const del = async (info: any) => {
|
||||
color: #fff;
|
||||
background: linear-gradient(135deg, #35debc 0%, #22bb9c 100%);
|
||||
}
|
||||
// 免费试看
|
||||
&.free_trial_icon {
|
||||
width: auto;
|
||||
min-width: 52px;
|
||||
padding: 0 6px;
|
||||
color: rgba(20, 20, 20, 1);
|
||||
background: linear-gradient(135deg, #35DEBC 0%, #22BB9C 100%);
|
||||
}
|
||||
// 金币
|
||||
&.coins_icon {
|
||||
color: #8b3e00;
|
||||
|
||||
@@ -14,17 +14,6 @@
|
||||
金币
|
||||
</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">
|
||||
<div class="actorName ellipsis2">{{ item.title }}</div>
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
</div>
|
||||
<!-- 复制id -->
|
||||
<div class="nick row" @click="copyId(state.userInfo.uid)">
|
||||
<div class="left">黄果短剧 ID</div>
|
||||
<div class="left">糖果短剧 ID</div>
|
||||
<div class="right flex-center-between">
|
||||
<span>{{ state.userInfo.uid }}</span>
|
||||
<SvgIcon name="copy" height="24px" width="24px" style="color: #525252" />
|
||||
|
||||