路由守卫
This commit is contained in:
parent
d580f303d0
commit
376981cf5e
25
src/main.ts
25
src/main.ts
|
@ -4,6 +4,7 @@ import router from './router';
|
||||||
import ElementPlus from 'element-plus';
|
import ElementPlus from 'element-plus';
|
||||||
import 'element-plus/dist/index.css';
|
import 'element-plus/dist/index.css';
|
||||||
import zhCn from 'element-plus/es/locale/lang/zh-cn';
|
import zhCn from 'element-plus/es/locale/lang/zh-cn';
|
||||||
|
// import axiosInstance from '@/utils/axios-config';
|
||||||
import axios from 'axios';
|
import axios from 'axios';
|
||||||
import '@/assets/global.css'
|
import '@/assets/global.css'
|
||||||
|
|
||||||
|
@ -11,7 +12,29 @@ import '@/assets/global.css'
|
||||||
|
|
||||||
const app = createApp(App)
|
const app = createApp(App)
|
||||||
|
|
||||||
app.provide('axios', axios);
|
// app.provide('axios', axiosInstance);
|
||||||
app.use(ElementPlus, { locale: zhCn });
|
app.use(ElementPlus, { locale: zhCn });
|
||||||
app.use (router)
|
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')
|
app.mount('#app')
|
||||||
|
|
Loading…
Reference in New Issue