fix: 🐛 管理员按钮错误消失

This commit is contained in:
jqtmviyu 2025-04-01 12:15:13 +08:00
parent 63b3adfa2c
commit 53f887d0d6

View File

@ -50,7 +50,7 @@ router.beforeEach(async (to, from, next) => {
if (!userState.token && storageToken) restoreToken(storageToken); if (!userState.token && storageToken) restoreToken(storageToken);
// 4. Vuex 有 token但还没有动态路由获取用户资源, 生成动态路由 // 4. Vuex 有 token但还没有动态路由获取用户资源, 生成动态路由
if (userState.token && dynamicRoutes.length === 0) loadRoutes(userState.isAdmin, next); if (userState.token && dynamicRoutes.length === 0) loadRoutes(userState, next);
// 5. 放行 // 5. 放行
next(); next();
@ -88,13 +88,13 @@ function restoreToken(token) {
} }
/** 生成并加载动态路由 */ /** 生成并加载动态路由 */
async function loadRoutes(isAdmin, next) { async function loadRoutes(userState, next) {
try { try {
await store.dispatch('user/getUserInfo')
const routesResource = await store.dispatch("user/getRoutesResource"); const routesResource = await store.dispatch("user/getRoutesResource");
dynamicRoutes = generateIndexRouter(routesResource); dynamicRoutes = generateIndexRouter(routesResource);
router.addRoutes(dynamicRoutes); router.addRoutes(dynamicRoutes);
if (userState.isAdmin) {
if (isAdmin) {
router.addRoutes([systemSettings]); router.addRoutes([systemSettings]);
} }
} catch (err) { } catch (err) {