杨磊
4 天以前 ef37c59e055a990ce247b265b27d3fcef430a243
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
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
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 bookStore from "./modules/bookStore";
import teachingServices from "./modules/teachingServices";
import informationCenterRouter from "./modules/informationCenter";
import aboutUs from "./modules/aboutUs";
import preview from "./modules/preview"
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: "/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: "/personalCenter",
      name: "personalCenter",
      meta: {
        name: "个人中心",
        authentication: true,
      },
      component: () => import("@/views/personalCenter"),
    },
    {
      path: "/authorServices",
      name: "authorServices",
      meta: {
        name: "作者服务",
        authentication: false,
      },
      component: () => import("@/views/authorServices"),
    },
    {
      path: "/bindWeChat",
      name: "bindWeChat",
      meta: {
        name: "绑定微信",
        authentication: true,
      },
      component: () => import("@/views/bindWeChat"),
    },
    {
      path: "/bindWeChatBack",
      name: "bindWeChatBack",
      meta: {
        name: "绑定微信",
        authentication: true,
      },
      component: () => import("@/views/bindWeChat/success"),
    },
    {
      path: "/AdminLogin",
      name: "AdminLogin",
      meta: {
        name: "管理登录",
        noWrapHeadFooter: true,
      },
      component: () => import("@/views/login/adminLogin"),
    },
    ...bookStore,
    ...teachingServices,
    ...informationCenterRouter,
    ...aboutUs,
    ...preview
  ],
},
// 不在主框架内
 
{
  path: "/findPassword",
  name: "findPassword",
  meta: {
    name: "登录",
  },
  component: () => import("@/views/login/findPassword"),
},
];
 
const router = new VueRouter({
  routes,
});
 
export default router;