diff --git a/src/components/cards/MediaCard.vue b/src/components/cards/MediaCard.vue index 335fb4f9..81b34a49 100644 --- a/src/components/cards/MediaCard.vue +++ b/src/components/cards/MediaCard.vue @@ -12,6 +12,7 @@ import tmdbImage from '@images/logos/tmdb.png' import doubanImage from '@images/logos/douban-black.png' import bangumiImage from '@images/logos/bangumi.png' import { useUserStore } from '@/stores' +import SearchSiteDialog from '@/components/dialog/SearchSiteDialog.vue' // 输入参数 const props = defineProps({ @@ -84,8 +85,8 @@ const selectedSites = ref([]) // 搜索菜单显示状态 const searchMenuShow = ref(false) -// 全选/全不选按钮文字 -const checkAllText = computed(() => (selectedSites.value.length === allSites.value.length ? '全不选' : '全选')) +// 选择站点对话框 +const chooseSiteDialog = ref(false) // 全选/全不选 function checkAllSitesorNot() { @@ -423,9 +424,11 @@ function goMediaDetail(isHovering = false) { // 点击搜索 async function clickSearch() { - if (allSites.value?.length > 0) return - querySites() - querySelectedSites() + if (allSites.value?.length == 0) { + querySites() + querySelectedSites() + } + chooseSiteDialog.value = true } // 开始搜索 @@ -444,6 +447,13 @@ function handleSearch() { }) } +// 搜索多站点 +function searchSites(sites: number[]) { + chooseSiteDialog.value = false + selectedSites.value = sites + handleSearch() +} + // 懒加载检查 function handleCheckLazy() { if (props.media?.collection_id) { @@ -566,36 +576,7 @@ function onRemoveSubscribe() {

- - - - - - - {{ site.name }} - - -
- - {{ checkAllText }} - -
-
- - 搜索 - -
-
+
@@ -701,4 +682,13 @@ function onRemoveSubscribe() { @save="subscribeEditDialog = false" @remove="onRemoveSubscribe" /> + + diff --git a/src/components/cards/SiteCard.vue b/src/components/cards/SiteCard.vue index 2cdb43e5..0194240d 100644 --- a/src/components/cards/SiteCard.vue +++ b/src/components/cards/SiteCard.vue @@ -332,7 +332,7 @@ onMounted(() => { 测试站点连通性 - +