import store from './store' import { getToken } from './common/auth' const routeInterceptor = () => { console.log('routeInterceptor') const methodToPatch = ["navigateTo", "redirectTo", "switchTab", "navigateBack"]; methodToPatch.map((type) => { // 通过遍历的方式分别取出,uni.navigateTo、uni.redirectTo、uni.switchTab、uni.navigateBack // 并且对相应的方法做重写 const original = uni[type]; uni[type] = function (options = {}) { if (options.url === '/pages/login/index') { return original.call(this, options); } if (!getToken()) { // 判断是否存在token,不存在重定向到登录页 uni.navigateTo({ url: "/pages/login/index", }); return } if (!store.state.user.id) { store.commit('setUser') } return original.call(this, options); }; }); } routeInterceptor()