Files
car-system-app/permission.js
2024-06-17 10:29:45 +08:00

57 lines
1.3 KiB
JavaScript

import { getToken } from '@/utils/auth'
// 登录页面
const loginPage1 = "/pages/login/driver-login"
const loginPage2 = "/pages/login/server-login"
// 页面白名单
const whiteList = [
'/pages/login/driver-login',
'/pages/login/server-login',
'/pages/repair/tabbar/repair',
'/pages/common/textview/index'
]
// 检查地址白名单
function checkWhite(url) {
const path = url.split('?')[0]
return whiteList.indexOf(path) !== -1
}
// 页面跳转验证拦截器
let list = ["navigateTo", "redirectTo", "reLaunch", "switchTab"]
list.forEach(item => {
uni.addInterceptor(item, {
invoke(to) {
if (getToken()) {
if (to.url === loginPage1 || to.url === loginPage2) {
let userType = uni.getStorageSync('userType')
if(userType == 'repair') {
uni.switchTab({
url: '/pages/repair/tabbar/repair'
})
}else if(userType == 'carDealers'){
uni.switchTab({
url: '/pages/carShop/message/message'
})
}else if(userType == 'driver'){
uni.switchTab({
url: '/pages/driver/home/home'
})
}
}
return true
} else {
if (checkWhite(to.url)) {
return true
}
uni.reLaunch({ url: loginPage1 })
return false
}
},
fail(err) {
}
})
})