irpas技术客

uniapp 使用 addInterceptor 实现登录拦截_丰的传说

网络 7858

什么是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.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #uniapp #使用 #addInterceptor #实现登录拦截 #是用于拦截 #uni