mirror of
https://github.com/pure-admin/vue-pure-admin.git
synced 2025-06-06 16:37:18 +08:00
chore: update
This commit is contained in:
parent
818f12d1ea
commit
2d06dc1dd8
@ -121,6 +121,7 @@
|
||||
"@faker-js/faker": "^9.5.0",
|
||||
"@iconify-json/ep": "^1.2.2",
|
||||
"@iconify-json/ri": "^1.2.5",
|
||||
"@iconify/utils": "^2.3.0",
|
||||
"@iconify/vue": "4.2.0",
|
||||
"@intlify/unplugin-vue-i18n": "^6.0.3",
|
||||
"@types/codemirror": "^5.60.15",
|
||||
|
3
pnpm-lock.yaml
generated
3
pnpm-lock.yaml
generated
@ -225,6 +225,9 @@ importers:
|
||||
'@iconify-json/ri':
|
||||
specifier: ^1.2.5
|
||||
version: 1.2.5
|
||||
'@iconify/utils':
|
||||
specifier: ^2.3.0
|
||||
version: 2.3.0
|
||||
'@iconify/vue':
|
||||
specifier: 4.2.0
|
||||
version: 4.2.0(vue@3.5.13(typescript@5.7.3))
|
||||
|
@ -13,3 +13,11 @@ const IconSelect = iconSelect;
|
||||
const FontIcon = fontIcon;
|
||||
|
||||
export { IconifyIconOffline, IconifyIconOnline, IconSelect, FontIcon };
|
||||
|
||||
export function getIconOffline(icon: string) {
|
||||
if (icon && icon.includes("/")) {
|
||||
return icon.replace("/", ":");
|
||||
} else {
|
||||
return icon;
|
||||
}
|
||||
}
|
||||
|
@ -1,6 +1,11 @@
|
||||
import type { iconType } from "./types";
|
||||
import { h, defineComponent, type Component } from "vue";
|
||||
import { IconifyIconOnline, IconifyIconOffline, FontIcon } from "../index";
|
||||
import {
|
||||
FontIcon,
|
||||
getIconOffline,
|
||||
IconifyIconOnline,
|
||||
IconifyIconOffline
|
||||
} from "../index";
|
||||
|
||||
/**
|
||||
* 支持 `iconfont`、自定义 `svg` 以及 `iconify` 中所有的图标
|
||||
@ -52,7 +57,7 @@ export function useRenderIcon(icon: any, attrs?: iconType): Component {
|
||||
const IconifyIcon =
|
||||
icon && icon.includes(":") ? IconifyIconOnline : IconifyIconOffline;
|
||||
return h(IconifyIcon, {
|
||||
icon: icon,
|
||||
icon: getIconOffline(icon),
|
||||
...attrs
|
||||
});
|
||||
}
|
||||
|
@ -1,27 +1,47 @@
|
||||
import { h, defineComponent } from "vue";
|
||||
import { Icon as IconifyIcon, addIcon } from "@iconify/vue/dist/offline";
|
||||
|
||||
// Iconify Icon在Vue里本地使用(用于内网环境)
|
||||
export default defineComponent({
|
||||
name: "IconifyIconOffline",
|
||||
components: { IconifyIcon },
|
||||
props: {
|
||||
icon: {
|
||||
default: null
|
||||
}
|
||||
},
|
||||
render() {
|
||||
if (typeof this.icon === "object") addIcon(this.icon, this.icon);
|
||||
const attrs = this.$attrs;
|
||||
return h(
|
||||
this.icon,
|
||||
{
|
||||
"aria-hidden": false,
|
||||
style: attrs?.style
|
||||
? Object.assign(attrs.style, { outline: "none" })
|
||||
: { outline: "none" },
|
||||
...attrs
|
||||
},
|
||||
{
|
||||
default: () => []
|
||||
}
|
||||
);
|
||||
if (typeof this.icon === "string") {
|
||||
return h(
|
||||
IconifyIcon,
|
||||
{
|
||||
icon: this.icon,
|
||||
"aria-hidden": false,
|
||||
style: attrs?.style
|
||||
? Object.assign(attrs.style, { outline: "none" })
|
||||
: { outline: "none" },
|
||||
...attrs
|
||||
},
|
||||
{
|
||||
default: () => []
|
||||
}
|
||||
);
|
||||
} else {
|
||||
return h(
|
||||
this.icon,
|
||||
{
|
||||
"aria-hidden": false,
|
||||
style: attrs?.style
|
||||
? Object.assign(attrs.style, { outline: "none" })
|
||||
: { outline: "none" },
|
||||
...attrs
|
||||
},
|
||||
{
|
||||
default: () => []
|
||||
}
|
||||
);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
@ -1,8 +1,9 @@
|
||||
// // 这里存放本地图标,在 src/layout/index.vue 文件中加载,避免在首启动加载
|
||||
// import { addIcon } from "@iconify/vue/dist/offline";
|
||||
// 这里存放本地图标,在 src/layout/index.vue 文件中加载,避免在首启动加载
|
||||
import { getIcons } from "@iconify/utils";
|
||||
import { addCollection } from "@iconify/vue/dist/offline";
|
||||
|
||||
// // 本地菜单图标,后端在路由的 icon 中返回对应的图标字符串并且前端在此处使用 addIcon 添加即可渲染菜单图标
|
||||
// // @iconify-json/ep
|
||||
// 本地菜单图标,后端在路由的 icon 中返回对应的图标字符串并且前端在此处使用 addIcon 添加即可渲染菜单图标
|
||||
// @iconify-json/ep
|
||||
// import Menu from "~icons/ep/menu";
|
||||
// import Edit from "~icons/ep/edit";
|
||||
// import SetUp from "~icons/ep/set-up";
|
||||
@ -11,15 +12,22 @@
|
||||
// import Lollipop from "~icons/ep/lollipop";
|
||||
// import Histogram from "~icons/ep/histogram";
|
||||
// import HomeFilled from "~icons/ep/home-filled";
|
||||
// addIcon("ep:menu", Menu);
|
||||
// addIcon("ep:edit", Edit);
|
||||
// addIcon("ep:set-up", SetUp);
|
||||
// addIcon("ep:guide", Guide);
|
||||
// addIcon("ep:monitor", Monitor);
|
||||
// addIcon("ep:lollipop", Lollipop);
|
||||
// addIcon("ep:histogram", Histogram);
|
||||
// addIcon("ep:home-filled", HomeFilled);
|
||||
// // @iconify-json/ri
|
||||
|
||||
import { icons as iconsEp } from "@iconify-json/ep";
|
||||
addCollection(
|
||||
getIcons(iconsEp, [
|
||||
"menu",
|
||||
"edit",
|
||||
"set-up",
|
||||
"guide",
|
||||
"monitor",
|
||||
"lollipop",
|
||||
"histogram",
|
||||
"home-filled"
|
||||
])
|
||||
);
|
||||
|
||||
// @iconify-json/ri
|
||||
// import Tag from "~icons/ri/bookmark-2-line";
|
||||
// import Ppt from "~icons/ri/file-ppt-2-line";
|
||||
// import Card from "~icons/ri/bank-card-line";
|
||||
@ -44,27 +52,54 @@
|
||||
// import InformationLine from "~icons/ri/information-line";
|
||||
// import TerminalWindowLine from "~icons/ri/terminal-window-line";
|
||||
// import CheckboxCircleLine from "~icons/ri/checkbox-circle-line";
|
||||
// addIcon("ri:bookmark-2-line", Tag);
|
||||
// addIcon("ri:file-ppt-2-line", Ppt);
|
||||
// addIcon("ri:bank-card-line", Card);
|
||||
// addIcon("ri:admin-fill", Role);
|
||||
// addIcon("ri:file-info-line", Info);
|
||||
// addIcon("ri:git-branch-line", Dept);
|
||||
// addIcon("ri:links-fill", Links);
|
||||
// addIcon("ri:table-line", Table);
|
||||
// addIcon("ri:search-line", Search);
|
||||
// addIcon("ri:admin-line", FlUser);
|
||||
// addIcon("ri:settings-3-line", Setting);
|
||||
// addIcon("ri:mind-map", MindMap);
|
||||
// addIcon("ri:bar-chart-horizontal-line", BarChart);
|
||||
// addIcon("ri:window-line", LoginLog);
|
||||
// addIcon("ri:file-search-line", SystemLog);
|
||||
// addIcon("ri:artboard-line", Artboard);
|
||||
// addIcon("ri:list-check", ListCheck);
|
||||
// addIcon("ri:ubuntu-fill", UbuntuFill);
|
||||
// addIcon("ri:user-voice-line", OnlineUser);
|
||||
// addIcon("ri:edit-box-line", EditBoxLine);
|
||||
// addIcon("ri:history-fill", OperationLog);
|
||||
// addIcon("ri:information-line", InformationLine);
|
||||
// addIcon("ri:terminal-window-line", TerminalWindowLine);
|
||||
// addIcon("ri:checkbox-circle-line", CheckboxCircleLine);
|
||||
// import ChatSearchLine from "~icons/ri/chat-search-line";
|
||||
import { icons as iconsRi } from "@iconify-json/ri";
|
||||
addCollection(
|
||||
getIcons(iconsRi, [
|
||||
"bookmark-2-line",
|
||||
"file-ppt-2-line",
|
||||
"bank-card-line",
|
||||
"admin-fill",
|
||||
"file-info-line",
|
||||
"git-branch-line",
|
||||
"table-line",
|
||||
"links-fill",
|
||||
"search-line",
|
||||
"admin-line",
|
||||
"settings-3-line",
|
||||
"mind-map",
|
||||
"bar-chart-horizontal-line",
|
||||
"window-line",
|
||||
"artboard-line",
|
||||
"file-search-line",
|
||||
"list-check",
|
||||
"ubuntu-fill",
|
||||
"user-voice-line",
|
||||
"edit-box-line",
|
||||
"history-fill",
|
||||
"information-line",
|
||||
"terminal-window-line",
|
||||
"checkbox-circle-line",
|
||||
"chat-search-line",
|
||||
"code-box-line",
|
||||
"markdown-line"
|
||||
])
|
||||
);
|
||||
|
||||
// {
|
||||
// "prefix": "ri",
|
||||
// "icons": {
|
||||
// "bookmark-2-line": {
|
||||
// "body": "<path fill=\"currentColor\" d=\"M5 2h14a1 1 0 0 1 1 1v19.143a.5.5 0 0 1-.766.424L12 18.03l-7.234 4.536A.5.5 0 0 1 4 22.143V3a1 1 0 0 1 1-1m13 2H6v15.432l6-3.761l6 3.761zM8 9h8v2H8z\"/>"
|
||||
// },
|
||||
// "information-line": {
|
||||
// "body": "<path fill=\"currentColor\" d=\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10s-4.477 10-10 10m0-2a8 8 0 1 0 0-16a8 8 0 0 0 0 16M11 7h2v2h-2zm0 4h2v6h-2z\"/>"
|
||||
// },
|
||||
// "search-line": {
|
||||
// "body": "<path fill=\"currentColor\" d=\"m18.031 16.617l4.283 4.282l-1.415 1.415l-4.282-4.283A8.96 8.96 0 0 1 11 20c-4.968 0-9-4.032-9-9s4.032-9 9-9s9 4.032 9 9a8.96 8.96 0 0 1-1.969 5.617m-2.006-.742A6.98 6.98 0 0 0 18 11c0-3.867-3.133-7-7-7s-7 3.133-7 7s3.133 7 7 7a6.98 6.98 0 0 0 4.875-1.975z\"/>"
|
||||
// }
|
||||
// },
|
||||
// "lastModified": 1734422306,
|
||||
// "width": 24,
|
||||
// "height": 24
|
||||
// }
|
||||
|
@ -5,7 +5,7 @@ export default {
|
||||
path: "/able",
|
||||
redirect: "/able/watermark",
|
||||
meta: {
|
||||
icon: "ri:ubuntu-fill",
|
||||
icon: "ri/ubuntu-fill",
|
||||
title: $t("menus.pureAble"),
|
||||
rank: able
|
||||
},
|
||||
|
@ -5,7 +5,7 @@ export default {
|
||||
path: "/about",
|
||||
redirect: "/about/index",
|
||||
meta: {
|
||||
icon: "ri:file-info-line",
|
||||
icon: "ri/file-info-line",
|
||||
title: $t("menus.pureAbout"),
|
||||
rank: about
|
||||
},
|
||||
|
@ -6,7 +6,7 @@ export default {
|
||||
path: "/board",
|
||||
redirect: "/board/index",
|
||||
meta: {
|
||||
icon: "ri:artboard-line",
|
||||
icon: "ri/artboard-line",
|
||||
title: $t("menus.pureBoard"),
|
||||
rank: board
|
||||
},
|
||||
|
@ -4,7 +4,7 @@ export default {
|
||||
path: "/chatai",
|
||||
redirect: "/chatai/index",
|
||||
meta: {
|
||||
icon: "ri:chat-search-line",
|
||||
icon: "ri/chat-search-line",
|
||||
title: "chat-ai",
|
||||
rank: chatai
|
||||
},
|
||||
|
@ -5,7 +5,7 @@ export default {
|
||||
path: "/codemirror",
|
||||
redirect: "/codemirror/index",
|
||||
meta: {
|
||||
icon: "ri:code-box-line",
|
||||
icon: "ri/code-box-line",
|
||||
title: $t("menus.pureCodeMirror"),
|
||||
rank: codemirror
|
||||
},
|
||||
|
@ -5,7 +5,7 @@ export default {
|
||||
path: "/components",
|
||||
redirect: "/components/dialog",
|
||||
meta: {
|
||||
icon: "ep:menu",
|
||||
icon: "ep/menu",
|
||||
title: $t("menus.pureComponents"),
|
||||
rank: components
|
||||
},
|
||||
|
@ -5,7 +5,7 @@ export default {
|
||||
path: "/editor",
|
||||
redirect: "/editor/index",
|
||||
meta: {
|
||||
icon: "ep:edit",
|
||||
icon: "ep/edit",
|
||||
title: $t("menus.pureEditor"),
|
||||
rank: editor
|
||||
},
|
||||
|
@ -5,7 +5,7 @@ export default {
|
||||
path: "/error",
|
||||
redirect: "/error/403",
|
||||
meta: {
|
||||
icon: "ri:information-line",
|
||||
icon: "ri/information-line",
|
||||
// showLink: false,
|
||||
title: $t("menus.pureAbnormal"),
|
||||
rank: error
|
||||
|
@ -5,7 +5,7 @@ export default {
|
||||
path: "/flow-chart",
|
||||
redirect: "/flow-chart/index",
|
||||
meta: {
|
||||
icon: "ep:set-up",
|
||||
icon: "ep/set-up",
|
||||
title: $t("menus.pureFlowChart"),
|
||||
rank: flowchart
|
||||
},
|
||||
|
@ -5,7 +5,7 @@ export default {
|
||||
path: "/form",
|
||||
redirect: "/form/index",
|
||||
meta: {
|
||||
icon: "ri:edit-box-line",
|
||||
icon: "ri/edit-box-line",
|
||||
title: $t("menus.pureSchemaForm"),
|
||||
rank: form
|
||||
},
|
||||
|
@ -6,7 +6,7 @@ export default {
|
||||
path: "/form-design",
|
||||
redirect: "/form-design/index",
|
||||
meta: {
|
||||
icon: "ri:terminal-window-line",
|
||||
icon: "ri/terminal-window-line",
|
||||
title: $t("menus.pureFormDesign"),
|
||||
rank: formdesign
|
||||
},
|
||||
|
@ -5,7 +5,7 @@ export default {
|
||||
path: "/ganttastic",
|
||||
redirect: "/ganttastic/index",
|
||||
meta: {
|
||||
icon: "ri:bar-chart-horizontal-line",
|
||||
icon: "ri/bar-chart-horizontal-line",
|
||||
title: $t("menus.pureGanttastic"),
|
||||
rank: ganttastic
|
||||
},
|
||||
|
@ -5,7 +5,7 @@ export default {
|
||||
path: "/guide",
|
||||
redirect: "/guide/index",
|
||||
meta: {
|
||||
icon: "ep:guide",
|
||||
icon: "ep/guide",
|
||||
title: $t("menus.pureGuide"),
|
||||
rank: guide
|
||||
},
|
||||
|
@ -9,7 +9,7 @@ export default {
|
||||
component: Layout,
|
||||
redirect: "/welcome",
|
||||
meta: {
|
||||
icon: "ep:home-filled",
|
||||
icon: "ep/home-filled",
|
||||
title: $t("menus.pureHome"),
|
||||
rank: home
|
||||
},
|
||||
|
@ -5,7 +5,7 @@ export default {
|
||||
path: "/list",
|
||||
redirect: "/list/card",
|
||||
meta: {
|
||||
icon: "ri:list-check",
|
||||
icon: "ri/list-check",
|
||||
title: $t("menus.pureList"),
|
||||
rank: list
|
||||
},
|
||||
@ -15,7 +15,7 @@ export default {
|
||||
name: "CardList",
|
||||
component: () => import("@/views/list/card/index.vue"),
|
||||
meta: {
|
||||
icon: "ri:bank-card-line",
|
||||
icon: "ri/bank-card-line",
|
||||
title: $t("menus.pureCardList"),
|
||||
showParent: true
|
||||
}
|
||||
|
@ -5,7 +5,7 @@ export default {
|
||||
path: "/markdown",
|
||||
redirect: "/markdown/index",
|
||||
meta: {
|
||||
icon: "ri:markdown-line",
|
||||
icon: "ri/markdown-line",
|
||||
title: $t("menus.pureMarkdown"),
|
||||
rank: markdown
|
||||
},
|
||||
|
@ -6,7 +6,7 @@ export default {
|
||||
path: "/mind-map",
|
||||
redirect: "/mind-map/index",
|
||||
meta: {
|
||||
icon: "ri:mind-map",
|
||||
icon: "ri/mind-map",
|
||||
title: $t("menus.pureMindMap"),
|
||||
rank: mind
|
||||
},
|
||||
|
@ -6,7 +6,7 @@ export default {
|
||||
redirect: "/nested/menu1/menu1-1",
|
||||
meta: {
|
||||
title: $t("menus.pureMenus"),
|
||||
icon: "ep:histogram",
|
||||
icon: "ep/histogram",
|
||||
rank: nested
|
||||
},
|
||||
children: [
|
||||
|
@ -5,7 +5,7 @@ export default {
|
||||
path: "/ppt",
|
||||
redirect: "/ppt/index",
|
||||
meta: {
|
||||
icon: "ri:file-ppt-2-line",
|
||||
icon: "ri/file-ppt-2-line",
|
||||
title: "PPT",
|
||||
rank: ppt
|
||||
},
|
||||
|
@ -5,7 +5,7 @@ export default {
|
||||
path: "/result",
|
||||
redirect: "/result/success",
|
||||
meta: {
|
||||
icon: "ri:checkbox-circle-line",
|
||||
icon: "ri/checkbox-circle-line",
|
||||
title: $t("menus.pureResult"),
|
||||
rank: result
|
||||
},
|
||||
|
@ -5,7 +5,7 @@ export default {
|
||||
path: "/table",
|
||||
redirect: "/table/index",
|
||||
meta: {
|
||||
icon: "ri:table-line",
|
||||
icon: "ri/table-line",
|
||||
title: $t("menus.pureTable"),
|
||||
rank: table
|
||||
},
|
||||
|
@ -4,7 +4,7 @@ export default {
|
||||
path: "/vue-flow",
|
||||
redirect: "/vue-flow/index",
|
||||
meta: {
|
||||
icon: "ep:set-up",
|
||||
icon: "ep/set-up",
|
||||
title: "vue-flow",
|
||||
rank: vueflow
|
||||
},
|
||||
|
Loading…
x
Reference in New Issue
Block a user