router.d.ts 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. import type { _RouteLocationBase, RouteRecordRaw } from 'vue-router'
  2. import { RouteRecordNormalized } from 'vue-router'
  3. /**
  4. * 路由记录
  5. */
  6. declare interface VabRouteRecord extends Omit<RouteRecordRaw, 'name' | 'meta' | 'children'> {
  7. name: string
  8. meta: VabRouteMeta
  9. children?: VabRouteRecord[]
  10. childrenPathList?: string[]
  11. parentIcon?: string
  12. redirect?: string
  13. }
  14. declare interface VabRouteRecordRaw extends Omit<RouteRecordNormalized, 'meta'> {
  15. meta: VabRouteMeta
  16. }
  17. /**
  18. * useRoute()
  19. */
  20. declare interface VabRoute extends Omit<_RouteLocationBase, 'meta'> {
  21. meta: VabRouteMeta
  22. matched: VabRouteRecordRaw[]
  23. parentIcon?: string
  24. }
  25. declare interface VabRouteMeta {
  26. // 高亮指定菜单
  27. activeMenu?: string
  28. // badge小标签(只支持子级)
  29. badge?: string
  30. // 是否隐藏面包屑
  31. breadcrumbHidden?: boolean
  32. // 是否显示小圆点
  33. dot?: boolean
  34. // 动态传参路由是否新开标签页
  35. dynamicNewTab?: boolean
  36. // 权限
  37. guard?: string[] | GuardType
  38. // 是否显示在菜单中显示隐藏路由(默认值:false)
  39. hidden?: boolean
  40. // 图标
  41. icon?: string
  42. // 是否是自定义svg图标(默认值:false)
  43. // 如果设置true,那么需要把您的svg拷贝到icon下,然后icon字段配置上您的图标名
  44. isCustomSvg?: boolean
  45. // 是否显示在菜单中显示隐藏一级路由(默认值:true)
  46. levelHidden?: boolean
  47. // 当前路由是否可关闭多标签页,同上
  48. noClosable?: boolean
  49. // 是否隐藏侧边栏
  50. noColumn?: boolean
  51. // 当前路由是否不缓存(默认值:false)
  52. noKeepAlive?: boolean
  53. // 当前路由是否不显示多标签页
  54. tabHidden?: boolean
  55. // 在新窗口中打开
  56. target?: '_blank' | false
  57. // 菜单、面包屑、多标签页显示的名称
  58. title?: string
  59. }