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
| import Vue from 'vue'
| import Router from 'vue-router'
| import index from '@/components/index'
| import login from '@/components/login'
| // import ErrorPage from '@/components/ErrorPage'
|
| Vue.use(Router)
|
|
| const routes = [
| {
| path: '/',
| redirect: "login",
| },
| {
| path: '/login',
| name: 'login',
| component: login,
| },
| {
| path: '/index',
| name: 'index',
| component: index
| },
| // {
| // path: '*', // 这里指当之前的路径匹配不到时,就会渲染对应组件
| // components: ErrorPage,
| // name: "ErrorPage"
| // }
| ];
| const router = new Router({
| mode: "history",
| // base: '/SW',//测试版 打包时解开
| base: '/TEST',//测试版 打包时解开
| // base: '/YZXNCS',//正式版 打包时解开
| routes,
| });
| router.beforeEach((to, from, next) => {
| // next();
| // 去登录页,直接跳转
| if (to.path === "/login") {
| next();
| } else {
| //去index,判断token
| let token = localStorage.getItem("TokenKey");
| if (token === null || token === "") { // 没有token,去登陆页
| next("/login");
| } else {
| // 有token,判断超时
| let TokenTime = window.localStorage.getItem("TokenTime");
| let nowTime = new Date().getTime()
| if (nowTime - TokenTime > 60 * 60 * 1000) { // 超过60分钟,去登陆页
| next("/login");
| localStorage.removeItem("TokenKey");
| localStorage.removeItem("TokenTime");
| } else {
| // 去index,有token,没过期,进入系统
| next();
| }
| }
| }
| })
| export default router;
|
|