uni-app中添加路由鉴权和路由拦截
在main.js中添加如下代码
let list = ["navigateTo", "redirectTo", "reLaunch", "switchTab"]
let routesWhitelist = ['/pages/tabs/classify','/pages/tabs/study','/pages/tabs/mine']
let routesMap = []
list.forEach((item)=> {
uni.addInterceptor(item,{
invoke(args) {
let userToken = store.state.user.token
console.log('跳转的参数', args)
if (routesWhitelist.includes(args.url) || !userToken && args.url === '/pages/login/index') {
return true
}
if (!userToken && routesMap.includes(args.url)) {
uni.reLaunch({
url: '/pages/login/index'
})
return false
}
return true
}
})
})