From c46c971e6438082531b3754cc8af4c286d49dc54 Mon Sep 17 00:00:00 2001 From: huangjianwu Date: Mon, 23 Mar 2026 15:56:48 +0800 Subject: [PATCH] =?UTF-8?q?fix(ui):=20Banner=20=E5=B0=81=E9=9D=A2=E9=80=9A?= =?UTF-8?q?=E8=BF=87=E5=90=8E=E7=AB=AF=E4=BB=A3=E7=90=86=E5=8A=A0=E8=BD=BD?= =?UTF-8?q?=EF=BC=8C=E7=A7=BB=E9=99=A4=E6=9D=A5=E6=BA=90=E9=93=BE=E6=8E=A5?= =?UTF-8?q?=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 封面图通过 /image_proxy 代理请求,解决 B 站等 CDN 跨域问题 - 渲染 markdown 时过滤掉开头的「来源链接」行, 该信息已由 VideoBanner 的「原视频」按钮替代 Co-Authored-By: Claude Opus 4.6 --- .../src/pages/HomePage/components/MarkdownViewer.tsx | 3 ++- .../src/pages/HomePage/components/VideoBanner.tsx | 11 +++++++++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/BillNote_frontend/src/pages/HomePage/components/MarkdownViewer.tsx b/BillNote_frontend/src/pages/HomePage/components/MarkdownViewer.tsx index 388d8e6..c66c34b 100644 --- a/BillNote_frontend/src/pages/HomePage/components/MarkdownViewer.tsx +++ b/BillNote_frontend/src/pages/HomePage/components/MarkdownViewer.tsx @@ -233,6 +233,7 @@ const MarkdownViewer: FC = ({ status }) => {
@@ -480,7 +481,7 @@ const MarkdownViewer: FC = ({ status }) => { ), }} > - {selectedContent} + {selectedContent.replace(/^>\s*来源链接:[^\n]*\n*/m, '')}
diff --git a/BillNote_frontend/src/pages/HomePage/components/VideoBanner.tsx b/BillNote_frontend/src/pages/HomePage/components/VideoBanner.tsx index 80a5108..2f06bbb 100644 --- a/BillNote_frontend/src/pages/HomePage/components/VideoBanner.tsx +++ b/BillNote_frontend/src/pages/HomePage/components/VideoBanner.tsx @@ -4,6 +4,7 @@ import type { AudioMeta } from '@/store/taskStore' interface VideoBannerProps { audioMeta?: AudioMeta videoUrl?: string + baseURL?: string } /** 平台 label 映射 */ @@ -14,10 +15,14 @@ const platformLabel: Record = { xiaohongshu: '小红书', } -export default function VideoBanner({ audioMeta, videoUrl }: VideoBannerProps) { +export default function VideoBanner({ audioMeta, videoUrl, baseURL = '' }: VideoBannerProps) { if (!audioMeta) return null - const coverUrl = audioMeta.cover_url + const rawCover = audioMeta.cover_url + // 通过后端代理加载封面,避免跨域/Referrer 限制 + const coverUrl = rawCover + ? `${baseURL}/image_proxy?url=${encodeURIComponent(rawCover)}` + : '' const title = audioMeta.title const uploader = audioMeta.raw_info?.uploader || '' const platform = platformLabel[audioMeta.platform] || audioMeta.platform || '' @@ -31,6 +36,7 @@ export default function VideoBanner({ audioMeta, videoUrl }: VideoBannerProps) { ) : ( @@ -45,6 +51,7 @@ export default function VideoBanner({ audioMeta, videoUrl }: VideoBannerProps) { {title} )}