App.vue 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. <script setup lang="ts">
  2. // This starter template is using Vue 3 <script setup> SFCs
  3. // Check out https://v3.vuejs.org/api/sfc-script-setup.html#sfc-script-setup
  4. import { RouterView, useRouter, useRoute } from 'vue-router';
  5. import { AppRoute, NotFoundRoute } from '@/router/base';
  6. import { authRoutes } from '@/router/auth';
  7. import { filterAuthHandle } from '@/router/utils'
  8. import { AppStore } from '@/store/modules/app';
  9. const router = useRouter()
  10. const route = useRoute()
  11. const store = AppStore()
  12. // TODO: 增加无需权限时的判断
  13. // 此处模拟接口请求获取权限列表
  14. setTimeout(() => {
  15. const authFilterRoutes = filterAuthHandle([1], authRoutes)
  16. console.log(authFilterRoutes);
  17. const childrenRoutes = [...authFilterRoutes, ...AppRoute.children as []]
  18. router.removeRoute(AppRoute.name as string)
  19. router.addRoute({
  20. ...AppRoute,
  21. children: childrenRoutes
  22. })
  23. router.addRoute(NotFoundRoute)
  24. store.updateLoading(false)
  25. store.updateAuthRoutes(authFilterRoutes)
  26. router.replace(route.fullPath)
  27. }, 2e3);
  28. </script>
  29. <template>
  30. <init-loading>
  31. <RouterView />
  32. </init-loading>
  33. </template>
  34. <style lang="less">
  35. // @import './style/ant-design/index.less';
  36. </style>
  37. <style>
  38. @import './style/index.css';
  39. @import './style/global.css';
  40. </style>