feat: 登录时,直接从用户信息中,获取菜单。目的:加快首页的加载速度
							parent
							
								
									b885e078d8
								
							
						
					
					
						commit
						28ae5f793e
					
				|  | @ -8,7 +8,6 @@ enum Api { | ||||||
|   GetTenantIdByName = '/system/tenant/get-id-by-name?name=', |   GetTenantIdByName = '/system/tenant/get-id-by-name?name=', | ||||||
|   LoginOut = '/system/auth/logout', |   LoginOut = '/system/auth/logout', | ||||||
|   GetUserInfo = '/system/auth/get-permission-info', |   GetUserInfo = '/system/auth/get-permission-info', | ||||||
|   GetAsyncRoutes = '/system/auth/list-menus', |  | ||||||
|   GetCaptcha = '/system/captcha/get', |   GetCaptcha = '/system/captcha/get', | ||||||
|   CheckCaptcha = '/system/captcha/check' |   CheckCaptcha = '/system/captcha/check' | ||||||
| } | } | ||||||
|  | @ -33,11 +32,6 @@ export function getUserInfo() { | ||||||
|   return defHttp.get({ url: Api.GetUserInfo }) |   return defHttp.get({ url: Api.GetUserInfo }) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // 路由
 |  | ||||||
| export function getAsyncRoutes() { |  | ||||||
|   return defHttp.get({ url: Api.GetAsyncRoutes }) |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // 获取登录验证码
 | // 获取登录验证码
 | ||||||
| export function sendSmsCode(mobile, scene) { | export function sendSmsCode(mobile, scene) { | ||||||
|   return defHttp.post({ |   return defHttp.post({ | ||||||
|  |  | ||||||
|  | @ -1,14 +0,0 @@ | ||||||
| import { defHttp } from '@/utils/http/axios' |  | ||||||
| import { getMenuListResultModel } from './model/menuModel' |  | ||||||
| 
 |  | ||||||
| enum Api { |  | ||||||
|   GetMenuList = '/system/auth/list-menus' |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| /** |  | ||||||
|  * @description: Get user menu based on id |  | ||||||
|  */ |  | ||||||
| 
 |  | ||||||
| export function getMenuList() { |  | ||||||
|   return defHttp.get<getMenuListResultModel>({ url: Api.GetMenuList }) |  | ||||||
| } |  | ||||||
|  | @ -9,8 +9,3 @@ export interface RouteItem { | ||||||
|   caseSensitive?: boolean |   caseSensitive?: boolean | ||||||
|   children?: RouteItem[] |   children?: RouteItem[] | ||||||
| } | } | ||||||
| 
 |  | ||||||
| /** |  | ||||||
|  * @description: Get menu return value |  | ||||||
|  */ |  | ||||||
| export type getMenuListResultModel = RouteItem[] |  | ||||||
|  |  | ||||||
|  | @ -1,3 +1,5 @@ | ||||||
|  | import { RouteItem } from './menuModel' | ||||||
|  | 
 | ||||||
| /** | /** | ||||||
|  * @description: Login interface parameters |  * @description: Login interface parameters | ||||||
|  */ |  */ | ||||||
|  | @ -31,6 +33,7 @@ export interface LoginResultModel { | ||||||
| export interface GetUserInfoModel { | export interface GetUserInfoModel { | ||||||
|   roles: string[] |   roles: string[] | ||||||
|   permissions: string[] |   permissions: string[] | ||||||
|  |   menus: RouteItem[] | ||||||
|   // 用户id
 |   // 用户id
 | ||||||
|   user: userModel |   user: userModel | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -16,7 +16,6 @@ import { useI18n } from '@/hooks/web/useI18n' | ||||||
| import { useMessage } from '@/hooks/web/useMessage' | import { useMessage } from '@/hooks/web/useMessage' | ||||||
| import { filter } from '@/utils/helper/treeHelper' | import { filter } from '@/utils/helper/treeHelper' | ||||||
| import projectSetting from '@/settings/projectSetting' | import projectSetting from '@/settings/projectSetting' | ||||||
| import { getMenuList } from '@/api/base/menu' |  | ||||||
| import { PageEnum } from '@/enums/pageEnum' | import { PageEnum } from '@/enums/pageEnum' | ||||||
| import { PermissionModeEnum } from '@/enums/appEnum' | import { PermissionModeEnum } from '@/enums/appEnum' | ||||||
| 
 | 
 | ||||||
|  | @ -216,7 +215,7 @@ export const usePermissionStore = defineStore('app-permission', { | ||||||
|           // 这个功能可能只需要执行一次,实际项目可以自己放在合适的时间
 |           // 这个功能可能只需要执行一次,实际项目可以自己放在合适的时间
 | ||||||
|           let routeList: AppRouteRecordRaw[] = [] |           let routeList: AppRouteRecordRaw[] = [] | ||||||
|           try { |           try { | ||||||
|             routeList = (await getMenuList()) as AppRouteRecordRaw[] |             routeList = userInfo.menus as AppRouteRecordRaw[] | ||||||
|           } catch (error) { |           } catch (error) { | ||||||
|             console.error(error) |             console.error(error) | ||||||
|           } |           } | ||||||
|  | @ -233,7 +232,6 @@ export const usePermissionStore = defineStore('app-permission', { | ||||||
|           routeList = routeList.filter(routeRemoveIgnoreFilter) |           routeList = routeList.filter(routeRemoveIgnoreFilter) | ||||||
|           routeList = flatMultiLevelRoutes(routeList) |           routeList = flatMultiLevelRoutes(routeList) | ||||||
|           routes = [PAGE_NOT_FOUND_ROUTE, dashboard, ...routeList, about] |           routes = [PAGE_NOT_FOUND_ROUTE, dashboard, ...routeList, about] | ||||||
|           console.info(routes) |  | ||||||
|           break |           break | ||||||
|       } |       } | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue
	
	 xingyu
						xingyu