import { getToken } from '@/utils/auth' // 登录页面 const loginPage = "/pages/login" // 页面白名单 const whiteList = ['/pages/trends/trenda','/pages/trends/trendb','/pages/trends/trendc','/mine/pages/trends/trenddetail','/pages/mine/pwd/resetpwd','/pages/mine/pwd/forgetpwd', '/pages/login','/pages/register','/pages/agreement','/pages/index/webview','/mine/pages/login/register','/mine/pages/mine/school', '/mine/pages/mine/applyregister','/mine/pages/mine/success','/pages/common/webview/index','/mine/pages/mine/auth','/mine/pages/login/query','/mine/pages/mine/applyteacher','/mine/pages/mine/applyparent', ] // 检查地址白名单 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 === loginPage) { uni.reLaunch({ url: "/" }) } return true } else { if (checkWhite(to.url)) { return true } uni.reLaunch({ url: loginPage }) return false } }, fail(err) { console.log(err) } }) })