From be78a07b01e9c4877d29f161050216fa70069041 Mon Sep 17 00:00:00 2001
From: dap <15891557205@163.com>
Date: Thu, 7 Nov 2024 19:00:35 +0800
Subject: [PATCH] =?UTF-8?q?chore:=20=E6=9B=B4=E6=96=B0=E7=A6=BB=E7=BA=BF?=
=?UTF-8?q?=E5=9B=BE=E6=A0=87=E6=96=B9=E6=A1=88?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
apps/web-antd/src/router/routes/local.ts | 12 +--
packages/@core/base/icons/src/create-icon.ts | 10 +-
packages/@core/base/icons/src/index.ts | 11 +-
.../shadcn-ui/src/components/icon/icon.vue | 28 +----
.../icons/src/iconify-offline/menu-icons.ts | 100 ++++++++----------
.../{update_icon_在线图标.sql => update_icon.sql} | 0
.../菜单图标替换sql/update_icon_离线图标.sql | 46 --------
7 files changed, 62 insertions(+), 145 deletions(-)
rename scripts/菜单图标替换sql/{update_icon_在线图标.sql => update_icon.sql} (100%)
delete mode 100644 scripts/菜单图标替换sql/update_icon_离线图标.sql
diff --git a/apps/web-antd/src/router/routes/local.ts b/apps/web-antd/src/router/routes/local.ts
index 9ef8a7b6..1e131b3c 100644
--- a/apps/web-antd/src/router/routes/local.ts
+++ b/apps/web-antd/src/router/routes/local.ts
@@ -24,7 +24,7 @@ const profileRoute: RouteRecordStringComponent[] = [
{
component: '/_core/profile/index',
meta: {
- icon: 'mingcute:profile-line|offline',
+ icon: 'mingcute:profile-line',
keepAlive: true,
title: $t('ui.widgets.profile'),
},
@@ -48,7 +48,7 @@ const profileRoute: RouteRecordStringComponent[] = [
component: '/system/oss-config/index',
meta: {
activePath: '/system/oss',
- icon: 'ant-design:setting-outlined|offline',
+ icon: 'ant-design:setting-outlined',
keepAlive: true,
title: 'oss配置',
},
@@ -72,7 +72,7 @@ const profileRoute: RouteRecordStringComponent[] = [
component: '/tool/gen/edit-gen',
meta: {
activePath: '/tool/gen',
- icon: 'tabler:code|offline',
+ icon: 'tabler:code',
keepAlive: true,
title: '生成配置',
},
@@ -96,7 +96,7 @@ const profileRoute: RouteRecordStringComponent[] = [
component: '/system/role-assign/index',
meta: {
activePath: '/system/role',
- icon: 'eos-icons:role-binding-outlined|offline',
+ icon: 'eos-icons:role-binding-outlined',
keepAlive: true,
title: '分配角色',
},
@@ -143,7 +143,7 @@ export const localMenuList: RouteRecordStringComponent[] = [
path: '/vben-admin/document',
component: 'IFrameView',
meta: {
- icon: 'lucide:book-open-text|offline',
+ icon: 'lucide:book-open-text',
iframeSrc: 'https://dapdap.top',
keepAlive: true,
title: $t('demos.vben.document'),
@@ -155,7 +155,7 @@ export const localMenuList: RouteRecordStringComponent[] = [
component: 'BasicLayout',
meta: {
hideChildrenInMenu: true,
- icon: 'lucide:copyright|offline',
+ icon: 'lucide:copyright',
order: 9999,
title: $t('demos.vben.about'),
},
diff --git a/packages/@core/base/icons/src/create-icon.ts b/packages/@core/base/icons/src/create-icon.ts
index 4ad206de..9d9ba32c 100644
--- a/packages/@core/base/icons/src/create-icon.ts
+++ b/packages/@core/base/icons/src/create-icon.ts
@@ -1,10 +1,6 @@
import { defineComponent, h } from 'vue';
-import { Icon, type IconifyIcon } from '@iconify/vue';
-import {
- addIcon as addOfflineIcon,
- Icon as OfflineIcon,
-} from '@iconify/vue/dist/offline';
+import { addIcon, Icon, type IconifyIcon } from '@iconify/vue';
function createIconifyIcon(icon: string) {
return defineComponent({
@@ -25,8 +21,8 @@ function createIconifyOfflineIcon(icon: string, iconComponent: IconifyIcon) {
return defineComponent({
name: `Icon-${icon}`,
setup(props, { attrs }) {
- addOfflineIcon(icon, iconComponent);
- return () => h(OfflineIcon, { icon, ...props, ...attrs });
+ addIcon(icon, iconComponent);
+ return () => h(Icon, { icon, ...props, ...attrs });
},
});
}
diff --git a/packages/@core/base/icons/src/index.ts b/packages/@core/base/icons/src/index.ts
index bb5cdd8d..0114e7a6 100644
--- a/packages/@core/base/icons/src/index.ts
+++ b/packages/@core/base/icons/src/index.ts
@@ -5,9 +5,8 @@ export * from './lucide';
export type { IconifyIcon as IconifyIconStructure } from '@iconify/vue';
export { addCollection, addIcon, Icon as IconifyIcon } from '@iconify/vue';
-// 离线图标使用
-export {
- addCollection as addOfflineCollection,
- addIcon as addOfflineIcon,
- Icon as IconifyOfflineIcon,
-} from '@iconify/vue/dist/offline';
+
+/**
+ * 从@iconify/vue/dist/offline'导出的组件为离线ICON 不支持在线
+ * 从@iconify/vue'导出的组件为在能找到本地图标为离线 否则会在线获取(适用性更强)
+ */
diff --git a/packages/@core/ui-kit/shadcn-ui/src/components/icon/icon.vue b/packages/@core/ui-kit/shadcn-ui/src/components/icon/icon.vue
index 4ec10f9e..bb3d3a5b 100644
--- a/packages/@core/ui-kit/shadcn-ui/src/components/icon/icon.vue
+++ b/packages/@core/ui-kit/shadcn-ui/src/components/icon/icon.vue
@@ -1,7 +1,7 @@
-
diff --git a/packages/icons/src/iconify-offline/menu-icons.ts b/packages/icons/src/iconify-offline/menu-icons.ts
index 8afb8fe8..c32c4859 100644
--- a/packages/icons/src/iconify-offline/menu-icons.ts
+++ b/packages/icons/src/iconify-offline/menu-icons.ts
@@ -1,4 +1,4 @@
-import { addOfflineIcon } from '@vben-core/icons';
+import { addIcon } from '@vben-core/icons';
import schedule from '@iconify/icons-akar-icons/schedule';
import settingOutline from '@iconify/icons-ant-design/setting-outlined';
@@ -49,60 +49,54 @@ import code from '@iconify/icons-tabler/code';
/**
* 这里添加菜单图标
*/
-addOfflineIcon('eos-icons:system-group', SystemGroup);
-addOfflineIcon('ph:user-duotone', UserDuotone);
-addOfflineIcon('eos-icons:role-binding-outlined', RoleBindingOutlined);
-addOfflineIcon('ic:sharp-menu', MenuSharp);
-addOfflineIcon('mingcute:department-line', DepartmentLine);
-addOfflineIcon('icon-park-outline:appointment', Appointment);
-addOfflineIcon('fluent-mdl2:dictionary', Dictionary);
-addOfflineIcon('icon-park-twotone:setting-two', SettingTwo);
-addOfflineIcon('fe:notice-push', NoticePush);
-addOfflineIcon('material-symbols:logo-dev-outline', LogoDevOutline);
-addOfflineIcon('arcticons:one-hand-operation', Operation);
-addOfflineIcon(
+addIcon('eos-icons:system-group', SystemGroup);
+addIcon('ph:user-duotone', UserDuotone);
+addIcon('eos-icons:role-binding-outlined', RoleBindingOutlined);
+addIcon('ic:sharp-menu', MenuSharp);
+addIcon('mingcute:department-line', DepartmentLine);
+addIcon('icon-park-outline:appointment', Appointment);
+addIcon('fluent-mdl2:dictionary', Dictionary);
+addIcon('icon-park-twotone:setting-two', SettingTwo);
+addIcon('fe:notice-push', NoticePush);
+addIcon('material-symbols:logo-dev-outline', LogoDevOutline);
+addIcon('arcticons:one-hand-operation', Operation);
+addIcon(
'streamline:interface-login-dial-pad-finger-password-dial-pad-dot-finger',
InterfaceLoginDialPadFingerPasswordDialPadDotFinger,
);
-addOfflineIcon('solar:folder-with-files-outline', FolderWithFilesOutline);
-addOfflineIcon('simple-icons:authy', Authy);
-addOfflineIcon('ic:baseline-house', BaseLineHouse);
-addOfflineIcon('bi:houses-fill', BaseLineHousesFill);
-addOfflineIcon('bx:package', BxPackage);
-addOfflineIcon('solar:monitor-bold-duotone', monitorBoldDuotone);
-addOfflineIcon(
- 'material-symbols:generating-tokens-outline',
- generatingTokensOutline,
-);
-addOfflineIcon('devicon:redis-wordmark', redisWordmark);
-addOfflineIcon('devicon:spring-wordmark', springWordmark);
-addOfflineIcon('akar-icons:schedule', schedule);
-addOfflineIcon('mdi:tools', tools);
-addOfflineIcon('tabler:code', code);
-addOfflineIcon('flat-color-icons:plus', plus);
-addOfflineIcon('devicon:vscode', vscode);
-addOfflineIcon('lucide:table', table);
-addOfflineIcon('emojione:evergreen-tree', evergreenTree);
-addOfflineIcon('fluent-mdl2:leave-user', leaveUser);
-addOfflineIcon('mdi:workflow-outline', workflowOutline);
-addOfflineIcon('tabler:category-plus', categoryPlus);
-addOfflineIcon('carbon:model-alt', modelAlt);
-addOfflineIcon('fluent-mdl2:build-definition', builDefinition);
-addOfflineIcon('fluent-mdl2:build-definition', builDefinition);
-addOfflineIcon('icon-park-outline:monitor', monitor);
-addOfflineIcon('ri:instance-line', insatnceLine);
-addOfflineIcon('ri:todo-line', todoLine);
-addOfflineIcon('fluent:form-24-regular', from24);
-addOfflineIcon('carbon:task-approved', taskApproved);
-addOfflineIcon('ic:round-launch', roundLaunch);
-addOfflineIcon(
- 'material-symbols:cloud-done-outline-rounded',
- cloudDoneOutlineRounded,
-);
-addOfflineIcon('mdi:cc-outline', ccOutline);
-addOfflineIcon('lucide:book-open-text', boolOpenText);
-addOfflineIcon('lucide:copyright', copyright);
+addIcon('solar:folder-with-files-outline', FolderWithFilesOutline);
+addIcon('simple-icons:authy', Authy);
+addIcon('ic:baseline-house', BaseLineHouse);
+addIcon('bi:houses-fill', BaseLineHousesFill);
+addIcon('bx:package', BxPackage);
+addIcon('solar:monitor-bold-duotone', monitorBoldDuotone);
+addIcon('material-symbols:generating-tokens-outline', generatingTokensOutline);
+addIcon('devicon:redis-wordmark', redisWordmark);
+addIcon('devicon:spring-wordmark', springWordmark);
+addIcon('akar-icons:schedule', schedule);
+addIcon('mdi:tools', tools);
+addIcon('tabler:code', code);
+addIcon('flat-color-icons:plus', plus);
+addIcon('devicon:vscode', vscode);
+addIcon('lucide:table', table);
+addIcon('emojione:evergreen-tree', evergreenTree);
+addIcon('fluent-mdl2:leave-user', leaveUser);
+addIcon('mdi:workflow-outline', workflowOutline);
+addIcon('tabler:category-plus', categoryPlus);
+addIcon('carbon:model-alt', modelAlt);
+addIcon('fluent-mdl2:build-definition', builDefinition);
+addIcon('fluent-mdl2:build-definition', builDefinition);
+addIcon('icon-park-outline:monitor', monitor);
+addIcon('ri:instance-line', insatnceLine);
+addIcon('ri:todo-line', todoLine);
+addIcon('fluent:form-24-regular', from24);
+addIcon('carbon:task-approved', taskApproved);
+addIcon('ic:round-launch', roundLaunch);
+addIcon('material-symbols:cloud-done-outline-rounded', cloudDoneOutlineRounded);
+addIcon('mdi:cc-outline', ccOutline);
+addIcon('lucide:book-open-text', boolOpenText);
+addIcon('lucide:copyright', copyright);
// 个人中心
-addOfflineIcon('mingcute:profile-line', profileLine);
+addIcon('mingcute:profile-line', profileLine);
// oss配置
-addOfflineIcon('ant-design:setting-outlined', settingOutline);
+addIcon('ant-design:setting-outlined', settingOutline);
diff --git a/scripts/菜单图标替换sql/update_icon_在线图标.sql b/scripts/菜单图标替换sql/update_icon.sql
similarity index 100%
rename from scripts/菜单图标替换sql/update_icon_在线图标.sql
rename to scripts/菜单图标替换sql/update_icon.sql
diff --git a/scripts/菜单图标替换sql/update_icon_离线图标.sql b/scripts/菜单图标替换sql/update_icon_离线图标.sql
deleted file mode 100644
index fd38cbc8..00000000
--- a/scripts/菜单图标替换sql/update_icon_离线图标.sql
+++ /dev/null
@@ -1,46 +0,0 @@
-UPDATE sys_menu SET icon = 'eos-icons:system-group|offline' WHERE menu_id = 1;
-UPDATE sys_menu SET icon = 'solar:monitor-bold-duotone|offline' WHERE menu_id = 2;
-UPDATE sys_menu SET icon = 'mdi:tools|offline' WHERE menu_id = 3;
-UPDATE sys_menu SET icon = 'flat-color-icons:plus|offline' WHERE menu_id = 4;
-UPDATE sys_menu SET icon = 'devicon:vscode|offline' WHERE menu_id = 5;
-UPDATE sys_menu SET icon = 'ic:baseline-house|offline' WHERE menu_id = 6;
-UPDATE sys_menu SET icon = 'ph:user-duotone|offline' WHERE menu_id = 100;
-UPDATE sys_menu SET icon = 'eos-icons:role-binding-outlined|offline' WHERE menu_id = 101;
-UPDATE sys_menu SET icon = 'ic:sharp-menu|offline' WHERE menu_id = 102;
-UPDATE sys_menu SET icon = 'mingcute:department-line|offline' WHERE menu_id = 103;
-UPDATE sys_menu SET icon = 'icon-park-outline:appointment|offline' WHERE menu_id = 104;
-UPDATE sys_menu SET icon = 'fluent-mdl2:dictionary|offline' WHERE menu_id = 105;
-UPDATE sys_menu SET icon = 'icon-park-twotone:setting-two|offline' WHERE menu_id = 106;
-UPDATE sys_menu SET icon = 'fe:notice-push|offline' WHERE menu_id = 107;
-UPDATE sys_menu SET icon = 'material-symbols:logo-dev-outline|offline' WHERE menu_id = 108;
-UPDATE sys_menu SET icon = 'material-symbols:generating-tokens-outline|offline' WHERE menu_id = 109;
-UPDATE sys_menu SET icon = 'devicon:redis-wordmark|offline' WHERE menu_id = 113;
-UPDATE sys_menu SET icon = 'fluent:form-new-24-regular|offline' WHERE menu_id = 114;
-UPDATE sys_menu SET icon = 'tabler:code|offline' WHERE menu_id = 115;
-UPDATE sys_menu SET icon = 'devicon:spring-wordmark|offline' WHERE menu_id = 117;
-UPDATE sys_menu SET icon = 'solar:folder-with-files-outline|offline' WHERE menu_id = 118;
-UPDATE sys_menu SET icon = 'akar-icons:schedule|offline' WHERE menu_id = 120;
-UPDATE sys_menu SET icon = 'bi:houses-fill|offline' WHERE menu_id = 121;
-UPDATE sys_menu SET icon = 'bx:package|offline' WHERE menu_id = 122;
-UPDATE sys_menu SET icon = 'simple-icons:authy|offline' WHERE menu_id = 123;
-UPDATE sys_menu SET icon = 'arcticons:one-hand-operation|offline' WHERE menu_id = 500;
-UPDATE sys_menu SET icon = 'streamline:interface-login-dial-pad-finger-password-dial-pad-dot-finger|offline' WHERE menu_id = 501;
-
-UPDATE sys_menu SET icon = 'lucide:table|offline' WHERE menu_id = 1500;
-UPDATE sys_menu SET icon = 'emojione:evergreen-tree|offline' WHERE menu_id = 1506;
-
-/*UPDATE sys_menu SET icon = 'icon-park-twotone:web-page|offline' WHERE menu_id = 4; PLUS官网 */
-UPDATE sys_menu SET icon = 'mdi:workflow-outline|offline' WHERE menu_id = 11616;
-UPDATE sys_menu SET icon = 'carbon:model-alt|offline' WHERE menu_id = 11617;
-UPDATE sys_menu SET icon = 'carbon:task-approved|offline' WHERE menu_id = 11618;
-UPDATE sys_menu SET icon = 'ri:todo-line|offline' WHERE menu_id = 11619;
-UPDATE sys_menu SET icon = 'fluent-mdl2:build-definition|offline' WHERE menu_id = 11620;
-UPDATE sys_menu SET icon = 'ri:instance-line|offline' WHERE menu_id = 11621;
-UPDATE sys_menu SET icon = 'tabler:category-plus|offline' WHERE menu_id = 11622;
-UPDATE sys_menu SET icon = 'ic:round-launch|offline' WHERE menu_id = 11629;
-UPDATE sys_menu SET icon = 'icon-park-outline:monitor|offline' WHERE menu_id = 11630;
-UPDATE sys_menu SET icon = 'ri:todo-line|offline' WHERE menu_id = 11631;
-UPDATE sys_menu SET icon = 'material-symbols:cloud-done-outline-rounded|offline' WHERE menu_id = 11632;
-UPDATE sys_menu SET icon = 'mdi:cc-outline|offline' WHERE menu_id = 11633;
-UPDATE sys_menu SET icon = 'fluent-mdl2:leave-user|offline' WHERE menu_id = 11638;
-UPDATE sys_menu SET icon = 'fluent:form-24-regular|offline' WHERE menu_id = 11628;