Blame view

src/router/index.js 1.32 KB
9b7e125f   monkeyhouyi   属地页面
1
2
3
  
  import Vue from "vue";
  import VueRouter from "vue-router";
0e2463be   monkeyhouyi   系统修改记录
4
  import Layout from '@/views/homePage/HomePage.vue'
477ec56f   monkeyhouyi   权限
5
  import baseRouter from './modules/base'
9b7e125f   monkeyhouyi   属地页面
6
7
8
  
  Vue.use(VueRouter);
  
477ec56f   monkeyhouyi   权限
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
  export const constantRoutes = [
    {
      path: '/404',
      name: '404',
      component: (resolve) => require(['@/views/error-page/404.vue'], resolve),
      hidden: true
    },
    {
      path: '/login',
      component: (resolve) => require(['@/views/Login.vue'], resolve),
      hidden: true
    },
    {
      path: '',
      name: 'homePage',
      component: Layout,
      children: [
        {
          path: '/homePage',
          name: 'homePage',
          component: (resolve) => require(['@/views/overView/Overview.vue'], resolve),
          meta: { title: '首页', icon: 'dashboard', affix: true },
        },
      ],
      hidden: true
    },
    ...baseRouter
  ]
  
  const createRouter = () => {
    return new VueRouter({
      mode: 'hash', // 使用 hash 模式
      routes: constantRoutes
    });
  }
  
  const originalPush = VueRouter.prototype.push
  VueRouter.prototype.push = function push(location) {
    return originalPush.call(this, location).catch(err => {
      if (err && err.name != 'NavigationDuplicated') this.replace('/404')
    })
  }
  
  const router = createRouter();
  
  export function resetRouter() {
    const newRouter = createRouter()
    router.matcher = newRouter.matcher // reset router
  }
9b7e125f   monkeyhouyi   属地页面
58
59
  
  export default router;