router.beforeEach((to, from, next) => {
// 设置全局店铺ID shopid
const shopid = from.query.shopid
// 如果没有shopid 先跳转到总店 shopid为1
if (!shopid && !to.query.shopid) {
router.replace({
path: '/',
query: { 'shopid': 1 }
})
return false
}
// 此处通过修改push给query增加shopid的方式, 会重置跳转数据.
// 这会影响到replace跳转, 导致变成正常push跳转.
// 如果原跳转是replace方式, 需要在query里主动添加shopid. 避免被重置数据.
if (shopid && (shopid !== to.query.shopid)) {
// 如果传递了shopid 走正常路由
// 否则先手动添加shopid参数
if (!to.query.shopid) {
to.query.shopid = shopid
router.push({
path: to.path,
query: to.query
})
return false
}
} // 设置页面标题
const title = to.meta && to.meta.title
if (title) {
document.title = title
} // 是否登录
if (!store.get('token')) {
// 需要登录
if (to.meta && to.meta.requiresAuth) {
next({
path: '/',
query: { 'shopid': 1 },
replace: true
})
} else {
next()
}
} else {
next()
}
})
05-18 19:17