mirror of
https://github.com/jxxghp/MoviePilot-Frontend.git
synced 2026-09-05 07:28:37 +08:00
fix tab route
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -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
@@ -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()
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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" />
|
||||||
|
|||||||
Reference in New Issue
Block a user