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
| import { createRouter, createWebHistory, createWebHashHistory } from 'vue-router'
| import viewgird from './viewGird'
| import store from '../store/index'
| import redirect from './redirect'
| import charts from './charts'
| const routes = [
| {
| path: '/',
| name: 'Index',
| component: () => import('@/views/Index'),
| redirect: '/home',
| children: [
| ...viewgird,
| ...redirect,
| ...charts,
| {
| path: '/home',
| name: 'home',
| component: () => import('@/views/Home.vue')
| }, {
| path: '/UserInfo',
| name: 'UserInfo',
| component: () => import('@/views/system/UserInfo.vue')
| },
| {
| path: '/sysMenu',
| name: 'sysMenu',
| component: () => import('@/views/system/Sys_Menu.vue')
| }
| ]
| },
| {
| path: '/login',
| name: 'login',
| component: () => import('@/views/Login.vue'),
| meta:{
| anonymous:true
| }
| },
| {
| path: '/bigdata',
| name: 'bigdata',
| component: () => import('@/views/charts/bigdata.vue'),
| meta: {
| keepAlive: false
| }
| }
| ]
|
| const router = createRouter({
| history: createWebHashHistory(), //createWebHistory(process.env.BASE_URL),
| routes
| })
|
|
| router.beforeEach((to, from, next) => {
| if (to.matched.length == 0) return next({ path: '/404' });
| //2020.06.03增加路由切换时加载提示
| store.dispatch("onLoading", true);
| if ((to.hasOwnProperty('meta') && to.meta.anonymous) || store.getters.isLogin() || to.path == '/login') {
| return next();
| }
|
| next({ path: '/login', query: { redirect: Math.random() } });
| })
| router.afterEach((to, from) => {
| store.dispatch("onLoading", false);
| })
| router.onError((error) => {
| // const targetPath = router.currentRoute.value.matched;
| try {
| console.log(error.message);
| if (process.env.NODE_ENV == 'development') {
| alert(error.message)
| }
| localStorage.setItem("route_error", error.message)
| } catch (e) {
|
| }
| window.location.href = '/'
| });
| export default router
|
|