Initial commit
This commit is contained in:
50
utils/init.js
Normal file
50
utils/init.js
Normal file
@@ -0,0 +1,50 @@
|
||||
import {
|
||||
getToken
|
||||
} from "./auth"
|
||||
export default function initApp() {
|
||||
/**
|
||||
* 页面跳转拦截器
|
||||
*/
|
||||
let list = ["navigateTo", "redirectTo", "reLaunch", "switchTab"];
|
||||
list.forEach(item => { //用遍历的方式分别为,uni.navigateTo,uni.redirectTo,uni.reLaunch,uni.switchTab这4个路由方法添加拦截器
|
||||
uni.addInterceptor(item, {
|
||||
invoke(e) { // 调用前拦截
|
||||
//获取用户的token
|
||||
const token = getToken();
|
||||
|
||||
const url = e.url.split('?')[0];
|
||||
let notNeed = ["/pages/login/login"].includes(url)
|
||||
// 如果在whiteList里面就不需要登录
|
||||
if (notNeed) {
|
||||
return e
|
||||
} else {
|
||||
//需要登录
|
||||
if (token == undefined || token == '') {
|
||||
uni.showToast({
|
||||
title: '请先登录',
|
||||
icon: 'none'
|
||||
})
|
||||
uni.reLaunch({
|
||||
url: "/pages/login/login"
|
||||
})
|
||||
return false
|
||||
} else {
|
||||
return e
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
},
|
||||
fail(err) { // 失败回调拦截
|
||||
console.log(err);
|
||||
// uni.showModal({
|
||||
// content: JSON.stringify(err),
|
||||
// showCancel: false
|
||||
// });
|
||||
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user