diff --git a/src/components.d.ts b/src/components.d.ts index 9d3790b..ff637fb 100644 --- a/src/components.d.ts +++ b/src/components.d.ts @@ -35,6 +35,7 @@ declare module 'vue' { NPopconfirm: typeof import('naive-ui')['NPopconfirm'] NScrollbar: typeof import('naive-ui')['NScrollbar'] NSpace: typeof import('naive-ui')['NSpace'] + NSwitch: typeof import('naive-ui')['NSwitch'] NTag: typeof import('naive-ui')['NTag'] NText: typeof import('naive-ui')['NText'] NTime: typeof import('naive-ui')['NTime'] diff --git a/src/views/ManageLayout.vue b/src/views/ManageLayout.vue index 19a20a9..95fdae9 100644 --- a/src/views/ManageLayout.vue +++ b/src/views/ManageLayout.vue @@ -66,6 +66,9 @@ const route = useRoute() const windowWidth = window.innerWidth const themeType = useStorage('Settings.Theme', ThemeType.Auto) +// 收藏功能相关 +const favoriteMenuItems = useStorage('Settings.FavoriteMenuItems', []) + // 侧边栏和布局相关 const sider = ref() const { width } = useElementSize(sider) diff --git a/src/views/manage/DashboardView.vue b/src/views/manage/DashboardView.vue index d7c1c9d..266eee1 100644 --- a/src/views/manage/DashboardView.vue +++ b/src/views/manage/DashboardView.vue @@ -29,6 +29,7 @@ import { useMessage } from 'naive-ui' import { onUnmounted, ref } from 'vue' +import { useRouteQuery } from '@vueuse/router' import VueTurnstile from 'vue-turnstile' import SettingPaymentView from './Setting_PaymentView.vue' import SettingsManageView from './SettingsManageView.vue' @@ -41,6 +42,9 @@ const turnstile = ref() const accountInfo = useAccount() const message = useMessage() +// 使用 useRouteQuery 自动同步 URL 查询参数 +const selectedTab = useRouteQuery('tab', 'info', { transform: String }) + const resetEmailModalVisiable = ref(false) const resetPasswordModalVisiable = ref(false) const bindBiliCodeModalVisiable = ref(false) @@ -311,10 +315,10 @@ onUnmounted(() => { > { - if (route.query.tab) { - selectedTab.value = route.query.setting?.toString() ?? 'general'; - } - if (route.query.template) { - selectedOption.value = route.query.template.toString(); - } + // useRouteQuery 会自动同步,这里可以添加其他激活时的逻辑 }); // 组件挂载时初始化数据 diff --git a/src/views/manage/SongListManageView.vue b/src/views/manage/SongListManageView.vue index c948085..b2bdeef 100644 --- a/src/views/manage/SongListManageView.vue +++ b/src/views/manage/SongListManageView.vue @@ -765,7 +765,6 @@ onMounted(async () => { 添加歌曲