Browse Source

登录时,直接从用户信息中,获取菜单。目的:加快首页的加载速度

YunaiV 1 year ago
parent
commit
ee802d6335
3 changed files with 2 additions and 9 deletions
  1. 0 5
      src/api/login/index.ts
  2. 1 4
      src/store/modules/permission.ts
  3. 1 0
      src/store/modules/user.ts

+ 0 - 5
src/api/login/index.ts

@@ -37,11 +37,6 @@ export const getInfo = () => {
   return request.get({ url: '/system/auth/get-permission-info' })
 }
 
-// 路由
-export const getAsyncRoutes = () => {
-  return request.get({ url: '/system/auth/list-menus' })
-}
-
 //获取登录验证码
 export const sendSmsCode = (data: SmsCodeVO) => {
   return request.post({ url: '/system/auth/send-sms-code', data })

+ 1 - 4
src/store/modules/permission.ts

@@ -3,7 +3,6 @@ import { store } from '../index'
 import { cloneDeep } from 'lodash-es'
 import remainingRouter from '@/router/modules/remaining'
 import { generateRoute, flatMultiLevelRoutes } from '@/utils/routerHelper'
-import { getAsyncRoutes } from '@/api/login'
 import { CACHE_KEY, useCache } from '@/hooks/web/useCache'
 
 const { wsCache } = useCache()
@@ -34,12 +33,10 @@ export const usePermissionStore = defineStore('permission', {
   actions: {
     async generateRoutes(): Promise<unknown> {
       return new Promise<void>(async (resolve) => {
+        // 获得菜单列表,它在登录的时候,setUserInfoAction 方法中已经进行获取
         let res: AppCustomRouteRecordRaw[]
         if (wsCache.get(CACHE_KEY.ROLE_ROUTERS)) {
           res = wsCache.get(CACHE_KEY.ROLE_ROUTERS) as AppCustomRouteRecordRaw[]
-        } else {
-          res = await getAsyncRoutes()
-          wsCache.set(CACHE_KEY.ROLE_ROUTERS, res)
         }
         const routerMap: AppRouteRecordRaw[] = generateRoute(res as AppCustomRouteRecordRaw[])
         // 动态路由,404一定要放到最后面

+ 1 - 0
src/store/modules/user.ts

@@ -58,6 +58,7 @@ export const useUserStore = defineStore('admin-user', {
       this.user = userInfo.user
       this.isSetUser = true
       wsCache.set(CACHE_KEY.USER, userInfo)
+      wsCache.set(CACHE_KEY.ROLE_ROUTERS, userInfo.menus)
     },
     async loginOut() {
       await loginOut()