UNPKG

@fle-ui/pro-router

Version:
67 lines (66 loc) 1.83 kB
import type { ReactElement, FC } from 'react'; import routerLoader from './routerLoader'; /** * @description 面包屑信息 * @default {} */ export interface BreadcrumbItem { title?: string; path?: string; } export interface RouterChildrenItem { title?: string; path: string; exact?: boolean; redirect?: string; component?: string | ReactElement; realComponent?: ReactElement; routers?: RouterChildrenItem[]; auth?: string; } export interface RouterItem { title?: string; path?: string; exact?: boolean; redirect?: string; layout?: string | ReactElement; component?: string | ReactElement; routers?: RouterChildrenItem[]; auth?: string; authKey?: string | number; isAuth?: boolean; } export interface RouterConfigChildrenItem extends RouterChildrenItem { breadcrumb?: BreadcrumbItem[]; } export interface RouterConfigItem extends RouterItem { breadcrumb?: BreadcrumbItem[]; routers?: RouterConfigChildrenItem[]; } export interface RouterProps { /** * @description 路由的基础配置信息 * @default [] */ router?: RouterItem[]; /** * @description 给每个页面设置标签title 两种方式 根据路由配置的title 或者meta的内容 * @default undefined */ setTitle?: boolean | 'title' | 'meta'; /** * @description 格式化 页面标签title * @default undefined */ formatTitle?: (title: string) => void; basename?: string; getUserConfirmation?: (message: string, callback: (ok: boolean) => void) => void; forceRefresh?: boolean; keyLength?: number; appId?: string; noAuthPage?: ReactElement; env?: 'dev' | 'test' | 'qa' | 'prod' | 'mock'; } declare const Router: FC<RouterProps>; export { routerLoader }; export default Router;