auth-nav.js
758 Bytes
import auth from '@/common/auth.js'
let redirectingToLogin = false
/**
* 统一跳转登录页,避免多个接口同时 600 时连续 reLaunch 导致页面闪烁。
*/
export function redirectToLogin() {
if (redirectingToLogin) return
const pages = getCurrentPages()
const current = pages.length ? pages[pages.length - 1] : null
const route = current && (current.route || (current.$page && current.$page.fullPath))
if (route && String(route).indexOf('pages/login/login') !== -1) {
auth.clearLoginState()
return
}
redirectingToLogin = true
auth.clearLoginState()
uni.reLaunch({
url: '/pages/login/login',
complete: () => {
setTimeout(() => {
redirectingToLogin = false
}, 800)
}
})
}
export default {
redirectToLogin
}