From 4b7b5ff8a4ee6c362089545a351d8a14889330f6 Mon Sep 17 00:00:00 2001 From: jxxghp Date: Thu, 20 Nov 2025 19:37:33 +0800 Subject: [PATCH] fix #397 --- src/components/dialog/AddDownloadDialog.vue | 90 +++++++++++++++++++++ src/locales/en-US.ts | 2 + src/locales/zh-CN.ts | 2 + src/locales/zh-TW.ts | 2 + 4 files changed, 96 insertions(+) diff --git a/src/components/dialog/AddDownloadDialog.vue b/src/components/dialog/AddDownloadDialog.vue index 68d4f79f..039d6893 100644 --- a/src/components/dialog/AddDownloadDialog.vue +++ b/src/components/dialog/AddDownloadDialog.vue @@ -6,10 +6,20 @@ import type { DownloaderConf, MediaInfo, TorrentInfo, TransferDirectoryConf } fr import { formatFileSize } from '@/@core/utils/formatters' import { VCardTitle, VChip } from 'vuetify/lib/components/index.mjs' import { useI18n } from 'vue-i18n' +import MediaIdSelector from '../misc/MediaIdSelector.vue' +import { numberValidator } from '@/@validators' +import { useGlobalSettingsStore } from '@/stores' // 多语言支持 const { t } = useI18n() +// 从 provide 中获取全局设置 +const globalSettingsStore = useGlobalSettingsStore() +const globalSettings = globalSettingsStore.globalSettings + +// 当前识别类型 +const mediaSource = ref(globalSettings.RECOGNIZE_SOURCE || 'themoviedb') + // 输入参数 const props = defineProps({ title: String, @@ -38,6 +48,18 @@ const directories = ref([]) // 是否正在加载 const loading = ref(false) +// 是否显示高级选项 +const showAdvancedOptions = ref(false) + +// TMDB ID +const tmdbid = ref(undefined) + +// 豆瓣ID +const doubanId = ref(undefined) + +// TMDB选择对话框 +const mediaSelectorDialog = ref(false) + // 计算按钮图标 const icon = computed(() => (loading.value ? 'mdi-progress-download' : 'mdi-download')) @@ -96,6 +118,14 @@ async function addDownload() { payload.media_in = props.media } + // 添加媒体ID辅助识别 + if (tmdbid.value) { + payload.tmdbid = tmdbid.value + } + if (doubanId.value) { + payload.doubanid = doubanId.value + } + const endpoint = props.media ? 'download/' : 'download/add' result = await api.post(endpoint, payload) @@ -202,6 +232,56 @@ onMounted(() => { /> + + + + {{ + showAdvancedOptions + ? t('dialog.addDownload.hideAdvancedOptions') + : t('dialog.addDownload.showAdvancedOptions') + }} + + + + + + + + + @@ -209,5 +289,15 @@ onMounted(() => { + + + + + diff --git a/src/locales/en-US.ts b/src/locales/en-US.ts index 368dc2fd..870262ab 100644 --- a/src/locales/en-US.ts +++ b/src/locales/en-US.ts @@ -1914,6 +1914,8 @@ export default { startDownload: 'Start Download', downloadSuccess: '{site} {title} downloaded successfully!', downloadFailed: '{site} {title} download failed: {message}!', + showAdvancedOptions: 'Show Advanced Options', + hideAdvancedOptions: 'Hide Advanced Options', }, subscribeShare: { shareSubscription: 'Share Subscription', diff --git a/src/locales/zh-CN.ts b/src/locales/zh-CN.ts index a7d8b8b4..92a6fb31 100644 --- a/src/locales/zh-CN.ts +++ b/src/locales/zh-CN.ts @@ -1890,6 +1890,8 @@ export default { startDownload: '开始下载', downloadSuccess: '{site} {title} 下载成功!', downloadFailed: '{site} {title} 下载失败:{message}!', + showAdvancedOptions: '显示高级选项', + hideAdvancedOptions: '隐藏高级选项', }, subscribeShare: { shareSubscription: '分享订阅', diff --git a/src/locales/zh-TW.ts b/src/locales/zh-TW.ts index ac1a68a7..1dcc4be9 100644 --- a/src/locales/zh-TW.ts +++ b/src/locales/zh-TW.ts @@ -1876,6 +1876,8 @@ export default { startDownload: '開始下載', downloadSuccess: '{site} {title} 下載成功!', downloadFailed: '{site} {title} 下載失敗:{message}!', + showAdvancedOptions: '顯示高級選項', + hideAdvancedOptions: '隱藏高級選項', }, subscribeShare: { shareSubscription: '分享訂閱',