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