什么是uni.addInterceptor
uni.addInterceptor 是用于拦截 uni 的api的方法,一般用于给api添加全局的属性,或者全局处理事件
登录拦截?使用 uni.interceptor ,实现当需要登录,并且没有token的时候跳转到登录页,否则正常跳转
import store from "../store"; const whiteList = [ // "/pages/myInfo/myInfo" ]; //白名单 不需要登录的页面路径组成的数组 function hasPermission(url) { // 在白名单中或有token,直接跳转 if (whiteList.indexOf(url) !== -1 || store.state.user.token) { return true; } return false; } uni.addInterceptor("navigateTo", { // 页面跳转前进行拦截, invoke根据返回值进行判断是否继续执行跳转 invoke(e) { if (!hasPermission(e.url)) { uni.reLaunch({ url: "/pages/myInfo/login", }); return false; } return true; }, success(e) { // console.log(e) }, }); uni.addInterceptor("switchTab", { // tabbar页面跳转前进行拦截 invoke(e) { if (!hasPermission(e.url)) { uni.reLaunch({ url: "/pages/myInfo/login", }); return false; } return true; }, success(e) { // console.log(e) }, });
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。 |