router.js
1.82 KB
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
import Vue from 'vue'
import Router from 'vue-router'
import Index from './pages/index/index.vue'
Vue.use(Router)
/**
* 重写路由的push方法
*/
const routerPush = Router.prototype.push
Router.prototype.push = function push(location) {
return routerPush.call(this, location).catch(error => error)
}
const routes = [
{
path: '/',
name: 'index',
component: Index,
meta: {
title: '平安人寿保险官网'
}
},
{
path: '/profile',
name: 'profile',
component: () => import('./pages/profile/profile.vue'),
meta: {
title: '公司简介'
}
},
{
path: '/terms',
name: 'terms',
component: () => import('./pages/terms/terms.vue'),
meta: {
title: '使用条款'
}
},
{
path: '/privacy',
name: 'privacy',
component: () => import('./pages/privacy/privacy.vue'),
meta: {
title: '隐私政策'
}
},
{
path: '/protocol',
name: 'protocol',
component: () => import('./pages/protocol/protocol.vue'),
meta: {
title: '平安壹賬通會員服務協議'
}
},
{
path: '/news/detail',
name: 'newsDetail',
component: () => import('./pages/news-detail/news-detail.vue'),
meta: {
title: ''
}
},
{
path: '/demo',
name: 'demo',
component: () => import('./pages/demo/index.vue'),
meta: {
title: ''
}
},
{
path: '/about',
name: 'about',
component: () => import('./pages/About.vue'),
meta: {
title: ''
}
},
// 404页面
{
path: '*', // * 表示上面路径匹配不到的都显示这个页面
name: '404',
component: Index
},
]
// add route path
routes.forEach(route => {
route.path = route.path || '/' + (route.name || '');
});
const router = new Router({
routes,
// mode: 'history',
});
router.beforeEach((to, from, next) => {
const title = to.meta && to.meta.title;
if (title) {
document.title = title;
}
next();
});
export default router;