types.ts
930 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
import type { RouteRecordRaw, RouteMeta } from 'vue-router'
import { defineComponent } from 'vue'
declare type Recordable<T = any> = Record<string, T>
export type Component<T extends any = any> =
| ReturnType<typeof defineComponent>
| (() => Promise<typeof import('*.vue')>)
| (() => Promise<T>)
// @ts-ignore
export interface AppRouteRecordRaw extends Omit<RouteRecordRaw, 'meta'> {
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
}