diff --git a/src/views/home.vue b/src/views/home.vue index 9ad8256..edc44ae 100644 --- a/src/views/home.vue +++ b/src/views/home.vue @@ -10,6 +10,29 @@ import { storeToRefs } from 'pinia' import { filterMenu, getRoutePath } from "@/utils/menuUtils.js"; import SettingsIcon from '@/assets/blue.png'; +// 使用import.meta.glob导入所有SVG图标(修复版本) +const icons = import.meta.glob('@/assets/SvgIcons/*.svg', { eager: true }) + +// 创建获取图标路径的函数(修复版本) +const getIconPath = (menuName) => { + + // 构建可能的key格式 + const possibleKeys = [ + `@/assets/SvgIcons/${menuName}.svg`, + `./SvgIcons/${menuName}.svg`, + `/src/assets/SvgIcons/${menuName}.svg` + ] + + // 在icons对象中查找对应的图标 + for (const key of possibleKeys) { + if (icons[key]) { + const iconModule = icons[key] + // 返回模块的default属性或直接返回值 + return iconModule.default || iconModule + } + } +} + // ----------------------------------- @@ -87,7 +110,6 @@ function findBestMatch(menuList, path) { return bestMatch || path // fallback 到当前路径 } -// 获取菜单图标(require动态导入) @@ -156,7 +178,7 @@ function logout() { - + - +