fix tab route

This commit is contained in:
jxxghp
2024-05-31 08:04:27 +08:00
parent e865a5ca62
commit 52e0d3a4bc
5 changed files with 15 additions and 17 deletions
@@ -85,14 +85,14 @@ const superUser = store.state.auth.superUser
:item="{ :item="{
title: '电影', title: '电影',
icon: 'mdi-movie-check-outline', icon: 'mdi-movie-check-outline',
to: '/subscribe-movie', to: '/subscribe-movie/mysub',
}" }"
/> />
<VerticalNavLink <VerticalNavLink
:item="{ :item="{
title: '电视剧', title: '电视剧',
icon: 'mdi-television-classic', icon: 'mdi-television-classic',
to: '/subscribe-tv', to: '/subscribe-tv/mysub',
}" }"
/> />
<VerticalNavLink <VerticalNavLink
@@ -144,7 +144,7 @@ const superUser = store.state.auth.superUser
:item="{ :item="{
title: '插件', title: '插件',
icon: 'mdi-apps', icon: 'mdi-apps',
to: '/plugins', to: '/plugins/installed',
}" }"
/> />
<VerticalNavLink <VerticalNavLink
+1 -1
View File
@@ -23,7 +23,7 @@ const activeTab = ref(route.params.tab)
<template> <template>
<div> <div>
<VTabs v-model="activeTab"> <VTabs v-model="activeTab">
<VTab v-for="item in tabs" :value="item.tab"> <VTab v-for="item in tabs" :value="item.tab" :to="'/subscribe-movie/' + item.tab">
<span class="mx-5">{{ item.title }}</span> <span class="mx-5">{{ item.title }}</span>
</VTab> </VTab>
</VTabs> </VTabs>
+1 -1
View File
@@ -23,7 +23,7 @@ const activeTab = ref(route.params.tab)
<template> <template>
<div> <div>
<VTabs v-model="activeTab"> <VTabs v-model="activeTab">
<VTab v-for="item in tabs" :value="item.tab"> <VTab v-for="item in tabs" :value="item.tab" :to="'/subscribe-tv/' + item.tab">
<span class="mx-5">{{ item.title }}</span> <span class="mx-5">{{ item.title }}</span>
</VTab> </VTab>
</VTabs> </VTabs>
+5 -7
View File
@@ -10,8 +10,7 @@ const router = createRouter({
history: createWebHashHistory(import.meta.env.BASE_URL), history: createWebHashHistory(import.meta.env.BASE_URL),
scrollBehavior(to, from, savedPosition) { scrollBehavior(to, from, savedPosition) {
// 如果页面有缓存那么恢复其位置, 否则始终滚动到顶部 // 如果页面有缓存那么恢复其位置, 否则始终滚动到顶部
if (to.meta.keepAlive && savedPosition) if (to.meta.keepAlive && savedPosition) return savedPosition
return savedPosition
return { top: 0 } return { top: 0 }
}, },
routes: [ routes: [
@@ -43,14 +42,14 @@ const router = createRouter({
}, },
}, },
{ {
path: 'subscribe-movie', path: 'subscribe-movie/:tab',
component: () => import('../pages/subscribe-movie.vue'), component: () => import('../pages/subscribe-movie.vue'),
meta: { meta: {
requiresAuth: true, requiresAuth: true,
}, },
}, },
{ {
path: 'subscribe-tv', path: 'subscribe-tv/:tab',
component: () => import('../pages/subscribe-tv.vue'), component: () => import('../pages/subscribe-tv.vue'),
meta: { meta: {
requiresAuth: true, requiresAuth: true,
@@ -85,7 +84,7 @@ const router = createRouter({
}, },
}, },
{ {
path: 'plugins', path: 'plugins/:tab',
component: () => import('../pages/plugin.vue'), component: () => import('../pages/plugin.vue'),
meta: { meta: {
requiresAuth: true, requiresAuth: true,
@@ -165,8 +164,7 @@ router.beforeEach((to, from, next) => {
if (to.meta.requiresAuth && !isAuthenticated) { if (to.meta.requiresAuth && !isAuthenticated) {
next('/login') next('/login')
} } else {
else {
startNProgress() startNProgress()
next() next()
} }
+5 -5
View File
@@ -25,11 +25,11 @@ const activeTab = ref(route.params.tab)
const tabs = [ const tabs = [
{ {
title: '我的插件', title: '我的插件',
tab: 'myplugin', tab: 'installed',
}, },
{ {
title: '插件市场', title: '插件市场',
tab: 'pluginmarket', tab: 'market',
}, },
] ]
@@ -330,14 +330,14 @@ onBeforeMount(async () => {
<template> <template>
<div> <div>
<VTabs v-model="activeTab"> <VTabs v-model="activeTab">
<VTab v-for="item in tabs" :value="item.tab"> <VTab v-for="item in tabs" :value="item.tab" :to="'/plugins/' + item.tab">
<span class="mx-5">{{ item.title }}</span> <span class="mx-5">{{ item.title }}</span>
</VTab> </VTab>
</VTabs> </VTabs>
<VWindow v-model="activeTab" class="mt-5 disable-tab-transition" :touch="false"> <VWindow v-model="activeTab" class="mt-5 disable-tab-transition" :touch="false">
<!-- 我的插件 --> <!-- 我的插件 -->
<VWindowItem value="myplugin"> <VWindowItem value="installed">
<transition name="fade-slide" appear> <transition name="fade-slide" appear>
<div> <div>
<LoadingBanner v-if="!isRefreshed" class="mt-12" /> <LoadingBanner v-if="!isRefreshed" class="mt-12" />
@@ -363,7 +363,7 @@ onBeforeMount(async () => {
</transition> </transition>
</VWindowItem> </VWindowItem>
<!-- 插件市场 --> <!-- 插件市场 -->
<VWindowItem value="pluginmarket"> <VWindowItem value="market">
<transition name="fade-slide" appear> <transition name="fade-slide" appear>
<div> <div>
<LoadingBanner v-if="!isAppMarketLoaded" class="mt-12" /> <LoadingBanner v-if="!isAppMarketLoaded" class="mt-12" />