permission.js 855 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. import {
  2. getAccessToken
  3. } from '@/utils/auth'
  4. // 登录页面
  5. const loginPage = "/pages/user/login"
  6. // 页面白名单
  7. const whiteList = [
  8. '/pages/user/login',
  9. '/pages/languages'
  10. ]
  11. // 检查地址白名单
  12. function checkWhite(url) {
  13. const path = url.split('?')[0]
  14. return whiteList.indexOf(path) !== -1
  15. }
  16. // 页面跳转验证拦截器
  17. let list = ["navigateTo", "redirectTo", "reLaunch", "switchTab"]
  18. list.forEach(item => {
  19. uni.addInterceptor(item, {
  20. invoke(to) {
  21. console.log('to-->',to)
  22. if (getAccessToken()) {
  23. if (to.path === loginPage) {
  24. uni.reLaunch({
  25. url: "/"
  26. })
  27. }
  28. return true
  29. } else {
  30. if (checkWhite(to.url)) {
  31. return true
  32. }
  33. uni.reLaunch({
  34. url: loginPage
  35. })
  36. return false
  37. }
  38. },
  39. fail(err) {
  40. console.log(err)
  41. }
  42. })
  43. })