chore: update

This commit is contained in:
xiaoxian521 2025-03-20 15:57:13 +08:00
parent 818f12d1ea
commit 2d06dc1dd8
28 changed files with 147 additions and 75 deletions

View File

@ -121,6 +121,7 @@
"@faker-js/faker": "^9.5.0", "@faker-js/faker": "^9.5.0",
"@iconify-json/ep": "^1.2.2", "@iconify-json/ep": "^1.2.2",
"@iconify-json/ri": "^1.2.5", "@iconify-json/ri": "^1.2.5",
"@iconify/utils": "^2.3.0",
"@iconify/vue": "4.2.0", "@iconify/vue": "4.2.0",
"@intlify/unplugin-vue-i18n": "^6.0.3", "@intlify/unplugin-vue-i18n": "^6.0.3",
"@types/codemirror": "^5.60.15", "@types/codemirror": "^5.60.15",

3
pnpm-lock.yaml generated
View File

@ -225,6 +225,9 @@ importers:
'@iconify-json/ri': '@iconify-json/ri':
specifier: ^1.2.5 specifier: ^1.2.5
version: 1.2.5 version: 1.2.5
'@iconify/utils':
specifier: ^2.3.0
version: 2.3.0
'@iconify/vue': '@iconify/vue':
specifier: 4.2.0 specifier: 4.2.0
version: 4.2.0(vue@3.5.13(typescript@5.7.3)) version: 4.2.0(vue@3.5.13(typescript@5.7.3))

View File

@ -13,3 +13,11 @@ const IconSelect = iconSelect;
const FontIcon = fontIcon; const FontIcon = fontIcon;
export { IconifyIconOffline, IconifyIconOnline, IconSelect, FontIcon }; export { IconifyIconOffline, IconifyIconOnline, IconSelect, FontIcon };
export function getIconOffline(icon: string) {
if (icon && icon.includes("/")) {
return icon.replace("/", ":");
} else {
return icon;
}
}

View File

@ -1,6 +1,11 @@
import type { iconType } from "./types"; import type { iconType } from "./types";
import { h, defineComponent, type Component } from "vue"; import { h, defineComponent, type Component } from "vue";
import { IconifyIconOnline, IconifyIconOffline, FontIcon } from "../index"; import {
FontIcon,
getIconOffline,
IconifyIconOnline,
IconifyIconOffline
} from "../index";
/** /**
* `iconfont` `svg` `iconify` * `iconfont` `svg` `iconify`
@ -52,7 +57,7 @@ export function useRenderIcon(icon: any, attrs?: iconType): Component {
const IconifyIcon = const IconifyIcon =
icon && icon.includes(":") ? IconifyIconOnline : IconifyIconOffline; icon && icon.includes(":") ? IconifyIconOnline : IconifyIconOffline;
return h(IconifyIcon, { return h(IconifyIcon, {
icon: icon, icon: getIconOffline(icon),
...attrs ...attrs
}); });
} }

View File

@ -1,27 +1,47 @@
import { h, defineComponent } from "vue"; import { h, defineComponent } from "vue";
import { Icon as IconifyIcon, addIcon } from "@iconify/vue/dist/offline";
// Iconify Icon在Vue里本地使用用于内网环境 // Iconify Icon在Vue里本地使用用于内网环境
export default defineComponent({ export default defineComponent({
name: "IconifyIconOffline", name: "IconifyIconOffline",
components: { IconifyIcon },
props: { props: {
icon: { icon: {
default: null default: null
} }
}, },
render() { render() {
if (typeof this.icon === "object") addIcon(this.icon, this.icon);
const attrs = this.$attrs; const attrs = this.$attrs;
return h( if (typeof this.icon === "string") {
this.icon, return h(
{ IconifyIcon,
"aria-hidden": false, {
style: attrs?.style icon: this.icon,
? Object.assign(attrs.style, { outline: "none" }) "aria-hidden": false,
: { outline: "none" }, style: attrs?.style
...attrs ? Object.assign(attrs.style, { outline: "none" })
}, : { outline: "none" },
{ ...attrs
default: () => [] },
} {
); default: () => []
}
);
} else {
return h(
this.icon,
{
"aria-hidden": false,
style: attrs?.style
? Object.assign(attrs.style, { outline: "none" })
: { outline: "none" },
...attrs
},
{
default: () => []
}
);
}
} }
}); });

View File

@ -1,8 +1,9 @@
// // 这里存放本地图标,在 src/layout/index.vue 文件中加载,避免在首启动加载 // 这里存放本地图标,在 src/layout/index.vue 文件中加载,避免在首启动加载
// import { addIcon } from "@iconify/vue/dist/offline"; import { getIcons } from "@iconify/utils";
import { addCollection } from "@iconify/vue/dist/offline";
// // 本地菜单图标,后端在路由的 icon 中返回对应的图标字符串并且前端在此处使用 addIcon 添加即可渲染菜单图标 // 本地菜单图标,后端在路由的 icon 中返回对应的图标字符串并且前端在此处使用 addIcon 添加即可渲染菜单图标
// // @iconify-json/ep // @iconify-json/ep
// import Menu from "~icons/ep/menu"; // import Menu from "~icons/ep/menu";
// import Edit from "~icons/ep/edit"; // import Edit from "~icons/ep/edit";
// import SetUp from "~icons/ep/set-up"; // import SetUp from "~icons/ep/set-up";
@ -11,15 +12,22 @@
// import Lollipop from "~icons/ep/lollipop"; // import Lollipop from "~icons/ep/lollipop";
// import Histogram from "~icons/ep/histogram"; // import Histogram from "~icons/ep/histogram";
// import HomeFilled from "~icons/ep/home-filled"; // import HomeFilled from "~icons/ep/home-filled";
// addIcon("ep:menu", Menu);
// addIcon("ep:edit", Edit); import { icons as iconsEp } from "@iconify-json/ep";
// addIcon("ep:set-up", SetUp); addCollection(
// addIcon("ep:guide", Guide); getIcons(iconsEp, [
// addIcon("ep:monitor", Monitor); "menu",
// addIcon("ep:lollipop", Lollipop); "edit",
// addIcon("ep:histogram", Histogram); "set-up",
// addIcon("ep:home-filled", HomeFilled); "guide",
// // @iconify-json/ri "monitor",
"lollipop",
"histogram",
"home-filled"
])
);
// @iconify-json/ri
// import Tag from "~icons/ri/bookmark-2-line"; // import Tag from "~icons/ri/bookmark-2-line";
// import Ppt from "~icons/ri/file-ppt-2-line"; // import Ppt from "~icons/ri/file-ppt-2-line";
// import Card from "~icons/ri/bank-card-line"; // import Card from "~icons/ri/bank-card-line";
@ -44,27 +52,54 @@
// import InformationLine from "~icons/ri/information-line"; // import InformationLine from "~icons/ri/information-line";
// import TerminalWindowLine from "~icons/ri/terminal-window-line"; // import TerminalWindowLine from "~icons/ri/terminal-window-line";
// import CheckboxCircleLine from "~icons/ri/checkbox-circle-line"; // import CheckboxCircleLine from "~icons/ri/checkbox-circle-line";
// addIcon("ri:bookmark-2-line", Tag); // import ChatSearchLine from "~icons/ri/chat-search-line";
// addIcon("ri:file-ppt-2-line", Ppt); import { icons as iconsRi } from "@iconify-json/ri";
// addIcon("ri:bank-card-line", Card); addCollection(
// addIcon("ri:admin-fill", Role); getIcons(iconsRi, [
// addIcon("ri:file-info-line", Info); "bookmark-2-line",
// addIcon("ri:git-branch-line", Dept); "file-ppt-2-line",
// addIcon("ri:links-fill", Links); "bank-card-line",
// addIcon("ri:table-line", Table); "admin-fill",
// addIcon("ri:search-line", Search); "file-info-line",
// addIcon("ri:admin-line", FlUser); "git-branch-line",
// addIcon("ri:settings-3-line", Setting); "table-line",
// addIcon("ri:mind-map", MindMap); "links-fill",
// addIcon("ri:bar-chart-horizontal-line", BarChart); "search-line",
// addIcon("ri:window-line", LoginLog); "admin-line",
// addIcon("ri:file-search-line", SystemLog); "settings-3-line",
// addIcon("ri:artboard-line", Artboard); "mind-map",
// addIcon("ri:list-check", ListCheck); "bar-chart-horizontal-line",
// addIcon("ri:ubuntu-fill", UbuntuFill); "window-line",
// addIcon("ri:user-voice-line", OnlineUser); "artboard-line",
// addIcon("ri:edit-box-line", EditBoxLine); "file-search-line",
// addIcon("ri:history-fill", OperationLog); "list-check",
// addIcon("ri:information-line", InformationLine); "ubuntu-fill",
// addIcon("ri:terminal-window-line", TerminalWindowLine); "user-voice-line",
// addIcon("ri:checkbox-circle-line", CheckboxCircleLine); "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
// }

View File

@ -5,7 +5,7 @@ export default {
path: "/able", path: "/able",
redirect: "/able/watermark", redirect: "/able/watermark",
meta: { meta: {
icon: "ri:ubuntu-fill", icon: "ri/ubuntu-fill",
title: $t("menus.pureAble"), title: $t("menus.pureAble"),
rank: able rank: able
}, },

View File

@ -5,7 +5,7 @@ export default {
path: "/about", path: "/about",
redirect: "/about/index", redirect: "/about/index",
meta: { meta: {
icon: "ri:file-info-line", icon: "ri/file-info-line",
title: $t("menus.pureAbout"), title: $t("menus.pureAbout"),
rank: about rank: about
}, },

View File

@ -6,7 +6,7 @@ export default {
path: "/board", path: "/board",
redirect: "/board/index", redirect: "/board/index",
meta: { meta: {
icon: "ri:artboard-line", icon: "ri/artboard-line",
title: $t("menus.pureBoard"), title: $t("menus.pureBoard"),
rank: board rank: board
}, },

View File

@ -4,7 +4,7 @@ export default {
path: "/chatai", path: "/chatai",
redirect: "/chatai/index", redirect: "/chatai/index",
meta: { meta: {
icon: "ri:chat-search-line", icon: "ri/chat-search-line",
title: "chat-ai", title: "chat-ai",
rank: chatai rank: chatai
}, },

View File

@ -5,7 +5,7 @@ export default {
path: "/codemirror", path: "/codemirror",
redirect: "/codemirror/index", redirect: "/codemirror/index",
meta: { meta: {
icon: "ri:code-box-line", icon: "ri/code-box-line",
title: $t("menus.pureCodeMirror"), title: $t("menus.pureCodeMirror"),
rank: codemirror rank: codemirror
}, },

View File

@ -5,7 +5,7 @@ export default {
path: "/components", path: "/components",
redirect: "/components/dialog", redirect: "/components/dialog",
meta: { meta: {
icon: "ep:menu", icon: "ep/menu",
title: $t("menus.pureComponents"), title: $t("menus.pureComponents"),
rank: components rank: components
}, },

View File

@ -5,7 +5,7 @@ export default {
path: "/editor", path: "/editor",
redirect: "/editor/index", redirect: "/editor/index",
meta: { meta: {
icon: "ep:edit", icon: "ep/edit",
title: $t("menus.pureEditor"), title: $t("menus.pureEditor"),
rank: editor rank: editor
}, },

View File

@ -5,7 +5,7 @@ export default {
path: "/error", path: "/error",
redirect: "/error/403", redirect: "/error/403",
meta: { meta: {
icon: "ri:information-line", icon: "ri/information-line",
// showLink: false, // showLink: false,
title: $t("menus.pureAbnormal"), title: $t("menus.pureAbnormal"),
rank: error rank: error

View File

@ -5,7 +5,7 @@ export default {
path: "/flow-chart", path: "/flow-chart",
redirect: "/flow-chart/index", redirect: "/flow-chart/index",
meta: { meta: {
icon: "ep:set-up", icon: "ep/set-up",
title: $t("menus.pureFlowChart"), title: $t("menus.pureFlowChart"),
rank: flowchart rank: flowchart
}, },

View File

@ -5,7 +5,7 @@ export default {
path: "/form", path: "/form",
redirect: "/form/index", redirect: "/form/index",
meta: { meta: {
icon: "ri:edit-box-line", icon: "ri/edit-box-line",
title: $t("menus.pureSchemaForm"), title: $t("menus.pureSchemaForm"),
rank: form rank: form
}, },

View File

@ -6,7 +6,7 @@ export default {
path: "/form-design", path: "/form-design",
redirect: "/form-design/index", redirect: "/form-design/index",
meta: { meta: {
icon: "ri:terminal-window-line", icon: "ri/terminal-window-line",
title: $t("menus.pureFormDesign"), title: $t("menus.pureFormDesign"),
rank: formdesign rank: formdesign
}, },

View File

@ -5,7 +5,7 @@ export default {
path: "/ganttastic", path: "/ganttastic",
redirect: "/ganttastic/index", redirect: "/ganttastic/index",
meta: { meta: {
icon: "ri:bar-chart-horizontal-line", icon: "ri/bar-chart-horizontal-line",
title: $t("menus.pureGanttastic"), title: $t("menus.pureGanttastic"),
rank: ganttastic rank: ganttastic
}, },

View File

@ -5,7 +5,7 @@ export default {
path: "/guide", path: "/guide",
redirect: "/guide/index", redirect: "/guide/index",
meta: { meta: {
icon: "ep:guide", icon: "ep/guide",
title: $t("menus.pureGuide"), title: $t("menus.pureGuide"),
rank: guide rank: guide
}, },

View File

@ -9,7 +9,7 @@ export default {
component: Layout, component: Layout,
redirect: "/welcome", redirect: "/welcome",
meta: { meta: {
icon: "ep:home-filled", icon: "ep/home-filled",
title: $t("menus.pureHome"), title: $t("menus.pureHome"),
rank: home rank: home
}, },

View File

@ -5,7 +5,7 @@ export default {
path: "/list", path: "/list",
redirect: "/list/card", redirect: "/list/card",
meta: { meta: {
icon: "ri:list-check", icon: "ri/list-check",
title: $t("menus.pureList"), title: $t("menus.pureList"),
rank: list rank: list
}, },
@ -15,7 +15,7 @@ export default {
name: "CardList", name: "CardList",
component: () => import("@/views/list/card/index.vue"), component: () => import("@/views/list/card/index.vue"),
meta: { meta: {
icon: "ri:bank-card-line", icon: "ri/bank-card-line",
title: $t("menus.pureCardList"), title: $t("menus.pureCardList"),
showParent: true showParent: true
} }

View File

@ -5,7 +5,7 @@ export default {
path: "/markdown", path: "/markdown",
redirect: "/markdown/index", redirect: "/markdown/index",
meta: { meta: {
icon: "ri:markdown-line", icon: "ri/markdown-line",
title: $t("menus.pureMarkdown"), title: $t("menus.pureMarkdown"),
rank: markdown rank: markdown
}, },

View File

@ -6,7 +6,7 @@ export default {
path: "/mind-map", path: "/mind-map",
redirect: "/mind-map/index", redirect: "/mind-map/index",
meta: { meta: {
icon: "ri:mind-map", icon: "ri/mind-map",
title: $t("menus.pureMindMap"), title: $t("menus.pureMindMap"),
rank: mind rank: mind
}, },

View File

@ -6,7 +6,7 @@ export default {
redirect: "/nested/menu1/menu1-1", redirect: "/nested/menu1/menu1-1",
meta: { meta: {
title: $t("menus.pureMenus"), title: $t("menus.pureMenus"),
icon: "ep:histogram", icon: "ep/histogram",
rank: nested rank: nested
}, },
children: [ children: [

View File

@ -5,7 +5,7 @@ export default {
path: "/ppt", path: "/ppt",
redirect: "/ppt/index", redirect: "/ppt/index",
meta: { meta: {
icon: "ri:file-ppt-2-line", icon: "ri/file-ppt-2-line",
title: "PPT", title: "PPT",
rank: ppt rank: ppt
}, },

View File

@ -5,7 +5,7 @@ export default {
path: "/result", path: "/result",
redirect: "/result/success", redirect: "/result/success",
meta: { meta: {
icon: "ri:checkbox-circle-line", icon: "ri/checkbox-circle-line",
title: $t("menus.pureResult"), title: $t("menus.pureResult"),
rank: result rank: result
}, },

View File

@ -5,7 +5,7 @@ export default {
path: "/table", path: "/table",
redirect: "/table/index", redirect: "/table/index",
meta: { meta: {
icon: "ri:table-line", icon: "ri/table-line",
title: $t("menus.pureTable"), title: $t("menus.pureTable"),
rank: table rank: table
}, },

View File

@ -4,7 +4,7 @@ export default {
path: "/vue-flow", path: "/vue-flow",
redirect: "/vue-flow/index", redirect: "/vue-flow/index",
meta: { meta: {
icon: "ep:set-up", icon: "ep/set-up",
title: "vue-flow", title: "vue-flow",
rank: vueflow rank: vueflow
}, },