diff --git a/src/components/dialog/SubscribeFilesDialog.vue b/src/components/dialog/SubscribeFilesDialog.vue index 321a7c0f..4b0bb039 100644 --- a/src/components/dialog/SubscribeFilesDialog.vue +++ b/src/components/dialog/SubscribeFilesDialog.vue @@ -64,15 +64,19 @@ const subScribeInfo = ref() // 是否加载中 const loading = ref(false) +const loadError = ref(false) + /** * 调用 API 查询订阅文件信息。 */ async function loadSubscribeFilesInfo() { try { loading.value = true + loadError.value = false subScribeInfo.value = await api.get(`subscribe/files/${props.subid}`) } catch (e) { console.log(e) + loadError.value = true } finally { loading.value = false } @@ -294,7 +298,11 @@ const episodeGroups = computed(() => { const totalCount = computed(() => { const subscribeTotal = subscribe.value?.total_episode ?? 0 if (subscribe.value?.type === '电影') return Math.max(episodeGroups.value.length, 1) - return Math.max(subscribeTotal, episodeGroups.value.length) + + // 电视剧以起始集到总集数作为目标范围,自定义起始集需要换算为实际集数。 + const startEpisode = subscribe.value?.start_episode || 1 + const targetCount = subscribeTotal >= startEpisode ? subscribeTotal - startEpisode + 1 : 0 + return Math.max(targetCount, episodeGroups.value.length) }) // 已下载集数 @@ -402,7 +410,15 @@ onBeforeMount(() => {