diff --git a/apps/vue/src/api/sys/model/menuModel.ts b/apps/vue/src/api/sys/model/menuModel.ts index 4ffa6146e..72ac1d796 100644 --- a/apps/vue/src/api/sys/model/menuModel.ts +++ b/apps/vue/src/api/sys/model/menuModel.ts @@ -11,6 +11,7 @@ export interface RouteItem { children?: RouteItem[]; fullPath?: string; props?: any; + startup: boolean; } /** diff --git a/apps/vue/src/store/modules/permission.ts b/apps/vue/src/store/modules/permission.ts index f9b7e49a5..4adf84c68 100644 --- a/apps/vue/src/store/modules/permission.ts +++ b/apps/vue/src/store/modules/permission.ts @@ -256,6 +256,13 @@ export const usePermissionStore = defineStore({ if (menu.children) { r.children = this.filterDynamicRoutes(menu.children); } + // 修改用户首页 + if (menu.startup) { + const userStore = useUserStore(); + const userInfo = userStore.getUserInfo; + userInfo.homePath = menu.path; + userStore.setUserInfo(userInfo); + } routeList.push(r); }); diff --git a/apps/vue/src/store/modules/user.ts b/apps/vue/src/store/modules/user.ts index 2271e2bb0..47515223a 100644 --- a/apps/vue/src/store/modules/user.ts +++ b/apps/vue/src/store/modules/user.ts @@ -140,7 +140,7 @@ export const useUserStore = defineStore({ async afterLoginAction(goHome?: boolean): Promise { if (!this.getToken) return null; // get user info - const userInfo = await this.getUserInfoAction(); + await this.getUserInfoAction(); const sessionTimeout = this.sessionTimeout; if (sessionTimeout) { @@ -155,9 +155,9 @@ export const useUserStore = defineStore({ router.addRoute(PAGE_NOT_FOUND_ROUTE as unknown as RouteRecordRaw); permissionStore.setDynamicAddedRoute(true); } - goHome && (await router.replace(userInfo?.homePath || PageEnum.BASE_HOME)); + goHome && (await router.replace(this.userInfo?.homePath || PageEnum.BASE_HOME)); } - return userInfo; + return this.userInfo; }, async getUserInfoAction(): Promise { const abpStore = useAbpStoreWithOut();