feat(projects): new router system [新的路由系统]

This commit is contained in:
Soybean
2022-11-08 01:14:59 +08:00
parent 40c1e13b50
commit c7b6a3fbec
54 changed files with 1328 additions and 759 deletions

View File

@ -42,7 +42,7 @@ const routeStore = useRouteStore();
const { routerPush } = useRouterPush();
const breadcrumbs = computed(() =>
getBreadcrumbByRouteKey(route.name as string, routeStore.menus as GlobalMenuOption[], routePath('root'))
getBreadcrumbByRouteKey(route.name as string, routeStore.menus as App.GlobalMenuOption[], routePath('root'))
);
function dropdownSelect(key: string) {

View File

@ -28,11 +28,11 @@ const routeStore = useRouteStore();
const theme = useThemeStore();
const { routerPush } = useRouterPush();
const menus = computed(() => routeStore.menus as GlobalMenuOption[]);
const menus = computed(() => routeStore.menus as App.GlobalMenuOption[]);
const activeKey = computed(() => (route.meta?.activeMenu ? route.meta.activeMenu : route.name) as string);
function handleUpdateMenu(_key: string, item: MenuOption) {
const menuItem = item as GlobalMenuOption;
const menuItem = item as App.GlobalMenuOption;
routerPush(menuItem.routePath);
}
</script>

View File

@ -38,7 +38,7 @@
defineOptions({ name: 'MessageList' });
interface Props {
list?: Message.List[];
list?: App.MessageList[];
}
withDefaults(defineProps<Props>(), {

View File

@ -62,7 +62,7 @@ const { bool: loading, setBool: setLoading } = useBoolean();
const currentTab = ref(0);
const tabData = ref<Message.Tab[]>([
const tabData = ref<App.MessageTab[]>([
{
key: 1,
name: '通知',

View File

@ -39,11 +39,11 @@ defineOptions({ name: 'GlobalHeader' });
interface Props {
/** 显示logo */
showLogo: GlobalHeaderProps['showLogo'];
showLogo: App.GlobalHeaderProps['showLogo'];
/** 显示头部菜单 */
showHeaderMenu: GlobalHeaderProps['showHeaderMenu'];
showHeaderMenu: App.GlobalHeaderProps['showHeaderMenu'];
/** 显示菜单折叠按钮 */
showMenuCollapse: GlobalHeaderProps['showMenuCollapse'];
showMenuCollapse: App.GlobalHeaderProps['showMenuCollapse'];
}
defineProps<Props>();

View File

@ -42,7 +42,7 @@ interface Props {
/** 菜单抽屉可见性 */
visible: boolean;
/** 子菜单数据 */
menus: GlobalMenuOption[];
menus: App.GlobalMenuOption[];
}
const props = defineProps<Props>();
@ -59,7 +59,7 @@ const activeKey = computed(() => (route.meta?.activeMenu ? route.meta.activeMenu
const expandedKeys = ref<string[]>([]);
function handleUpdateMenu(_key: string, item: MenuOption) {
const menuItem = item as GlobalMenuOption;
const menuItem = item as App.GlobalMenuOption;
routerPush(menuItem.routePath);
}

View File

@ -84,7 +84,7 @@ function resetFirstDegreeMenus() {
}
const activeChildMenus = computed(() => {
const menus: GlobalMenuOption[] = [];
const menus: App.GlobalMenuOption[] = [];
routeStore.menus.some(item => {
const flag = item.routeName === activeParentRouteName.value && Boolean(item.children?.length);
if (flag) {

View File

@ -31,13 +31,13 @@ const theme = useThemeStore();
const routeStore = useRouteStore();
const { routerPush } = useRouterPush();
const menus = computed(() => routeStore.menus as GlobalMenuOption[]);
const menus = computed(() => routeStore.menus as App.GlobalMenuOption[]);
const activeKey = computed(() => (route.meta?.activeMenu ? route.meta.activeMenu : route.name) as string);
const expandedKeys = ref<string[]>([]);
function handleUpdateMenu(_key: string, item: MenuOption) {
const menuItem = item as GlobalMenuOption;
const menuItem = item as App.GlobalMenuOption;
routerPush(menuItem.routePath);
}