From b642eabbb36625847e4759e3173868f85f2422c7 Mon Sep 17 00:00:00 2001 From: jxxghp Date: Thu, 6 Feb 2025 20:33:14 +0800 Subject: [PATCH] =?UTF-8?q?feat=EF=BC=9A=E5=9C=A8=E5=AA=92=E4=BD=93?= =?UTF-8?q?=E7=9B=B8=E5=85=B3=E7=BB=84=E4=BB=B6=E4=B8=AD=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E5=AA=92=E4=BD=93ID=E3=80=81=E6=A0=87=E9=A2=98=E5=92=8C?= =?UTF-8?q?=E5=B9=B4=E4=BB=BD=E7=9A=84=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/types.ts | 4 ++++ src/components/cards/MediaCard.vue | 4 ++++ src/components/cards/SubscribeCard.vue | 12 +++++++++++- src/components/cards/SubscribeShareCard.vue | 16 +++++++++++----- src/components/dialog/ForkSubscribeDialog.vue | 10 +++++++++- src/pages/media.vue | 11 +++++++---- src/pages/resource.vue | 12 ++++++++++-- src/views/discover/MediaDetailView.vue | 6 ++++++ 8 files changed, 62 insertions(+), 13 deletions(-) diff --git a/src/api/types.ts b/src/api/types.ts index b4d410ee..3b1bb591 100644 --- a/src/api/types.ts +++ b/src/api/types.ts @@ -14,6 +14,10 @@ export interface Subscribe { tmdbid: number // 豆瓣ID doubanid?: string + // Bangumi ID + bangumiid?: string + // 其它媒体ID + mediaid?: string // 季号 season?: number // 海报 diff --git a/src/components/cards/MediaCard.vue b/src/components/cards/MediaCard.vue index 29ea0910..4358c8d5 100644 --- a/src/components/cards/MediaCard.vue +++ b/src/components/cards/MediaCard.vue @@ -363,6 +363,8 @@ function goMediaDetail(isHovering = false) { path: '/media', query: { mediaid: getMediaId(), + title: props.media?.title, + year: props.media?.year, type: props.media?.type, }, }) @@ -378,6 +380,8 @@ function handleSearch() { keyword: getMediaId(), type: props.media?.type, area: 'title', + title: props.media?.title, + year: props.media?.year, season: props.media?.season, }, }) diff --git a/src/components/cards/SubscribeCard.vue b/src/components/cards/SubscribeCard.vue index 425ba37f..3f085f76 100644 --- a/src/components/cards/SubscribeCard.vue +++ b/src/components/cards/SubscribeCard.vue @@ -142,12 +142,22 @@ async function editSubscribeDialog() { subscribeEditDialog.value = true } +// 获得mediaid +function getMediaId() { + if (props.media?.tmdbid) return `tmdb:${props.media?.tmdbid}` + else if (props.media?.doubanid) return `douban:${props.media?.doubanid}` + else if (props.media?.bangumiid) return `bangumi:${props.media?.bangumiid}` + else return props.media?.mediaid +} + // 查看媒体详情 async function viewMediaDetail() { router.push({ path: '/media', query: { - mediaid: `${props.media?.tmdbid ? `tmdb:${props.media?.tmdbid}` : `douban:${props.media?.doubanid}`}`, + mediaid: getMediaId(), + title: props.media?.name, + year: props.media?.year, type: props.media?.type, }, }) diff --git a/src/components/cards/SubscribeShareCard.vue b/src/components/cards/SubscribeShareCard.vue index a42a2ebe..82d90d24 100644 --- a/src/components/cards/SubscribeShareCard.vue +++ b/src/components/cards/SubscribeShareCard.vue @@ -54,12 +54,20 @@ const posterUrl = computed(() => { return url }) +// 获得mediaid +function getMediaId() { + if (props.media?.tmdbid) return `tmdb:${props.media?.tmdbid}` + else if (props.media?.doubanid) return `douban:${props.media?.doubanid}` +} + // 查看媒体详情 async function viewMediaDetail() { router.push({ path: '/media', query: { - mediaid: `${props.media?.tmdbid ? `tmdb:${props.media?.tmdbid}` : `douban:${props.media?.doubanid}`}`, + mediaid: getMediaId(), + title: props.media?.name, + year: props.media?.year, type: props.media?.type, }, }) @@ -73,18 +81,16 @@ function showForkSubscribe() { // 完成复用订阅 function finishForkSubscribe(subid: number) { subscribeId.value = subid - forkSubscribeDialog.value=false + forkSubscribeDialog.value = false subscribeEditDialog.value = true } // 删除订阅分享时处理 function doDelete() { - forkSubscribeDialog.value=false + forkSubscribeDialog.value = false // 通知父组件刷新 emit('delete') } - -