1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- import type { RouteRecordRaw } from 'vue-router';
- import { RoleEnum } from '/@/enums/roleEnum';
- import Component from '/@/components/types';
- export interface RouteMeta {
- // title
- title: string;
- // Whether to ignore permissions
- ignoreAuth?: boolean;
- // role info
- roles?: RoleEnum[];
- // Whether not to cache
- ignoreKeepAlive?: boolean;
- // Is it fixed on tab
- affix?: boolean;
- // icon on tab
- icon?: string;
- // Jump address
- // current page transition
- transitionName?: string;
- // Whether the route has been dynamically added
- hideBreadcrumb?: boolean;
- // Carrying parameters
- carryParam?: boolean;
- // Used internally to mark single-level menus
- single?: boolean;
- }
- export interface AppRouteRecordRaw extends Omit<RouteRecordRaw, 'meta'> {
- name: string;
- meta: RouteMeta;
- component?: Component;
- components?: Component;
- children?: AppRouteRecordRaw[];
- props?: Record<string, any>;
- fullPath?: string;
- }
- export interface MenuTag {
- type?: 'primary' | 'error' | 'warn' | 'success';
- content?: string;
- dot?: boolean;
- }
- export interface Menu {
- name: string;
- icon?: string;
- path: string;
- disabled?: boolean;
- children?: Menu[];
- orderNo?: number;
- roles?: RoleEnum[];
- meta?: Partial<RouteMeta>;
- tag?: MenuTag;
- }
- export interface MenuModule {
- orderNo?: number;
- menu: Menu;
- }
- // interface RouteModule {
- // layout: AppRouteRecordRaw;
- // routes: AppRouteRecordRaw[];
- // children?: AppRouteRecordRaw[];
- // component?: Component;
- // }
- // export type AppRouteModule = RouteModule | AppRouteRecordRaw;
- export type AppRouteModule = AppRouteRecordRaw;
|