12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- import type { RouteRecordRaw, RouteMeta } from 'vue-router';
- import { defineComponent } from 'vue';
- export type Component<T extends any = any> =
- | ReturnType<typeof defineComponent>
- | (() => Promise<typeof import('*.vue')>)
- | (() => Promise<T>);
- export interface AppRouteRecordRaw extends Omit<RouteRecordRaw, 'meta'> {
- name: string;
- meta: RouteMeta;
- component?: Component | string;
- components?: Component;
- children?: AppRouteRecordRaw[];
- props?: any;
- 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;
- }
- export interface Menu {
- title: string;
- label: string;
- key: string;
- meta: RouteMeta;
- name: string;
- component?: Component | string;
- components?: Component;
- children?: AppRouteRecordRaw[];
- props?: any;
- fullPath?: string;
- icon?: any;
- path: string;
- permissions?: string[];
- redirect?: string;
- sort?: number;
- }
|