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('获取菜单失败')
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|