From 6e2b12501f6f485e64769e0e7ffb753d6449593e Mon Sep 17 00:00:00 2001 From: jxxghp Date: Wed, 3 Jan 2024 18:11:13 +0800 Subject: [PATCH] =?UTF-8?q?feat=EF=BC=9A=E8=AE=A2=E9=98=85=E5=BC=B9?= =?UTF-8?q?=E7=AA=97=E5=BC=80=E5=85=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/cards/MediaCard.vue | 22 ++++++++++++++++++- src/views/discover/MediaDetailView.vue | 22 ++++++++++++++++++- src/views/setting/AccountSettingSubscribe.vue | 7 ++++++ 3 files changed, 49 insertions(+), 2 deletions(-) diff --git a/src/components/cards/MediaCard.vue b/src/components/cards/MediaCard.vue index 65b94c3e..aa1d6927 100644 --- a/src/components/cards/MediaCard.vue +++ b/src/components/cards/MediaCard.vue @@ -16,6 +16,11 @@ const props = defineProps({ height: String, }) +// 订阅规则 +const subscribeRules = ref({ + show_edit_dialog: false, +}) + // 提示框 const $toast = useToast() @@ -146,7 +151,7 @@ async function addSubscribe(season = 0) { ) // 弹出订阅编辑弹窗 - if (result.success && seasonsSelected.value.length <= 1) { + if (result.success && seasonsSelected.value.length <= 1 && subscribeRules.value.show_edit_dialog) { subscribeId.value = result.data.id subscribeEditDialog.value = true } @@ -302,6 +307,20 @@ async function getMediaSeasons() { } } +// 查询订阅弹窗规则 +async function querySubscribeRules() { + try { + const result: { [key: string]: any } = await api.get( + 'system/setting/DefaultFilterRules', + ) + if (result.data?.value) + subscribeRules.value = result.data?.value + } + catch (error) { + console.log(error) + } +} + // 爱心订阅按钮响应 function handleSubscribe() { if (isSubscribed.value) @@ -373,6 +392,7 @@ function handleSearch() { onBeforeMount(() => { handleCheckSubscribe() handleCheckExists() + querySubscribeRules() }) // 计算图片地址 diff --git a/src/views/discover/MediaDetailView.vue b/src/views/discover/MediaDetailView.vue index 91aa1228..68eede22 100644 --- a/src/views/discover/MediaDetailView.vue +++ b/src/views/discover/MediaDetailView.vue @@ -46,6 +46,11 @@ const seasonsSubscribed = ref<{ [key: number]: boolean }>({}) // 订阅编号 const subscribeId = ref() +// 订阅规则 +const subscribeRules = ref({ + show_edit_dialog: false, +}) + // 调用API查询详情 async function getMediaDetail() { if (mediaProps.mediaid && mediaProps.type) { @@ -215,7 +220,7 @@ async function addSubscribe(season = 0) { ) // 显示编辑弹窗 - if (result.success) { + if (result.success && subscribeRules.value.show_edit_dialog) { subscribeId.value = result.data.id subscribeEditDialog.value = true } @@ -277,6 +282,20 @@ async function removeSubscribe(season: number) { doneNProgress() } +// 查询订阅弹窗规则 +async function querySubscribeRules() { + try { + const result: { [key: string]: any } = await api.get( + 'system/setting/DefaultFilterRules', + ) + if (result.data?.value) + subscribeRules.value = result.data?.value + } + catch (error) { + console.log(error) + } +} + // 订阅按钮响应 function handleSubscribe(season = 0) { if (isSubscribed.value) @@ -404,6 +423,7 @@ function handlePlay() { onBeforeMount(() => { getMediaDetail() + querySubscribeRules() }) diff --git a/src/views/setting/AccountSettingSubscribe.vue b/src/views/setting/AccountSettingSubscribe.vue index cb07cd9c..00fbbcec 100644 --- a/src/views/setting/AccountSettingSubscribe.vue +++ b/src/views/setting/AccountSettingSubscribe.vue @@ -38,6 +38,7 @@ const defaultFilterRules = ref({ exclude: '', movie_size: '', tv_size: '', + show_edit_dialog: false, }) // 导入代码弹窗 @@ -521,6 +522,12 @@ onMounted(() => { placeholder="0-10" /> + + +