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
| import {
| createRouter,
| createWebHistory,
| createWebHashHistory,
| } from "vue-router";
| import viewgird from "./viewGird";
| import store from "../store/index";
| import redirect from "./redirect";
| import charts from "./charts";
|
| import Layot from "@/layout/index.vue";
|
| const routes = [
| {
| path: "/",
| name: "Index",
| component: Layot,
| redirect: "/index",
| children: [
| ...viewgird,
| ...redirect,
| ...charts,
| {
| path: "/index",
| name: "index",
| component: () => import("@/views/Index.vue"),
| },
| {
| path: "/UserInfo",
| name: "UserInfo",
| component: () => import("@/views/system/UserInfo.vue"),
| },
| {
| path: "/sysMenu",
| name: "sysMenu",
| component: () => import("@/views/system/Sys_Menu.vue"),
| },
| {
| path: "/coder",
| name: "coder",
| component: () => import("@/views/builder/coder.vue"),
| },
| ],
| },
| {
| path: "/login",
| name: "login",
| component: () => import("@/views/Login.vue"),
| meta: {
| anonymous: true,
| },
| },
| {
| path: "/register",
| name: "register",
| component: () => import("@/views/Register.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;
|
|