refactor: 使用@iconify-json/*包替换不再维护的@iconify-icons/*依赖,确保图标库可持续更新并优化使用体验

This commit is contained in:
xiaoxian521
2025-03-16 18:46:16 +08:00
parent b004c224c2
commit 818f12d1ea
61 changed files with 323 additions and 230 deletions

View File

@@ -8,8 +8,8 @@ import {
} from "./index";
import { ref, computed } from "vue";
import { isFunction } from "@pureadmin/utils";
import Fullscreen from "@iconify-icons/ri/fullscreen-fill";
import ExitFullscreen from "@iconify-icons/ri/fullscreen-exit-fill";
import Fullscreen from "~icons/ri/fullscreen-fill";
import ExitFullscreen from "~icons/ri/fullscreen-exit-fill";
defineOptions({
name: "ReDialog"

View File

@@ -2,7 +2,7 @@
import { IconJson } from "@/components/ReIcon/data";
import { cloneDeep, isAllEmpty } from "@pureadmin/utils";
import { ref, computed, CSSProperties, watch } from "vue";
import Search from "@iconify-icons/ri/search-eye-line";
import Search from "~icons/ri/search-eye-line";
type ParameterCSSProperties = (item?: string) => CSSProperties | undefined;

View File

@@ -1,22 +1,18 @@
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(
IconifyIcon,
this.icon,
{
icon: this.icon,
"aria-hidden": false,
style: attrs?.style
? Object.assign(attrs.style, { outline: "none" })

View File

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

View File

@@ -18,8 +18,8 @@ import {
getKeyList
} from "@pureadmin/utils";
import Fullscreen from "@iconify-icons/ri/fullscreen-fill";
import ExitFullscreen from "@iconify-icons/ri/fullscreen-exit-fill";
import Fullscreen from "~icons/ri/fullscreen-fill";
import ExitFullscreen from "~icons/ri/fullscreen-exit-fill";
import DragIcon from "@/assets/table-bar/drag.svg?component";
import ExpandIcon from "@/assets/table-bar/expand.svg?component";
import RefreshIcon from "@/assets/table-bar/refresh.svg?component";

View File

@@ -11,7 +11,7 @@ import "./index.scss";
import propTypes from "@/utils/propTypes";
import { isString, cloneDeep } from "@pureadmin/utils";
import QRCode, { type QRCodeRenderersOptions } from "qrcode";
import RefreshRight from "@iconify-icons/ep/refresh-right";
import RefreshRight from "~icons/ep/refresh-right";
interface QrcodeLogo {
src?: string;

View File

@@ -12,8 +12,8 @@ import {
getCurrentInstance
} from "vue";
import Fullscreen from "@iconify-icons/ri/fullscreen-fill";
import ExitFullscreen from "@iconify-icons/ri/fullscreen-exit-fill";
import Fullscreen from "~icons/ri/fullscreen-fill";
import ExitFullscreen from "~icons/ri/fullscreen-exit-fill";
import DragIcon from "@/assets/table-bar/drag.svg?component";
import ExpandIcon from "@/assets/table-bar/expand.svg?component";
import RefreshIcon from "@/assets/table-bar/refresh.svg?component";