You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
import type { NavigationGuardNext, RouteLocationNormalized } from 'vue-router' import { useSystemStore } from 'stores/systemStore' import { createRouter, createWebHashHistory } from 'vue-router' import { getToken } from '@/libs/token' import routes from './routes'
const router = createRouter({ history: createWebHashHistory(), routes, })
router.beforeEach((to: RouteLocationNormalized, from: RouteLocationNormalized, next: NavigationGuardNext) => { const systemStore = useSystemStore() if (getToken() && (systemStore.systemStatus.currentUser?.username || import.meta.env.FT_NODE_ENV !== 'prod')) { if (to.name === 'login') { next({ name: from.name }) } else { next() } } else { // 未登录
if (to.name === 'login') { next() } else { next({ name: 'login' }) } } })
export default router
|