permission.js 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. import { includes } from "lodash";
  2. import NProgress from 'nprogress' // 进度条
  3. import 'nprogress/nprogress.css' //样式必须引入
  4. import { $ls, $ss } from "@/storage";
  5. /**
  6. * 设置网页title
  7. */
  8. export const setWebTitle = (title) => {
  9. try {
  10. window.document.title = title
  11. } catch (error) {
  12. console.error(error)
  13. }
  14. }
  15. const whiteList = [] // 白名单
  16. const blockList = [] // 黑名单
  17. export default (router) => {
  18. // 路由前置守卫
  19. router.beforeEach((to, from, next) => {
  20. NProgress.start(); // 开启进度条
  21. if (to.meta?.title) {
  22. setWebTitle(to.meta.title + '');
  23. }
  24. if (to.path === '/login') {
  25. localStorage.clear();
  26. next()
  27. } else {
  28. let token = $ss.getItem('token');
  29. // let info = $ss.getItem('info');
  30. if (token) {
  31. next()
  32. } else {
  33. next('/login')
  34. }
  35. }
  36. // next()
  37. })
  38. // 路由后置守卫(当你真正进入到某个页面之后才执行)
  39. router.afterEach((to, from) => {
  40. NProgress.done(); // 关闭进度条
  41. })
  42. return router
  43. }