Merge pull request #398 from cddjr/trimemedia

This commit is contained in:
jxxghp
2025-11-05 23:16:28 +08:00
committed by GitHub
4 changed files with 30 additions and 8 deletions
+4
View File
@@ -992,6 +992,8 @@ export interface MediaServerPlayItem {
percent?: number percent?: number
// 媒体服务器类型 // 媒体服务器类型
server_type?: string server_type?: string
// 图片是否需要Cookies
use_cookies?: boolean
} }
// 媒体服务器媒体库 // 媒体服务器媒体库
@@ -1014,6 +1016,8 @@ export interface MediaServerLibrary {
link?: string link?: string
// 媒体服务器类型 // 媒体服务器类型
server_type?: string server_type?: string
// 图片是否需要Cookies
use_cookies?: boolean
} }
// 消息通知 // 消息通知
+6 -1
View File
@@ -26,7 +26,12 @@ async function goPlay() {
// 计算图片地址 // 计算图片地址
const getImgUrl = computed(() => { const getImgUrl = computed(() => {
const image = props.media?.image || '' 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 use_cookies = props.media?.use_cookies
if (use_cookies) {
url += `&use_cookies=${encodeURIComponent(use_cookies)}`
}
return url
}) })
</script> </script>
+14 -6
View File
@@ -52,20 +52,28 @@ async function goPlay() {
} }
// 生成图片代理路径 // 生成图片代理路径
function getImgUrl(url: string) { function getImgUrl(url: string, use_cookies?: boolean) {
if (!url) return getDefaultImage() 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 (use_cookies) {
imgurl += `&use_cookies=${encodeURIComponent(use_cookies)}`
}
return imgurl
} }
// 根据多张图片生成媒体库封面 // 根据多张图片生成媒体库封面
async function drawImages(imageList: string[]) { async function drawImages(imageList: string[], use_cookies?: boolean) {
// 图片 // 图片
const IMAGES = imageList const IMAGES = imageList
if (IMAGES.length === 0) return getDefaultImage() if (IMAGES.length === 0) return getDefaultImage()
// 为所有图片添加system/img前缀 // 为所有图片添加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])}` IMAGES[i] = `${import.meta.env.VITE_API_BASE_URL}system/img/0?imgurl=${encodeURIComponent(IMAGES[i])}`
if (use_cookies) {
IMAGES[i] += `&use_cookies=${encodeURIComponent(use_cookies)}`
}
}
// canvas // canvas
const canvas = canvasRef.value const canvas = canvasRef.value
@@ -137,8 +145,8 @@ async function drawImages(imageList: string[]) {
onMounted(async () => { onMounted(async () => {
if (props.media?.image_list && props.media?.image_list.length > 0) if (props.media?.image_list && props.media?.image_list.length > 0)
imgUrl.value = await drawImages(props.media?.image_list || []) imgUrl.value = await drawImages(props.media?.image_list || [], props.media?.use_cookies)
else imgUrl.value = getImgUrl(props.media?.image || '') else imgUrl.value = getImgUrl(props.media?.image || '', props.media?.use_cookies)
}) })
</script> </script>
+6 -1
View File
@@ -28,7 +28,12 @@ function getChipColor(type: string) {
const getImgUrl = computed(() => { const getImgUrl = computed(() => {
if (imageLoadError.value) return noImage if (imageLoadError.value) return noImage
const image = props.media?.image || '' 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 use_cookies = props.media?.use_cookies
if (use_cookies) {
url += `&use_cookies=${encodeURIComponent(use_cookies)}`
}
return url
}) })
// 跳转播放 // 跳转播放