fullPageTool.js 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. /**
  2. * Copyright [2022] [https://www.xiaonuo.vip]
  3. * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
  4. * 1.请不要删除和修改根目录下的LICENSE文件。
  5. * 2.请不要删除和修改Snowy源码头部的版权声明。
  6. * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
  7. * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
  8. * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
  9. * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
  10. */
  11. import portal from './portal'
  12. const fullPageTool = {
  13. //检查
  14. check(to) {
  15. //如果在这个列表里就设置可以全屏
  16. // 使用示例
  17. const allPaths = this.getPath(portal)
  18. allPaths.forEach((item) => {
  19. if (to.path.includes(item)) {
  20. to.meta.fullpage = true
  21. }
  22. })
  23. },
  24. getPath(routes) {
  25. let paths = []
  26. routes.forEach((route) => {
  27. if (route.path) {
  28. paths.push(route.path)
  29. }
  30. if (route.children && Array.isArray(route.children)) {
  31. paths = paths.concat(this.getPath(route.children))
  32. }
  33. })
  34. return paths
  35. }
  36. }
  37. /**
  38. * 路由白名单(数组形式)
  39. *
  40. * 如果组件像登录一样,那就简单的写一个path,即可实现放开,
  41. * 如果组件不在这边的,需要手动添加组件,就像other一样,
  42. * 因为没登陆你没法拿到后端给你返回的那一坨,当然就找不到component
  43. *
  44. * @author yubaoshan
  45. */
  46. export default fullPageTool