# Vue3 配置路由拦截
# 一、概述
我们的网页需要用户登录后才可以进行显示,不然将其拦截到登录页面。
登录成功后,前端的 header
加上 token
值。如果 token
值为空,说明未登录。
# 二、设置路由守卫
import {createRouter, createWebHistory} from 'vue-router'
import routes from './routes' // 导入 router 目录下的 router.js 配置路径和组件的
import { ElMessage } from "element-plus";
const router = createRouter({
history: createWebHistory(process.env.BASE_URL),
routes
})
/**
* 全局前置路由守卫
*/
router.beforeEach((to, from, next) => {
if (to.path == '/user/login' || to.path == '/user/register') {
// 登录或者注册才可以往下进行
next();
} else {
// 获取 token
const token = localStorage.getItem('Authorization');
// token 不存在
if (token === null || token === '') {
ElMessage.error('您还没有登录,请先登录');
next('/user/login');
} else {
next();
}
}
});
export default router;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30