From b14e927e6cd61bb5e637ec2eaaffac94fa96434b Mon Sep 17 00:00:00 2001 From: jxxghp Date: Thu, 6 Feb 2025 18:04:49 +0800 Subject: [PATCH] =?UTF-8?q?feat=EF=BC=9A=E6=94=AF=E6=8C=81=E6=8E=A2?= =?UTF-8?q?=E7=B4=A2=E6=89=A9=E5=B1=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/types.ts | 14 ++++++++++ src/pages/discover.vue | 36 ++++++++++++++++++++++++++ src/views/discover/ExtraSourceView.vue | 30 +++++++++++++++++++++ 3 files changed, 80 insertions(+) create mode 100644 src/views/discover/ExtraSourceView.vue diff --git a/src/api/types.ts b/src/api/types.ts index 5192a0af..7a621b9b 100644 --- a/src/api/types.ts +++ b/src/api/types.ts @@ -1204,3 +1204,17 @@ export interface TransferQueue { state: string }[] } + +// 探索的数据源 +export interface DiscoverSource { + // 数据源名称 + name: string + // 媒体ID的前缀,不含: + mediaid_prefix: string + // 媒体数据源API地址 + api_path: string + // 过滤参数 + filter_params: { [key: string]: any } + // 过滤参数UI配置 + filter_ui: RenderProps[] +} diff --git a/src/pages/discover.vue b/src/pages/discover.vue index a8a2d3c4..dc8a7a3f 100644 --- a/src/pages/discover.vue +++ b/src/pages/discover.vue @@ -4,6 +4,9 @@ import router from '@/router' import TheMovieDbView from '@/views/discover/TheMovieDbView.vue' import DoubanView from '@/views/discover/DoubanView.vue' import BangumiView from '@/views/discover/BangumiView.vue' +import ExtraSourceView from '@/views/discover/ExtraSourceView.vue' +import { DiscoverSource } from '@/api/types' +import api from '@/api' const route = useRoute() const activeTab = ref(route.query.tab) @@ -11,6 +14,22 @@ const activeTab = ref(route.query.tab) function jumpTab(tab: string) { router.push('/subscribe/discover?tab=' + tab) } + +// 额外的数据源 +const extraDiscoverSources = ref([]) + +// 加载额外的发现数据源 +async function loadExtraDiscoverSources() { + try { + extraDiscoverSources.value = await api.get('discover/source') + } catch (error) { + console.log(error) + } +} + +onMounted(async () => { + await loadExtraDiscoverSources() +}) diff --git a/src/views/discover/ExtraSourceView.vue b/src/views/discover/ExtraSourceView.vue new file mode 100644 index 00000000..034e828b --- /dev/null +++ b/src/views/discover/ExtraSourceView.vue @@ -0,0 +1,30 @@ + + +