vue项目开发中为了方便会配置全局页面登录拦截,但是有时候必须要开放某个页面的拦截,例如商品详情页,帮助中心…是不需要登录就可以访问的,所以必须要把该页面端口拦截给放开!
一、路由权限开放
vue中路由注册是最基本的规则,所以先从vue的路由下手,想开放某个页面,必须要先开放改页面的路由!欧力给…字数不够,废话来凑!!!
{
path: '/problemDetail',
name: 'problemDetail',
component: problemDetail,
meta: {
title: '问题详情',
loginRequest:true
}
},
router.beforeEach((to, from, next) => {
if(to.path === '/problemDetail' && to.meta.loginRequest) {
const tokenStr = window.sessionStorage.getItem('user')
if (!tokenStr) return next({
path:'/login',
query:{
redirect:to.fullPath
}
})
next();
}
}
二、登录页的拦截开放
举个例子:某个人把问题详情页的链接复制出来发给微信好友,如果改问题是有多级的,详情页是子级,浏览完详情页后想返回问题列表,但是该列表页有登录拦截,跳转登录或要重定向会详情页列表分类页!有点绕!哈哈哈哈…字数不够,废话来凑!!!
//帮助中心详情页复制链接分享自动登录跳回当前页
if (tofullUrl) {
if (tofullUrl.indexOf("problemDetail") != -1) {
this.isActive = true;
}
}
三、后端开放改页面的拦截
记得叫后端开放改页面的拦截,不仅仅前端需要开放,后端也需要开放的!不然搞到你S的行不通的!!!字数不够,废话来凑!!!