UNPKG

create-iking-admin

Version:

金合技术中台脚手架

34 lines (30 loc) 907 B
/* * @Author: wfl * @LastEditors: wfl * @description: * @updateInfo: * @Date: 2022-07-29 11:45:14 * @LastEditTime: 2022-08-08 17:06:24 */ import { usePermissionStoreWithOut } from '@/global/store/modules/permission'; import type { Router } from 'vue-router'; import { configureDynamicParamsMenu } from '../helper/menuHelper'; import { Menu } from '../types'; export function createParamMenuGuard(router: Router) { const permissionStore = usePermissionStoreWithOut(); router.beforeEach(async (to, _, next) => { // filter no name route if (!to.name) { next(); return; } // menu has been built. if (!permissionStore.getIsDynamicAddedRoute) { next(); return; } const menus: Menu[] = permissionStore.getsystemMenuList; menus.forEach((item) => configureDynamicParamsMenu(item, to.params)); next(); }); }