// 这里存放本地图标,在 src/layout/index.vue 文件中加载,避免在首启动加载 import { getSvgInfo } from "@pureadmin/utils"; import { addIcon } from "@iconify/vue/dist/offline"; // https://icon-sets.iconify.design/ep/?keyword=ep import EpMenu from "~icons/ep/menu?raw"; import EpEdit from "~icons/ep/edit?raw"; import EpGuide from "~icons/ep/guide?raw"; import EpSetUp from "~icons/ep/set-up?raw"; import EpMonitor from "~icons/ep/monitor?raw"; import EpLollipop from "~icons/ep/lollipop?raw"; import EpHistogram from "~icons/ep/histogram?raw"; import EpHomeFilled from "~icons/ep/home-filled?raw"; // https://icon-sets.iconify.design/ri/?keyword=ri import RiMindMap from "~icons/ri/mind-map?raw"; import RiAdminFill from "~icons/ri/admin-fill?raw"; import RiTableLine from "~icons/ri/table-line?raw"; import RiLinksFill from "~icons/ri/links-fill?raw"; import RiAdminLine from "~icons/ri/admin-line?raw"; import RiListCheck from "~icons/ri/list-check?raw"; import RiSearchLine from "~icons/ri/search-line?raw"; import RiWindowLine from "~icons/ri/window-line?raw"; import RiUbuntuFill from "~icons/ri/ubuntu-fill?raw"; import RiHistoryFill from "~icons/ri/history-fill?raw"; import RiEditBoxLine from "~icons/ri/edit-box-line?raw"; import RiCodeBoxLine from "~icons/ri/code-box-line?raw"; import RiArtboardLine from "~icons/ri/artboard-line?raw"; import RiMarkdownLine from "~icons/ri/markdown-line?raw"; import RiFileInfoLine from "~icons/ri/file-info-line?raw"; import RiBankCardLine from "~icons/ri/bank-card-line?raw"; import RiFilePpt2Line from "~icons/ri/file-ppt-2-line?raw"; import RiGitBranchLine from "~icons/ri/git-branch-line?raw"; import RiSettings3Line from "~icons/ri/settings-3-line?raw"; import RiUserVoiceLine from "~icons/ri/user-voice-line?raw"; import RiBookmark2Line from "~icons/ri/bookmark-2-line?raw"; import RiFileSearchLine from "~icons/ri/file-search-line?raw"; import RiChatSearchLine from "~icons/ri/chat-search-line?raw"; import RiInformationLine from "~icons/ri/information-line?raw"; import RiTerminalWindowLine from "~icons/ri/terminal-window-line?raw"; import RiCheckboxCircleLine from "~icons/ri/checkbox-circle-line?raw"; import RiBarChartHorizontalLine from "~icons/ri/bar-chart-horizontal-line?raw"; const icons = [ // Element Plus Icon: https://github.com/element-plus/element-plus-icons ["ep/menu", EpMenu], ["ep/edit", EpEdit], ["ep/guide", EpGuide], ["ep/set-up", EpSetUp], ["ep/monitor", EpMonitor], ["ep/lollipop", EpLollipop], ["ep/histogram", EpHistogram], ["ep/home-filled", EpHomeFilled], // Remix Icon: https://github.com/Remix-Design/RemixIcon ["ri/mind-map", RiMindMap], ["ri/admin-fill", RiAdminFill], ["ri/table-line", RiTableLine], ["ri/links-fill", RiLinksFill], ["ri/admin-line", RiAdminLine], ["ri/list-check", RiListCheck], ["ri/search-line", RiSearchLine], ["ri/window-line", RiWindowLine], ["ri/ubuntu-fill", RiUbuntuFill], ["ri/history-fill", RiHistoryFill], ["ri/edit-box-line", RiEditBoxLine], ["ri/code-box-line", RiCodeBoxLine], ["ri/artboard-line", RiArtboardLine], ["ri/markdown-line", RiMarkdownLine], ["ri/file-info-line", RiFileInfoLine], ["ri/bank-card-line", RiBankCardLine], ["ri/file-ppt-2-line", RiFilePpt2Line], ["ri/git-branch-line", RiGitBranchLine], ["ri/settings-3-line", RiSettings3Line], ["ri/user-voice-line", RiUserVoiceLine], ["ri/bookmark-2-line", RiBookmark2Line], ["ri/file-search-line", RiFileSearchLine], ["ri/chat-search-line", RiChatSearchLine], ["ri/information-line", RiInformationLine], ["ri/terminal-window-line", RiTerminalWindowLine], ["ri/checkbox-circle-line", RiCheckboxCircleLine], ["ri/bar-chart-horizontal-line", RiBarChartHorizontalLine] ]; // 本地菜单图标,后端在路由的 icon 中返回对应的图标字符串并且前端在此处使用 addIcon 添加即可渲染菜单图标 icons.forEach(([name, icon]) => { addIcon(name as string, getSvgInfo(icon as string)); });