From 5032f0e6a9d4a1c1bb9266dbdb38c616bf2aa716 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=99=AF=E5=A4=A7=E4=BE=A0?= Date: Tue, 4 Nov 2025 11:32:41 +0800 Subject: [PATCH 1/3] =?UTF-8?q?fix=20=E9=A3=9E=E7=89=9B=E5=BD=B1=E8=A7=86?= =?UTF-8?q?=E6=97=A0=E6=B3=95=E6=98=BE=E7=A4=BA=E5=9B=BE=E7=89=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 图片接口增加Cookies参数 --- src/api/types.ts | 4 ++++ src/components/cards/BackdropCard.vue | 6 +++++- src/components/cards/LibraryCard.vue | 18 ++++++++++++------ src/components/cards/PosterCard.vue | 6 +++++- 4 files changed, 26 insertions(+), 8 deletions(-) diff --git a/src/api/types.ts b/src/api/types.ts index 27c956f1..198bc106 100644 --- a/src/api/types.ts +++ b/src/api/types.ts @@ -992,6 +992,8 @@ export interface MediaServerPlayItem { percent?: number // 媒体服务器类型 server_type?: string + // 飞牛的图片需要Cookies + cookies?: string } // 媒体服务器媒体库 @@ -1014,6 +1016,8 @@ export interface MediaServerLibrary { link?: string // 媒体服务器类型 server_type?: string + // 飞牛的图片需要Cookies + cookies?: string } // 消息通知 diff --git a/src/components/cards/BackdropCard.vue b/src/components/cards/BackdropCard.vue index de9851de..9c711847 100644 --- a/src/components/cards/BackdropCard.vue +++ b/src/components/cards/BackdropCard.vue @@ -26,7 +26,11 @@ async function goPlay() { // 计算图片地址 const getImgUrl = computed(() => { const image = props.media?.image || '' - return `${import.meta.env.VITE_API_BASE_URL}system/img/0?imgurl=${encodeURIComponent(image)}` + let url = `${import.meta.env.VITE_API_BASE_URL}system/img/0?imgurl=${encodeURIComponent(image)}` + const cookies = props.media?.cookies + if (cookies) + url += `&cookies=${encodeURIComponent(cookies)}` + return url }) diff --git a/src/components/cards/LibraryCard.vue b/src/components/cards/LibraryCard.vue index 9a51eb95..e5d390cb 100644 --- a/src/components/cards/LibraryCard.vue +++ b/src/components/cards/LibraryCard.vue @@ -52,20 +52,26 @@ async function goPlay() { } // 生成图片代理路径 -function getImgUrl(url: string) { +function getImgUrl(url: string, cookies?: string) { if (!url) return getDefaultImage() - else return `${import.meta.env.VITE_API_BASE_URL}system/img/0?imgurl=${encodeURIComponent(url)}` + let imgurl = `${import.meta.env.VITE_API_BASE_URL}system/img/0?imgurl=${encodeURIComponent(url)}` + if (cookies) + imgurl += `&cookies=${encodeURIComponent(cookies)}` + return imgurl } // 根据多张图片生成媒体库封面 -async function drawImages(imageList: string[]) { +async function drawImages(imageList: string[], cookies?: string) { // 图片 const IMAGES = imageList if (IMAGES.length === 0) return getDefaultImage() // 为所有图片添加system/img前缀 - for (let i = 0; i < IMAGES.length; i++) + for (let i = 0; i < IMAGES.length; i++) { IMAGES[i] = `${import.meta.env.VITE_API_BASE_URL}system/img/0?imgurl=${encodeURIComponent(IMAGES[i])}` + if (cookies) + IMAGES[i] += `&cookies=${encodeURIComponent(cookies)}` + } // canvas const canvas = canvasRef.value @@ -137,8 +143,8 @@ async function drawImages(imageList: string[]) { onMounted(async () => { if (props.media?.image_list && props.media?.image_list.length > 0) - imgUrl.value = await drawImages(props.media?.image_list || []) - else imgUrl.value = getImgUrl(props.media?.image || '') + imgUrl.value = await drawImages(props.media?.image_list || [], props.media?.cookies) + else imgUrl.value = getImgUrl(props.media?.image || '', props.media?.cookies) }) diff --git a/src/components/cards/PosterCard.vue b/src/components/cards/PosterCard.vue index b965e9b3..18fd13a8 100644 --- a/src/components/cards/PosterCard.vue +++ b/src/components/cards/PosterCard.vue @@ -28,7 +28,11 @@ function getChipColor(type: string) { const getImgUrl = computed(() => { if (imageLoadError.value) return noImage const image = props.media?.image || '' - return `${import.meta.env.VITE_API_BASE_URL}system/img/0?imgurl=${encodeURIComponent(image)}` + let url = `${import.meta.env.VITE_API_BASE_URL}system/img/0?imgurl=${encodeURIComponent(image)}` + const cookies = props.media?.cookies + if (cookies) + url += `&cookies=${encodeURIComponent(cookies)}` + return url }) // 跳转播放 From ebdd0366540861aabab77c74b76682e047d3685d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=99=AF=E5=A4=A7=E4=BE=A0?= Date: Wed, 5 Nov 2025 15:15:18 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E9=81=BF=E5=85=8D=E9=A3=9E=E7=89=9B?= =?UTF-8?q?=E5=AA=92=E4=BD=93=E5=BA=93=E7=9A=84=E5=9B=BE=E7=89=87=E5=9C=B0?= =?UTF-8?q?=E5=9D=80=E6=90=BA=E5=B8=A6=E6=95=8F=E6=84=9F=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/types.ts | 8 ++++---- src/components/cards/BackdropCard.vue | 3 ++- src/components/cards/LibraryCard.vue | 10 ++++++---- src/components/cards/PosterCard.vue | 3 ++- 4 files changed, 14 insertions(+), 10 deletions(-) diff --git a/src/api/types.ts b/src/api/types.ts index 198bc106..1fba1c1b 100644 --- a/src/api/types.ts +++ b/src/api/types.ts @@ -992,8 +992,8 @@ export interface MediaServerPlayItem { percent?: number // 媒体服务器类型 server_type?: string - // 飞牛的图片需要Cookies - cookies?: string + // 图片是否需要Cookies + cookies?: boolean } // 媒体服务器媒体库 @@ -1016,8 +1016,8 @@ export interface MediaServerLibrary { link?: string // 媒体服务器类型 server_type?: string - // 飞牛的图片需要Cookies - cookies?: string + // 图片是否需要Cookies + cookies?: boolean } // 消息通知 diff --git a/src/components/cards/BackdropCard.vue b/src/components/cards/BackdropCard.vue index 9c711847..bc7bbfaa 100644 --- a/src/components/cards/BackdropCard.vue +++ b/src/components/cards/BackdropCard.vue @@ -28,8 +28,9 @@ const getImgUrl = computed(() => { const image = props.media?.image || '' let url = `${import.meta.env.VITE_API_BASE_URL}system/img/0?imgurl=${encodeURIComponent(image)}` const cookies = props.media?.cookies - if (cookies) + if (cookies) { url += `&cookies=${encodeURIComponent(cookies)}` + } return url }) diff --git a/src/components/cards/LibraryCard.vue b/src/components/cards/LibraryCard.vue index e5d390cb..a19d9188 100644 --- a/src/components/cards/LibraryCard.vue +++ b/src/components/cards/LibraryCard.vue @@ -52,16 +52,17 @@ async function goPlay() { } // 生成图片代理路径 -function getImgUrl(url: string, cookies?: string) { +function getImgUrl(url: string, cookies?: boolean) { if (!url) return getDefaultImage() let imgurl = `${import.meta.env.VITE_API_BASE_URL}system/img/0?imgurl=${encodeURIComponent(url)}` - if (cookies) + if (cookies) { imgurl += `&cookies=${encodeURIComponent(cookies)}` + } return imgurl } // 根据多张图片生成媒体库封面 -async function drawImages(imageList: string[], cookies?: string) { +async function drawImages(imageList: string[], cookies?: boolean) { // 图片 const IMAGES = imageList if (IMAGES.length === 0) return getDefaultImage() @@ -69,8 +70,9 @@ async function drawImages(imageList: string[], cookies?: string) { // 为所有图片添加system/img前缀 for (let i = 0; i < IMAGES.length; i++) { IMAGES[i] = `${import.meta.env.VITE_API_BASE_URL}system/img/0?imgurl=${encodeURIComponent(IMAGES[i])}` - if (cookies) + if (cookies) { IMAGES[i] += `&cookies=${encodeURIComponent(cookies)}` + } } // canvas diff --git a/src/components/cards/PosterCard.vue b/src/components/cards/PosterCard.vue index 18fd13a8..27261039 100644 --- a/src/components/cards/PosterCard.vue +++ b/src/components/cards/PosterCard.vue @@ -30,8 +30,9 @@ const getImgUrl = computed(() => { const image = props.media?.image || '' let url = `${import.meta.env.VITE_API_BASE_URL}system/img/0?imgurl=${encodeURIComponent(image)}` const cookies = props.media?.cookies - if (cookies) + if (cookies) { url += `&cookies=${encodeURIComponent(cookies)}` + } return url }) From 2597f893cdb9fe4dcd28a2090a1d2f516bd84b40 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=99=AF=E5=A4=A7=E4=BE=A0?= Date: Wed, 5 Nov 2025 15:26:34 +0800 Subject: [PATCH 3/3] rename --- src/api/types.ts | 4 ++-- src/components/cards/BackdropCard.vue | 6 +++--- src/components/cards/LibraryCard.vue | 16 ++++++++-------- src/components/cards/PosterCard.vue | 6 +++--- 4 files changed, 16 insertions(+), 16 deletions(-) diff --git a/src/api/types.ts b/src/api/types.ts index 1fba1c1b..bfda6a29 100644 --- a/src/api/types.ts +++ b/src/api/types.ts @@ -993,7 +993,7 @@ export interface MediaServerPlayItem { // 媒体服务器类型 server_type?: string // 图片是否需要Cookies - cookies?: boolean + use_cookies?: boolean } // 媒体服务器媒体库 @@ -1017,7 +1017,7 @@ export interface MediaServerLibrary { // 媒体服务器类型 server_type?: string // 图片是否需要Cookies - cookies?: boolean + use_cookies?: boolean } // 消息通知 diff --git a/src/components/cards/BackdropCard.vue b/src/components/cards/BackdropCard.vue index bc7bbfaa..a19bdbe1 100644 --- a/src/components/cards/BackdropCard.vue +++ b/src/components/cards/BackdropCard.vue @@ -27,9 +27,9 @@ async function goPlay() { const getImgUrl = computed(() => { const image = props.media?.image || '' let url = `${import.meta.env.VITE_API_BASE_URL}system/img/0?imgurl=${encodeURIComponent(image)}` - const cookies = props.media?.cookies - if (cookies) { - url += `&cookies=${encodeURIComponent(cookies)}` + const use_cookies = props.media?.use_cookies + if (use_cookies) { + url += `&use_cookies=${encodeURIComponent(use_cookies)}` } return url }) diff --git a/src/components/cards/LibraryCard.vue b/src/components/cards/LibraryCard.vue index a19d9188..2ee27d58 100644 --- a/src/components/cards/LibraryCard.vue +++ b/src/components/cards/LibraryCard.vue @@ -52,17 +52,17 @@ async function goPlay() { } // 生成图片代理路径 -function getImgUrl(url: string, cookies?: boolean) { +function getImgUrl(url: string, use_cookies?: boolean) { if (!url) return getDefaultImage() let imgurl = `${import.meta.env.VITE_API_BASE_URL}system/img/0?imgurl=${encodeURIComponent(url)}` - if (cookies) { - imgurl += `&cookies=${encodeURIComponent(cookies)}` + if (use_cookies) { + imgurl += `&use_cookies=${encodeURIComponent(use_cookies)}` } return imgurl } // 根据多张图片生成媒体库封面 -async function drawImages(imageList: string[], cookies?: boolean) { +async function drawImages(imageList: string[], use_cookies?: boolean) { // 图片 const IMAGES = imageList if (IMAGES.length === 0) return getDefaultImage() @@ -70,8 +70,8 @@ async function drawImages(imageList: string[], cookies?: boolean) { // 为所有图片添加system/img前缀 for (let i = 0; i < IMAGES.length; i++) { IMAGES[i] = `${import.meta.env.VITE_API_BASE_URL}system/img/0?imgurl=${encodeURIComponent(IMAGES[i])}` - if (cookies) { - IMAGES[i] += `&cookies=${encodeURIComponent(cookies)}` + if (use_cookies) { + IMAGES[i] += `&use_cookies=${encodeURIComponent(use_cookies)}` } } @@ -145,8 +145,8 @@ async function drawImages(imageList: string[], cookies?: boolean) { onMounted(async () => { if (props.media?.image_list && props.media?.image_list.length > 0) - imgUrl.value = await drawImages(props.media?.image_list || [], props.media?.cookies) - else imgUrl.value = getImgUrl(props.media?.image || '', props.media?.cookies) + imgUrl.value = await drawImages(props.media?.image_list || [], props.media?.use_cookies) + else imgUrl.value = getImgUrl(props.media?.image || '', props.media?.use_cookies) }) diff --git a/src/components/cards/PosterCard.vue b/src/components/cards/PosterCard.vue index 27261039..6dfaaee5 100644 --- a/src/components/cards/PosterCard.vue +++ b/src/components/cards/PosterCard.vue @@ -29,9 +29,9 @@ const getImgUrl = computed(() => { if (imageLoadError.value) return noImage const image = props.media?.image || '' let url = `${import.meta.env.VITE_API_BASE_URL}system/img/0?imgurl=${encodeURIComponent(image)}` - const cookies = props.media?.cookies - if (cookies) { - url += `&cookies=${encodeURIComponent(cookies)}` + const use_cookies = props.media?.use_cookies + if (use_cookies) { + url += `&use_cookies=${encodeURIComponent(use_cookies)}` } return url })