mirror of
https://gitee.com/dapppp/ruoyi-plus-vben5.git
synced 2026-03-08 07:31:09 +08:00
perf(router): 并行获取用户信息和生成路由以提升性能
通过 Promise.all 并行执行用户信息获取和路由生成操作,减少页面加载等待时间
This commit is contained in:
@@ -92,16 +92,19 @@ function setupAccessGuard(router: Router) {
|
||||
|
||||
// 生成路由表
|
||||
// 当前登录用户拥有的角色标识列表
|
||||
const userInfo = userStore.userInfo || (await authStore.fetchUserInfo());
|
||||
const userRoles = userInfo.roles ?? [];
|
||||
const [userInfo, routeInfo] = await Promise.all([
|
||||
userStore.userInfo || (await authStore.fetchUserInfo()),
|
||||
generateAccess({
|
||||
// 前端路由模式会需要 后端路由模式不需要
|
||||
// roles: userRoles,
|
||||
router,
|
||||
// 则会在菜单中显示,但是访问会被重定向到403
|
||||
routes: accessRoutes,
|
||||
}),
|
||||
]);
|
||||
|
||||
// 生成菜单和路由
|
||||
const { accessibleMenus, accessibleRoutes } = await generateAccess({
|
||||
roles: userRoles,
|
||||
router,
|
||||
// 则会在菜单中显示,但是访问会被重定向到403
|
||||
routes: accessRoutes,
|
||||
});
|
||||
const { accessibleMenus, accessibleRoutes } = routeInfo;
|
||||
|
||||
// 保存菜单信息和路由信息
|
||||
accessStore.setAccessMenus(accessibleMenus);
|
||||
|
||||
Reference in New Issue
Block a user