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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
| import Vue from 'vue'
| import Router from 'vue-router'
| import Login from '@/views/login/login.vue'
| import List from '@/views/voice/list.vue'
| import User from '@/views/user/user.vue'
| import Msg from '@/views/msg/msg.vue'
| import Iframe from '@/views/iframe/iframe.vue'
| import Vant from '@/views/vant.vue'
| import store from '../store/index'
| import {
| isEmpty,
| getCookieValue
| } from '@/utils/utils.js'
|
| Vue.use(Router)
|
| let router = new Router({
| mode: "history",
| routes: [{
| path: '/login',
| name: 'login',
| component: Login
| },
| {
| path: '/list',
| name: 'list',
| meta: {
| requiresAuth: true,
|
| },
| component: List
| },
| {
| path: '/user',
| name: 'user',
| meta: {
| requiresAuth: true,
|
| },
| component: User
| },
| {
| path: '/msg',
| name: 'msg',
| meta: {
| requiresAuth: true,
|
| },
| component: Msg
| },
| {
| path: '/iframe',
| name: 'iframe',
| meta: {
| requiresAuth: true,
| },
| component: Iframe
| },
| {
| path: '/vant',
| name: 'vant',
| component: Vant
| },
| {
| path: "*",
| redirect: "login"
| }
| ]
| })
| router.beforeEach((to, from, next) => {
| const token = JSON.parse(localStorage.getItem("token"));
| const cookie = getCookieValue('ets-app');
| const requiresAuth = to.matched.some(record => record.meta.requiresAuth)
|
|
| // 页面title
| if (to.meta.title) { //判断是否有标题
| // console.log(to.meta.title)
| document.title = to.meta.title
| }
|
| if (isEmpty(cookie)) {
| localStorage.removeItem("token");
| store._actions.set_token[0]({});
| }
|
| // 需要登录
| if (requiresAuth) {
| // 判断cookie是否过期
| if (!isEmpty(cookie) && !isEmpty(token)) {
| next();
| } else {
| // 无token
| next({
| replace: true,
| path: '/login',
| query: {
| redirect: to.path,
| ...to.query
| }
| });
| }
| } else {
| // 无需登录
| next();
| }
| })
| export default router;
|
|