From fc357a03e5843f7d945bb5d193db5a592e5132cf Mon Sep 17 00:00:00 2001 From: jxxghp Date: Wed, 9 Apr 2025 10:39:17 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=9B=B4=E6=96=B0=20HeaderTab=20?= =?UTF-8?q?=E7=BB=84=E4=BB=B6=E4=BB=A5=E6=94=AF=E6=8C=81=E5=8A=A8=E6=80=81?= =?UTF-8?q?=E9=A1=B9=E5=92=8C=E6=8E=92=E5=BA=8F=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/layouts/components/HeaderTab.vue | 10 +- src/pages/dashboard.vue | 105 +++++++++--------- src/pages/discover.vue | 156 ++++++++++++++++++++++++--- src/pages/downloading.vue | 19 ++-- src/pages/recommend.vue | 12 +-- src/pages/subscribe.vue | 2 +- 6 files changed, 208 insertions(+), 96 deletions(-) diff --git a/src/layouts/components/HeaderTab.vue b/src/layouts/components/HeaderTab.vue index ed81aaea..2c2d80d3 100644 --- a/src/layouts/components/HeaderTab.vue +++ b/src/layouts/components/HeaderTab.vue @@ -73,14 +73,14 @@ onUnmounted(() => {
- - {{ category.title }} + + {{ item.title }}
diff --git a/src/pages/dashboard.vue b/src/pages/dashboard.vue index 83054163..47858184 100644 --- a/src/pages/dashboard.vue +++ b/src/pages/dashboard.vue @@ -347,6 +347,7 @@ onDeactivated(() => { 设置仪表板 + @@ -385,7 +386,6 @@ onDeactivated(() => { - 关闭 diff --git a/src/pages/discover.vue b/src/pages/discover.vue index 5a1d00ef..8013cf52 100644 --- a/src/pages/discover.vue +++ b/src/pages/discover.vue @@ -7,6 +7,7 @@ import BangumiView from '@/views/discover/BangumiView.vue' import ExtraSourceView from '@/views/discover/ExtraSourceView.vue' import { DiscoverSource } from '@/api/types' import api from '@/api' +import { or } from '@vueuse/math' const activeTab = ref('') @@ -19,9 +20,19 @@ const orderConfig = ref<{ name: string }[]>([]) // 标签页 const discoverTabs = ref([]) +// 标签页项 +const discoverTabItems = computed(() => { + return discoverTabs.value.map(item => ({ + title: item.name, + })) +}) + // 额外的数据源 const extraDiscoverSources = ref([]) +// 排序对话框 +const orderConfigDialog = ref(false) + // 初始化发现标签 function initDiscoverTabs() { for (const tab of DiscoverTabs) { @@ -85,6 +96,7 @@ async function loadOrderConfig() { // 保存顺序设置 async function saveTabOrder() { + orderConfigDialog.value = false // 顺序配置 const orderObj = discoverTabs.value.map(item => ({ name: item.name })) orderConfig.value = orderObj @@ -106,7 +118,7 @@ onBeforeMount(async () => { sortSubscribeOrder() // 选中第一个标签页 if (discoverTabs.value.length > 0) { - activeTab.value = discoverTabs.value[0].mediaid_prefix + activeTab.value = discoverTabs.value[0].name } }) @@ -114,44 +126,46 @@ onActivated(async () => { await loadExtraDiscoverSources() sortSubscribeOrder() }) - + diff --git a/src/pages/downloading.vue b/src/pages/downloading.vue index 1efd84fc..9d8341e2 100644 --- a/src/pages/downloading.vue +++ b/src/pages/downloading.vue @@ -2,7 +2,6 @@ import api from '@/api' import { DownloaderConf } from '@/api/types' import DownloadingListView from '@/views/reorganize/DownloadingListView.vue' -import router from '@/router' import NoDataFound from '@/components/NoDataFound.vue' const route = useRoute() @@ -11,6 +10,13 @@ const activeTab = ref(route.query.tab) // 下载器 const downloaders = ref([]) +// 下载器字典 +const downloaderItems = computed(() => { + return downloaders.value.map(item => ({ + title: item.name, + })) +}) + // 调用API查询下载器设置 async function loadDownloaderSetting() { try { @@ -22,10 +28,6 @@ async function loadDownloaderSetting() { } } -function jumpTab(tab: string) { - router.push('/subscribe/movie?tab=' + tab) -} - onMounted(async () => { await loadDownloaderSetting() }) @@ -37,12 +39,7 @@ onActivated(async () => {