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;