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