路由守卫

This commit is contained in:
龚皓 2024-09-30 15:43:01 +08:00
parent d580f303d0
commit 376981cf5e
1 changed files with 24 additions and 1 deletions

View File

@ -4,6 +4,7 @@ import router from './router';
import ElementPlus from 'element-plus';
import 'element-plus/dist/index.css';
import zhCn from 'element-plus/es/locale/lang/zh-cn';
// import axiosInstance from '@/utils/axios-config';
import axios from 'axios';
import '@/assets/global.css'
@ -11,7 +12,29 @@ import '@/assets/global.css'
const app = createApp(App)
app.provide('axios', axios);
// app.provide('axios', axiosInstance);
app.use(ElementPlus, { locale: zhCn });
app.use (router)
// 导航守卫,检查登录状态
router.beforeEach((to, from, next) => {
const token = localStorage.getItem('alertToken'); // 检查 token 是否存在,作为是否登录的依据
if (to.matched.some(record => record.meta.requiresAuth)) {
// 该路由需要认证
if (!token) {
// 如果没有 token重定向到登录页面
next({
path: '/login',
query: { redirect: to.fullPath } // 将当前路径传递给登录页面,登录后可以重定向回来
});
} else {
// 已登录,继续访问
next();
}
} else {
// 不需要认证,继续访问
next();
}
});
app.mount('#app')