From 6d3c640c9819e4a2267b4fc6ec1624457739bbdb Mon Sep 17 00:00:00 2001 From: Kroytz Date: Fri, 24 Jul 2026 12:41:54 +0800 Subject: [PATCH] fix(router): unblock first login route setup --- yshop-drink-vue3/src/permission.ts | 9 +++-- .../src/store/modules/permission.ts | 35 +++++++++---------- 2 files changed, 22 insertions(+), 22 deletions(-) diff --git a/yshop-drink-vue3/src/permission.ts b/yshop-drink-vue3/src/permission.ts index 70d3279..48748ed 100644 --- a/yshop-drink-vue3/src/permission.ts +++ b/yshop-drink-vue3/src/permission.ts @@ -47,17 +47,20 @@ router.beforeEach(async (to, _from, next) => { const dictStore = useDictStoreWithOut() if (!dictStore.getIsSetDict) { - await dictStore.setDictMap() + void dictStore.setDictMap().catch((error) => { + console.error('[permission] Failed to load dictionaries', error) + }) } const permissionStore = usePermissionStoreWithOut() - await permissionStore.generateRoutes(userStore.getMenus) + permissionStore.generateRoutes(userStore.getMenus) permissionStore.getAddRouters.forEach((route) => { router.addRoute(route as unknown as RouteRecordRaw) }) next({ path: to.path, query: to.query, hash: to.hash, replace: true }) - } catch { + } catch (error) { + console.error('[permission] Failed to initialize authenticated routes', error) userStore.resetState() resetRouter() next(`/login?redirect=${encodeURIComponent(to.fullPath)}`) diff --git a/yshop-drink-vue3/src/store/modules/permission.ts b/yshop-drink-vue3/src/store/modules/permission.ts index 6815ea2..1f70965 100644 --- a/yshop-drink-vue3/src/store/modules/permission.ts +++ b/yshop-drink-vue3/src/store/modules/permission.ts @@ -28,26 +28,23 @@ export const usePermissionStore = defineStore('permission', { } }, actions: { - async generateRoutes(res: AppCustomRouteRecordRaw[] = []): Promise { - return new Promise(async (resolve) => { - // 获得菜单列表,它在登录的时候,setUserInfoAction 方法中已经进行获取 - const routerMap: AppRouteRecordRaw[] = generateRoute(res) - // 动态路由,404一定要放到最后面 - this.addRouters = routerMap.concat([ - { - path: '/:path(.*)*', - redirect: '/404', - name: '404Page', - meta: { - hidden: true, - breadcrumb: false - } + generateRoutes(res: AppCustomRouteRecordRaw[] = []): void { + // 获得菜单列表,它在登录的时候,setUserInfoAction 方法中已经进行获取 + const routerMap: AppRouteRecordRaw[] = generateRoute(res) + // 动态路由,404一定要放到最后面 + this.addRouters = routerMap.concat([ + { + path: '/:path(.*)*', + redirect: '/404', + name: '404Page', + meta: { + hidden: true, + breadcrumb: false } - ]) - // 渲染菜单的所有路由 - this.routers = cloneDeep(remainingRouter).concat(routerMap) - resolve() - }) + } + ]) + // 渲染菜单的所有路由 + this.routers = cloneDeep(remainingRouter).concat(routerMap) }, setMenuTabRouters(routers: AppRouteRecordRaw[]): void { this.menuTabRouters = routers