杨磊
2025-08-07 375513370cc01fcd976987d07797249600b0bb3e
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 Vue from "vue";
import VueRouter from "vue-router";
import HomeLayout from "@/layout";
import Home from "@/views/home";
import Search from "@/views/home/search";
import Detail from "@/views/home/detail";
import baseLayout from "@/layout/base";
const originalPush = VueRouter.prototype.push
VueRouter.prototype.push = function push(location) {
  return originalPush.call(this, location).catch(err => err)
}
 
Vue.use(VueRouter);
 
const routes = [{
    path: "/",
    name: "HomeLayout",
    component: HomeLayout,
    redirect: {
      name: "home"
    },
    children: [
      // 在主框架内
      {
        path: "home",
        name: "home",
        meta: {
          name: "首页",
          authentication: false, // 是否需要登录验证
          keepAlive: false, // 是否需要缓存
        },
        component: baseLayout,
        redirect: {
          name: "index"
        },
        children: [{
            path: "index",
            name: "index",
            meta: {
              name: "首页",
              authentication: false, // 是否需要登录验证
              keepAlive: false, // 是否需要缓存
            },
            component: Home,
          },
          {
            path: "search",
            name: "search",
            meta: {
              name: "首页搜索",
              authentication: false, // 是否需要登录验证
              keepAlive: true, // 是否需要缓存
            },
            component: Search,
          },
          {
            path: "detail",
            name: "detail",
            meta: {
              name: "详情",
              // authentication: false, // 是否需要登录验证
              // keepAlive: true, // 是否需要缓存
            },
            component: Detail,
          },
        ],
      },
      {
        path: "/login",
        name: "login",
        meta: {
          name: "登录",
          authentication: false,
        },
        component: () => import("@/views/login/login"),
      },
      {
        path: "/register",
        name: "register",
        meta: {
          name: "注册",
          authentication: false,
        },
        component: () => import("@/views/login/register"),
      },
    ],
  },
  // 不在主框架内
 
  {
    path: "/findPassword",
    name: "findPassword",
    meta: {
      name: "登录",
    },
    component: () => import("@/views/login/findPassword"),
  },
];
 
const router = new VueRouter({
  routes,
});
 
export default router;