interceptor.js 783 B

12345678910111213141516171819202122232425262728293031323334
  1. // 应用打开后拦截
  2. const loadRouter = function() {
  3. // 获取上个页面
  4. let pages = getCurrentPages();
  5. let prePage = pages[pages.length - 2];
  6. // #ifdef H5
  7. let page = prePage;
  8. // #endif
  9. // #ifdef APP-PLUS
  10. let page = prePage.$vm;
  11. // #endif
  12. interceptor(page,prePage)
  13. }
  14. // 路由拦截
  15. /**
  16. * @param {Object} now 当前页面
  17. * @param {Object} before 上一个页面
  18. */
  19. const interceptor = function(now,before) {
  20. // 获取用户信息判断是否登录过
  21. let userInfo = uni.getStorageSync('userInfo') || '';
  22. // 判断是否需要拦截
  23. let state = uni.getStorageSync('loginInterceptor');
  24. // 判断是否需要拦截
  25. if (state) {
  26. // 拦截条件
  27. if (!userInfo.id) {
  28. uni.navigateTo({
  29. url: '/pages/public/login'
  30. })
  31. }
  32. }
  33. }
  34. export default loadRouter