mirror of
https://gitee.com/dapppp/ruoyi-plus-vben5.git
synced 2026-04-02 03:23:23 +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 [userInfo, routeInfo] = await Promise.all([
|
||||||
const userRoles = userInfo.roles ?? [];
|
userStore.userInfo || (await authStore.fetchUserInfo()),
|
||||||
|
generateAccess({
|
||||||
|
// 前端路由模式会需要 后端路由模式不需要
|
||||||
|
// roles: userRoles,
|
||||||
|
router,
|
||||||
|
// 则会在菜单中显示,但是访问会被重定向到403
|
||||||
|
routes: accessRoutes,
|
||||||
|
}),
|
||||||
|
]);
|
||||||
|
|
||||||
// 生成菜单和路由
|
// 生成菜单和路由
|
||||||
const { accessibleMenus, accessibleRoutes } = await generateAccess({
|
const { accessibleMenus, accessibleRoutes } = routeInfo;
|
||||||
roles: userRoles,
|
|
||||||
router,
|
|
||||||
// 则会在菜单中显示,但是访问会被重定向到403
|
|
||||||
routes: accessRoutes,
|
|
||||||
});
|
|
||||||
|
|
||||||
// 保存菜单信息和路由信息
|
// 保存菜单信息和路由信息
|
||||||
accessStore.setAccessMenus(accessibleMenus);
|
accessStore.setAccessMenus(accessibleMenus);
|
||||||
|
|||||||
Reference in New Issue
Block a user