Эх сурвалжийг харах

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

(cherry picked from commit ee802d6335f7b5e785620c45053dd31f4a95f785)
YunaiV 1 жил өмнө
parent
commit
4cef3e3e5f

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

@@ -37,11 +37,6 @@ export const getInfoApi = () => {
   return request.get({ url: '/system/auth/get-permission-info' })
   return request.get({ url: '/system/auth/get-permission-info' })
 }
 }
 
 
-// 路由
-export const getAsyncRoutesApi = () => {
-  return request.get({ url: '/system/auth/list-menus' })
-}
-
 //获取登录验证码
 //获取登录验证码
 export const sendSmsCodeApi = (data: SmsCodeVO) => {
 export const sendSmsCodeApi = (data: SmsCodeVO) => {
   return request.post({ url: '/system/auth/send-sms-code', data })
   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 { cloneDeep } from 'lodash-es'
 import remainingRouter from '@/router/modules/remaining'
 import remainingRouter from '@/router/modules/remaining'
 import { generateRoute, flatMultiLevelRoutes } from '@/utils/routerHelper'
 import { generateRoute, flatMultiLevelRoutes } from '@/utils/routerHelper'
-import { getAsyncRoutesApi } from '@/api/login'
 import { CACHE_KEY, useCache } from '@/hooks/web/useCache'
 import { CACHE_KEY, useCache } from '@/hooks/web/useCache'
 
 
 const { wsCache } = useCache()
 const { wsCache } = useCache()
@@ -34,12 +33,10 @@ export const usePermissionStore = defineStore('permission', {
   actions: {
   actions: {
     async generateRoutes(): Promise<unknown> {
     async generateRoutes(): Promise<unknown> {
       return new Promise<void>(async (resolve) => {
       return new Promise<void>(async (resolve) => {
+        // 获得菜单列表,它在登录的时候,setUserInfoAction 方法中已经进行获取
         let res: AppCustomRouteRecordRaw[]
         let res: AppCustomRouteRecordRaw[]
         if (wsCache.get(CACHE_KEY.ROLE_ROUTERS)) {
         if (wsCache.get(CACHE_KEY.ROLE_ROUTERS)) {
           res = wsCache.get(CACHE_KEY.ROLE_ROUTERS) as AppCustomRouteRecordRaw[]
           res = wsCache.get(CACHE_KEY.ROLE_ROUTERS) as AppCustomRouteRecordRaw[]
-        } else {
-          res = await getAsyncRoutesApi()
-          wsCache.set(CACHE_KEY.ROLE_ROUTERS, res)
         }
         }
         const routerMap: AppRouteRecordRaw[] = generateRoute(res as AppCustomRouteRecordRaw[])
         const routerMap: AppRouteRecordRaw[] = generateRoute(res as AppCustomRouteRecordRaw[])
         // 动态路由,404一定要放到最后面
         // 动态路由,404一定要放到最后面

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

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