2019-03-04 15:28:16 +08:00
|
|
|
|
import Vue from 'vue';
|
|
|
|
|
import Router from 'vue-router';
|
|
|
|
|
|
2019-04-08 21:47:23 +08:00
|
|
|
|
import { getAccessToken } from '../utils/cache';
|
|
|
|
|
|
2019-03-04 15:28:16 +08:00
|
|
|
|
Vue.use(Router);
|
|
|
|
|
|
|
|
|
|
const routes = [
|
|
|
|
|
{
|
|
|
|
|
path: '*',
|
|
|
|
|
redirect: '/home'
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name: 'home',
|
|
|
|
|
component: () => import('../page/index'),
|
|
|
|
|
meta: {
|
|
|
|
|
title: '首页'
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
path: '/login',
|
|
|
|
|
component: () => import('../page/account/phonelogin'),
|
|
|
|
|
meta: {
|
2019-03-28 19:19:04 +08:00
|
|
|
|
title: '登录'
|
2019-03-04 15:28:16 +08:00
|
|
|
|
}
|
|
|
|
|
},
|
2019-03-28 19:19:04 +08:00
|
|
|
|
// {
|
|
|
|
|
// path: '/login/password',
|
|
|
|
|
// component: () => import('../page/account/password'),
|
|
|
|
|
// meta: {
|
|
|
|
|
// title: '登录'
|
|
|
|
|
// }
|
|
|
|
|
// },
|
|
|
|
|
// {
|
|
|
|
|
// path: '/login/phone',
|
|
|
|
|
// component: () => import('../page/account/phonelogin'),
|
|
|
|
|
// meta: {
|
|
|
|
|
// title: '手机号登录'
|
|
|
|
|
// }
|
|
|
|
|
// },
|
|
|
|
|
// {
|
|
|
|
|
// path: '/login/register',
|
|
|
|
|
// component: () => import('../page/account/register'),
|
|
|
|
|
// meta: {
|
|
|
|
|
// title: '注册'
|
|
|
|
|
// }
|
|
|
|
|
// },
|
2019-03-04 15:28:16 +08:00
|
|
|
|
{
|
|
|
|
|
path: '/user/index',
|
|
|
|
|
component: () => import('../page/user/index'),
|
|
|
|
|
name: 'user',
|
|
|
|
|
meta: {
|
|
|
|
|
title: '会员中心'
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
path: '/user/info',
|
|
|
|
|
component: () => import('../page/user/info/detail'),
|
|
|
|
|
name: 'user',
|
|
|
|
|
meta: {
|
2019-04-11 19:49:58 +08:00
|
|
|
|
title: '个人信息',
|
|
|
|
|
requireAuth: true,
|
2019-03-04 15:28:16 +08:00
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
path: '/user/address',
|
|
|
|
|
component: () => import('../page/user/address/list'),
|
|
|
|
|
meta: {
|
|
|
|
|
title: '我的地址'
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
path: '/user/address/edit',
|
|
|
|
|
component: () => import('../page/user/address/edit'),
|
|
|
|
|
meta: {
|
|
|
|
|
title: '修改地址'
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
path: '/user/favorite',
|
|
|
|
|
component: () => import('../page/user/favorite/list'),
|
|
|
|
|
meta: {
|
|
|
|
|
title: '我的收藏'
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
path: '/user/coupon',
|
|
|
|
|
component: () => import('../page/user/coupon/list'),
|
|
|
|
|
meta: {
|
2019-04-08 21:47:23 +08:00
|
|
|
|
title: '我的优惠券',
|
|
|
|
|
requireAuth: true,
|
2019-03-04 15:28:16 +08:00
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
path: '/user/order',
|
|
|
|
|
component: () => import('../page/user/order/list'),
|
|
|
|
|
meta: {
|
|
|
|
|
title: '我的订单'
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
path: '/user/order/:id',
|
|
|
|
|
component: () => import('../page/user/order/list'),
|
|
|
|
|
meta: {
|
|
|
|
|
title: '我的订单'
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
path: '/user/order/info/:id',
|
|
|
|
|
component: () => import('../page/user/order/info'),
|
|
|
|
|
meta: {
|
|
|
|
|
title: '我的订单'
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
path: '/user/order/logistics/:id',
|
|
|
|
|
component: () => import('../page/user/order/logistics'),
|
|
|
|
|
meta: {
|
|
|
|
|
title: '订单追踪'
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
path: '/user/aftersale',
|
|
|
|
|
component: () => import('../page/user/aftersale/list'),
|
|
|
|
|
meta: {
|
|
|
|
|
title: '售后'
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
path: '/user/aftersale/apply',
|
|
|
|
|
component: () => import('../page/user/aftersale/apply'),
|
|
|
|
|
meta: {
|
|
|
|
|
title: '申请售后'
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
path: '/user/aftersale/detail',
|
|
|
|
|
component: () => import('../page/user/aftersale/detail'),
|
|
|
|
|
meta: {
|
|
|
|
|
title: '服务单详情'
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
path: '/user/aftersale/track/:id',
|
|
|
|
|
component: () => import('../page/user/aftersale/track'),
|
|
|
|
|
meta: {
|
|
|
|
|
title: '进度详情'
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
path: '/product/:id',
|
|
|
|
|
component: () => import('../page/product/detail'),
|
|
|
|
|
meta: {
|
|
|
|
|
title: '商品详情'
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
2019-03-26 00:27:25 +08:00
|
|
|
|
path: '/product/search',
|
|
|
|
|
component: () => import('../page/product/search'),
|
|
|
|
|
meta: {
|
|
|
|
|
title: '商品搜索'
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
path: '/products/list',
|
2019-03-04 15:28:16 +08:00
|
|
|
|
component: () => import('../page/product/list'),
|
|
|
|
|
meta: {
|
|
|
|
|
title: '商品列表'
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name: 'cart',
|
|
|
|
|
component: () => import('../page/cart/index'),
|
|
|
|
|
meta: {
|
|
|
|
|
title: '购物车'
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
path: '/order',
|
|
|
|
|
component: () => import('../page/shipping/order'),
|
|
|
|
|
meta: {
|
2019-04-11 19:49:58 +08:00
|
|
|
|
title: '确认订单',
|
|
|
|
|
requireAuth: true,
|
2019-03-04 15:28:16 +08:00
|
|
|
|
}
|
|
|
|
|
},
|
2019-04-08 23:17:14 +08:00
|
|
|
|
{
|
|
|
|
|
path: '/order/success',
|
|
|
|
|
component: () => import('../page/shipping/order-success'),
|
|
|
|
|
meta: {
|
|
|
|
|
title: '确认订单'
|
|
|
|
|
}
|
|
|
|
|
},
|
2019-03-04 15:28:16 +08:00
|
|
|
|
{
|
|
|
|
|
name: 'category',
|
|
|
|
|
component: () => import('../page/category/index'),
|
|
|
|
|
meta: {
|
|
|
|
|
title: '分类'
|
|
|
|
|
}
|
|
|
|
|
},
|
2019-04-07 02:34:45 +08:00
|
|
|
|
{
|
|
|
|
|
path: '/coupon/fetch',
|
|
|
|
|
component: () => import('../page/coupon/fetch'),
|
|
|
|
|
meta: {
|
|
|
|
|
title: '优惠劵领取'
|
|
|
|
|
}
|
|
|
|
|
}
|
2019-03-04 15:28:16 +08:00
|
|
|
|
];
|
|
|
|
|
|
|
|
|
|
// add route path
|
|
|
|
|
routes.forEach(route => {
|
|
|
|
|
route.path = route.path || '/' + (route.name || '');
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
const router = new Router({ routes });
|
|
|
|
|
|
|
|
|
|
router.beforeEach((to, from, next) => {
|
2019-04-08 21:47:23 +08:00
|
|
|
|
// 判断是否需要认证
|
|
|
|
|
const requireAuth = to.meta && to.meta.requireAuth;
|
|
|
|
|
if (requireAuth) {
|
|
|
|
|
if (!getAccessToken()) { // 未登陆
|
|
|
|
|
next({
|
|
|
|
|
path: '/login',
|
|
|
|
|
query: {redirect: to.fullPath} // 将跳转的路由path作为参数,登录成功后跳转到该路由
|
|
|
|
|
});
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
// 处理标题
|
2019-03-04 15:28:16 +08:00
|
|
|
|
const title = to.meta && to.meta.title;
|
|
|
|
|
if (title) {
|
|
|
|
|
document.title = title;
|
|
|
|
|
}
|
2019-04-08 21:47:23 +08:00
|
|
|
|
// 继续路由
|
2019-03-04 15:28:16 +08:00
|
|
|
|
next();
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
export {
|
|
|
|
|
router
|
|
|
|
|
};
|