Files
art-design/src/api/menuApi.ts
T

35 lines
1.1 KiB
TypeScript
Raw Normal View History

2025-07-04 17:16:38 +08:00
import { asyncRoutes } from '@/router/routes/asyncRoutes'
import { menuDataToRouter } from '@/router/utils/menuToRouter'
import { AppRouteRecord } from '@/types/router'
2025-07-11 18:37:16 +08:00
import { useUserStore } from '@/store/modules/user'
2025-07-04 17:16:38 +08:00
interface MenuResponse {
menuList: AppRouteRecord[]
}
// 菜单接口
export const menuService = {
async getMenuList(delay = 300): Promise<MenuResponse> {
try {
2025-07-11 18:37:16 +08:00
const userStore = useUserStore()
2025-07-04 17:16:38 +08:00
// 模拟接口返回的菜单数据
2025-07-11 18:37:16 +08:00
const menuData = userStore.info.menu
2025-07-11 19:43:34 +08:00
if(menuData.length==0){
ElMessage.error('暂无系统菜单权限')
}
2025-07-11 18:37:16 +08:00
const menuData1 = asyncRoutes
2025-07-04 17:16:38 +08:00
// 处理菜单数据
2025-07-11 18:37:16 +08:00
// const menuList1 = menuData1.map((route) => menuDataToRouter(route))
const menuList = menuData.map((route: any) => menuDataToRouter(route))
// console.log(menuList1)
// console.log(menuList)
2025-07-04 17:16:38 +08:00
// 模拟接口延迟
await new Promise((resolve) => setTimeout(resolve, delay))
return { menuList }
2025-07-11 19:43:34 +08:00
2025-07-04 17:16:38 +08:00
} catch (error) {
throw error instanceof Error ? error : new Error('获取菜单失败')
}
}
}