router.ts 833 B

1234567891011121314151617181920212223242526272829303132333435
  1. import type { RouteMeta } from 'vue-router';
  2. import ElegantVueRouter from '@elegant-router/vue/vite';
  3. import type { RouteKey } from '@elegant-router/types';
  4. export function setupElegantRouter() {
  5. return ElegantVueRouter({
  6. layouts: {
  7. base: 'src/layouts/base-layout/index.vue',
  8. blank: 'src/layouts/blank-layout/index.vue'
  9. },
  10. customRoutes: {
  11. names: [
  12. ]
  13. },
  14. routePathTransformer(_, routePath) {
  15. return routePath;
  16. },
  17. onRouteMetaGen(routeName) {
  18. const key = routeName as RouteKey;
  19. const constantRoutes: RouteKey[] = ['login', '403', '404', '500'];
  20. const meta: Partial<RouteMeta> = {
  21. title: key,
  22. i18nKey: `route.${key}`
  23. };
  24. if (constantRoutes.includes(key)) {
  25. meta.constant = true;
  26. }
  27. return meta;
  28. }
  29. });
  30. }