123456789101112131415161718192021222324252627282930313233 |
- // 引入vuex配置
- import store from '../store'
- // 页面白名单
- const whiteList = ['/pages/login/login']
- const funs = ['navigateTo', 'redirectTo', 'reLaunch', 'switchTab'];
- function hasPermission(url) {
- console.log('跳转', url);
- // 在白名单中或有token,直接跳转
- if (whiteList.indexOf(url) !== -1 || store.state.login.loginInfo.user) {
- return true
- }
- return false
- }
- funs.forEach(v => {
- uni.addInterceptor(v, {
- // 页面跳转前进行拦截, invoke根据返回值进行判断是否继续执行跳转
- invoke(e) {
- if (!hasPermission(e.url)) {
- uni.reLaunch({
- url: '/pages/login/login'
- })
- return false
- }
- return true
- },
- success(e) {
- // console.log(e)
- }
- })
- })
|