From 6d05f00dc7512da743171c5087b27720cc950493 Mon Sep 17 00:00:00 2001 From: BTMuli Date: Wed, 8 Apr 2026 19:09:54 +0800 Subject: [PATCH] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20=E9=87=8D=E6=9E=84Bili?= =?UTF-8?q?=E6=8F=92=E4=BB=B6=E8=AF=B7=E6=B1=82=E9=80=BB=E8=BE=91=EF=BC=8C?= =?UTF-8?q?=E5=AE=8C=E5=96=84=E9=94=99=E8=AF=AF=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/viewPost/tp-video.vue | 20 +++-- src/plugins/Bili/request/getNav.ts | 23 ------ src/plugins/Bili/request/getVideoUrl.ts | 20 ++--- src/plugins/Bili/request/getVideoView.ts | 34 ++++----- src/plugins/Bili/types/Base.d.ts | 7 +- src/plugins/Bili/types/Nav.d.ts | 8 +- src/plugins/Bili/types/Video.d.ts | 8 +- src/plugins/Bili/utils.ts | 96 ++++++++++++++++++++++++ src/plugins/Bili/utils/getHeader.ts | 12 --- src/plugins/Bili/utils/getWrid.ts | 62 --------------- 10 files changed, 148 insertions(+), 142 deletions(-) delete mode 100644 src/plugins/Bili/request/getNav.ts create mode 100644 src/plugins/Bili/utils.ts delete mode 100644 src/plugins/Bili/utils/getHeader.ts delete mode 100644 src/plugins/Bili/utils/getWrid.ts diff --git a/src/components/viewPost/tp-video.vue b/src/components/viewPost/tp-video.vue index 684cec68..d6dfe5ca 100644 --- a/src/components/viewPost/tp-video.vue +++ b/src/components/viewPost/tp-video.vue @@ -39,6 +39,8 @@ import showSnackbar from "@comp/func/snackbar.js"; import { saveImgBlob } from "@utils/TGShare.js"; import { getVideoDuration, timestampToDate } from "@utils/toolFunc.js"; import { onMounted, onUnmounted, ref, shallowRef } from "vue"; +import TGHttps from "@utils/TGHttps.js"; +import TGLogger from "@utils/TGLogger.js"; type TpVideo = { insert: { video: string } }; type TpVideoProps = { data: TpVideo }; @@ -47,7 +49,7 @@ const props = defineProps(); const videoAspectRatio = ref(16 / 9); const videoCover = ref(); const videoCoverLink = ref(); -const videoData = shallowRef(); +const videoData = shallowRef(); console.log("tpVideo", props.data.insert.video); @@ -55,9 +57,17 @@ onMounted(async () => { const url = new URL(props.data.insert.video); const aid = url.searchParams.get("aid") ?? undefined; const bvid = url.searchParams.get("bvid") ?? undefined; - videoData.value = await Bili.video.view(aid, bvid); - if (!videoData.value) { - showSnackbar.error(`获取B站视频信息失败:${props.data.insert.video}`); + try { + const viewResp = await Bili.video.view(aid, bvid); + videoData.value = viewResp.data; + } catch (e) { + let errMsg = String(e); + if (TGHttps.isHttpErr(e)) { + errMsg = e.status ? `[${e.status}] ${e.statusText}` : e.message; + } + showSnackbar.error(`获取视频信息失败: ${errMsg}`); + await TGLogger.Error(`[TpVideo][onMounted] 获取视频信息异常: ${url}`); + await TGLogger.Error(`[TpVideo][onMounted] ${e}`); return; } console.log(`videoData ${props.data.insert.video}`, videoData.value); @@ -74,7 +84,7 @@ onUnmounted(() => { } }); -