杨磊
2 天以前 87d2fac9c381de99f75ce6c6c39b7d638b980d7e
src/router/index.js
@@ -1,149 +1,41 @@
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: [
    // 在主框架内
import { createRouter, createWebHashHistory, createWebHistory } from 'vue-router'
import HomeView from '../views/home/index.vue'
import aboutUs from '../views/aboutUs/index.vue'
import bookStore from '../views/bookStore/index.vue'
import bookdetail from '../views/bookStore/detail.vue'
import PageLayout from '../layout/baseLayout.vue'
const router = createRouter({
  history: createWebHashHistory(import.meta.env.BASE_URL),
  routes: [
    {
      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, // 是否需要缓存
      path: '/',
      name: 'layout',
      component: PageLayout,
      redirect: { name: 'home' },
      children: [
        {
          path: '/home',
          name: 'home',
          component: HomeView,
        },
        component: Home,
      },
      {
        path: "search",
        name: "search",
        meta: {
          name: "首页搜索",
          authentication: false, // 是否需要登录验证
          keepAlive: true, // 是否需要缓存
        {
          path: '/aboutUs',
          name: 'aboutUs',
          component: aboutUs,
        },
        component: Search,
      },
        {
          path: '/bookdetail',
          name: 'bookdetail',
          component: bookdetail,
        },
        {
          path: '/bookStore',
          name: 'bookStore',
          component: bookStore,
        },
      ],
    },
    {
      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;
export default router