import type { RouteRecordRaw, RouteMeta } from 'vue-router' import { defineComponent } from 'vue' declare type Recordable = Record export type Component = | ReturnType | (() => Promise) | (() => Promise) // @ts-ignore export interface AppRouteRecordRaw extends Omit { name: string meta: RouteMeta component?: Component | string components?: Component children?: AppRouteRecordRaw[] props?: Recordable fullPath?: string } export interface Meta { // 名称 title: string // 是否忽略权限 ignoreAuth?: boolean permissions?: string[] // 是否不缓存 noKeepAlive?: boolean // 是否固定在tab上 affix?: boolean // tab上的图标 icon?: string // 跳转地址 frameSrc?: string // 外链跳转地址 externalLink?: string //隐藏 hidden?: boolean }