
自己想的 大佬勿喷
未经允许,禁止转载
我的想法是再次封装uni.navigateTo()等跳转函数
const navigateTo = (params) => {
let token = uni.getStorageSync("token");
//别的操作
if(token){
//可以再做一次token校检
uni.navigateTo(params)
}else{
uni.redirectTo("login=?"+params.url)
}
}如下 其它的 可复制 在main.js引入即可
import uniGo from '文件路径';
Vue.prototype.$uniGo = uniGo;使用时this.$uniGo.navigateTo()
用法和uni.navigateTo()一样
const navigateTo = (params) => {
let token = uni.getStorageSync("token");
//别的操作
if(token){
//可以再做一次token校检
uni.navigateTo(params)
}else{
uni.redirectTo("login=?"+params.url)
}
}
const redirectTo = (params) => {
let token = uni.getStorageSync("token");
//别的操作
if(token){
//可以再做一次token校检
uni.redirectTo(params)
}else{
uni.redirectTo("login=?"+params.url)
}
}
const reLaunch = (params) => {
let token = uni.getStorageSync("token");
//别的操作
if(token){
//可以再做一次token校检
uni.reLaunch(params)
}else{
uni.redirectTo("login=?"+params.url)
}
}
const switchTab = (params) => {
let token = uni.getStorageSync("token");
//别的操作
if(token){
//可以再做一次token校检
uni.switchTab(params)
}else{
uni.redirectTo("login=?"+params.url)
}
}
const navigateBack = (params) => {
let token = uni.getStorageSync("token");
//别的操作
if(token){
//可以再做一次token校检
uni.navigateBack(params)
}else{
uni.redirectTo("login=?"+params.url)
}
}
const preloadPage = (params) => {
let token = uni.getStorageSync("token");
//别的操作
if(token){
//可以再做一次token校检
uni.preloadPage(params)
}else{
uni.redirectTo("login=?"+params.url)
}
}
module.exports = {
navigateTo,
redirectTo,
reLaunch,
switchTab,
preloadPage
}