import systemConfig from '@/config/config.js'; // 页面白名单,不受拦截 const whiteList = systemConfig.whiteList function hasPermission (url) { let islogin = uni.getStorageSync(systemConfig.token );//isLogin是登录成功后在本地存储登录标识,存储一个能够判断用户登录的唯一标识就行 // 在白名单中或有登录判断条件可以直接跳转 if(whiteList.indexOf(url) !== -1 || islogin) { //console.log('通过') return true } //console.log('失败') return false } uni.addInterceptor('navigateTo', { // 页面跳转前进行拦截, invoke根据返回值进行判断是否继续执行跳转 invoke (e) { const url = e.url.split('?')[0] if(!hasPermission(url)){ uni.reLaunch({ url:systemConfig.login_page }) return false } return true }, success (e) { } }) uni.addInterceptor('switchTab', { // tabbar页面跳转前进行拦截 invoke (e) { const url = e.url.split('?')[0] if(!hasPermission(url)){ uni.reLaunch({ url: systemConfig.login_page }) //console.log('不在白名单内') return false } //console.log('在白名单内') return true }, success (e) { } })