2022-03-28 20:17:54 +08:00

39 lines
880 B
TypeScript

import { Component } from 'vue';
import { Router, NavigationGuard } from 'vue-router';
interface Menu {
name: string;
path: string;
match: string[];
title: string;
icon: string;
children?: Menu[]
}
export interface LayoutBuildConfig {
layout: {
title: string;
footer: string;
theme: 'dark' | 'light';
multiTabs: boolean;
navigation: 'side' | 'top' | 'mixin';
fixedHeader: boolean;
fixedSideBar: boolean;
sideWidth: number;
menus: Menu[];
};
}
export interface LayoutRuntimeConfig {
layout: {
header: boolean;
sidebar: boolean;
logo: boolean;
customHeader: Component,
noFoundHandler: (param: { router: Router } & NavigationGuard) => void;
unAccessHandler: (param: { router: Router } & NavigationGuard) => void;
};
}