vue-router.d.ts 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. import { type RouteMeta as VRouteMeta } from 'vue-router';
  2. import { type PermissionType } from '@/core/permission/modules/types';
  3. import { type LocaleType } from '@/locales/config';
  4. declare global {
  5. type Title18n = {
  6. [p in LocaleType]: string;
  7. };
  8. }
  9. declare module 'vue-router' {
  10. interface RouteMeta extends VRouteMeta {
  11. /** 标题 */
  12. title: string | Title18n;
  13. /** 当前菜单类型 0: 目录 | 1: 菜单 | 2: 权限 */
  14. type?: 0 | 1 | 2;
  15. /** 当前路由权限 */
  16. perms?: PermissionType[];
  17. /** 是否需要缓存 */
  18. keepAlive?: boolean;
  19. /** 当前路由namePath 祖先name集合 */
  20. namePath?: string[];
  21. /** 当前路由所在的完整路径 */
  22. fullPath?: string;
  23. /** 是否固定在标签栏 */
  24. affix?: boolean;
  25. /** 菜单图标 */
  26. icon?: string;
  27. /** 当前页面切换动画 */
  28. transitionName?: string | false;
  29. /** @name 在菜单中隐藏子节点 */
  30. hideChildrenInMenu?: boolean;
  31. /** 不在菜单中显示 */
  32. hideInMenu?: boolean;
  33. /** 不在面包屑导航中显示 */
  34. hideInBreadcrumb?: boolean;
  35. /** 不在tab标签页中显示 */
  36. hideInTabs?: boolean;
  37. /** 设置当前路由高亮的菜单项,值为route fullPath或route name,一般用于详情页 */
  38. activeMenu?: string;
  39. /** 菜单排序号 */
  40. orderNum?: number;
  41. isLink?: boolean;
  42. }
  43. }