feat: 离线图标功能
This commit is contained in:
parent
cce6117157
commit
2cc82a0c05
@ -24,7 +24,7 @@ const profileRoute: RouteRecordStringComponent[] = [
|
||||
{
|
||||
component: '/_core/profile/index',
|
||||
meta: {
|
||||
icon: 'mingcute:profile-line',
|
||||
icon: 'mingcute:profile-line|offline',
|
||||
keepAlive: true,
|
||||
title: $t('ui.widgets.profile'),
|
||||
},
|
||||
@ -48,7 +48,7 @@ const profileRoute: RouteRecordStringComponent[] = [
|
||||
component: '/system/oss-config/index',
|
||||
meta: {
|
||||
activePath: '/system/oss',
|
||||
icon: 'mingcute:profile-line',
|
||||
icon: 'ant-design:setting-outlined|offline',
|
||||
keepAlive: true,
|
||||
title: 'oss配置',
|
||||
},
|
||||
@ -57,7 +57,6 @@ const profileRoute: RouteRecordStringComponent[] = [
|
||||
},
|
||||
],
|
||||
},
|
||||
// TODO: 图标要改
|
||||
{
|
||||
component: 'BasicLayout',
|
||||
meta: {
|
||||
@ -73,7 +72,7 @@ const profileRoute: RouteRecordStringComponent[] = [
|
||||
component: '/tool/gen/edit-gen',
|
||||
meta: {
|
||||
activePath: '/tool/gen',
|
||||
icon: 'mingcute:profile-line',
|
||||
icon: 'tabler:code|offline',
|
||||
keepAlive: true,
|
||||
title: '生成配置',
|
||||
},
|
||||
@ -97,7 +96,7 @@ const profileRoute: RouteRecordStringComponent[] = [
|
||||
component: '/system/role-assign/index',
|
||||
meta: {
|
||||
activePath: '/system/role',
|
||||
icon: 'mingcute:profile-line',
|
||||
icon: 'eos-icons:role-binding-outlined|offline',
|
||||
keepAlive: true,
|
||||
title: '分配角色',
|
||||
},
|
||||
@ -144,7 +143,7 @@ export const localMenuList: RouteRecordStringComponent[] = [
|
||||
path: '/vben-admin/document',
|
||||
component: 'IFrameView',
|
||||
meta: {
|
||||
icon: 'lucide:book-open-text',
|
||||
icon: 'lucide:book-open-text|offline',
|
||||
iframeSrc: 'https://dapdap.top',
|
||||
keepAlive: true,
|
||||
title: $t('demos.vben.document'),
|
||||
@ -156,7 +155,7 @@ export const localMenuList: RouteRecordStringComponent[] = [
|
||||
component: 'BasicLayout',
|
||||
meta: {
|
||||
hideChildrenInMenu: true,
|
||||
icon: 'lucide:copyright',
|
||||
icon: 'lucide:copyright|offline',
|
||||
order: 9999,
|
||||
title: $t('demos.vben.about'),
|
||||
},
|
||||
|
@ -28,7 +28,7 @@ const routes: RouteRecordRaw[] = [
|
||||
path: '/vben-admin/about',
|
||||
component: () => import('#/views/_core/about/index.vue'),
|
||||
meta: {
|
||||
icon: 'lucide:copyright',
|
||||
icon: 'lucide:copyright|offline',
|
||||
title: $t('demos.vben.about'),
|
||||
},
|
||||
},
|
||||
@ -37,7 +37,7 @@ const routes: RouteRecordRaw[] = [
|
||||
path: '/vben-admin/document',
|
||||
component: IFrameView,
|
||||
meta: {
|
||||
icon: 'lucide:book-open-text',
|
||||
icon: 'lucide:book-open-text|offline',
|
||||
link: VBEN_DOC_URL,
|
||||
title: $t('demos.vben.document'),
|
||||
},
|
||||
|
@ -6,6 +6,7 @@ import { computed, onMounted, ref, useTemplateRef } from 'vue';
|
||||
import { AuthenticationLogin, z } from '@vben/common-ui';
|
||||
import { $t } from '@vben/locales';
|
||||
|
||||
import { Modal } from 'ant-design-vue';
|
||||
import { omit } from 'lodash-es';
|
||||
|
||||
import { tenantList, type TenantResp } from '#/api';
|
||||
@ -144,6 +145,14 @@ async function handleAccountLogin(values: LoginAndRegisterParams) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
onMounted(() => {
|
||||
Modal.info({
|
||||
title: '提示',
|
||||
content:
|
||||
'离线图标分支需要导入[离线图标.sql] 目录:scripts/菜单图标替换sql/update_icon_离线图标.sql',
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
<template>
|
||||
|
@ -1,12 +1,15 @@
|
||||
import type { VxeGridProps } from '#/adapter/vxe-table';
|
||||
|
||||
import { h } from 'vue';
|
||||
|
||||
import { DictEnum } from '@vben/constants';
|
||||
import { FolderIcon, MenuIcon, OkButtonIcon, VbenIcon } from '@vben/icons';
|
||||
import { $t } from '@vben/locales';
|
||||
import { getPopupContainer } from '@vben/utils';
|
||||
|
||||
import { type FormSchemaGetter, z } from '#/adapter/form';
|
||||
import { getDictOptions } from '#/utils/dict';
|
||||
import { renderDict, renderIcon } from '#/utils/render';
|
||||
import { renderDict } from '#/utils/render';
|
||||
|
||||
export const querySchema: FormSchemaGetter = () => [
|
||||
{
|
||||
@ -48,11 +51,10 @@ export const yesNoOptions = [
|
||||
|
||||
// (M目录 C菜单 F按钮)
|
||||
const menuTypes = {
|
||||
M: { value: '目录', icon: 'fxemoji:folder' },
|
||||
C: { value: '菜单', icon: 'fluent-emoji-flat:open-book' },
|
||||
F: { value: '按钮', icon: 'fluent-emoji:ok-button' },
|
||||
C: { icon: MenuIcon, value: '菜单' },
|
||||
F: { icon: OkButtonIcon, value: '按钮' },
|
||||
M: { icon: FolderIcon, value: '目录' },
|
||||
};
|
||||
|
||||
export const columns: VxeGridProps['columns'] = [
|
||||
{
|
||||
title: '菜单名称',
|
||||
@ -74,7 +76,9 @@ export const columns: VxeGridProps['columns'] = [
|
||||
return '';
|
||||
}
|
||||
return (
|
||||
<span class={'flex justify-center'}>{renderIcon(row.icon)}</span>
|
||||
<span class={'flex justify-center'}>
|
||||
<VbenIcon icon={row.icon} />
|
||||
</span>
|
||||
);
|
||||
},
|
||||
},
|
||||
@ -95,9 +99,9 @@ export const columns: VxeGridProps['columns'] = [
|
||||
return '未知';
|
||||
}
|
||||
return (
|
||||
<span class={['flex', 'items-center', 'justify-center']}>
|
||||
{renderIcon(current.icon)}
|
||||
<span style={{ marginLeft: '2px' }}>{current.value}</span>
|
||||
<span class="flex items-center justify-center gap-1">
|
||||
{h(current.icon, { class: 'size-[18px]' })}
|
||||
<span>{current.value}</span>
|
||||
</span>
|
||||
);
|
||||
},
|
||||
|
@ -99,7 +99,7 @@ onBeforeUnmount(() => {
|
||||
>
|
||||
<template #trigger>
|
||||
<div :class="[nsMenu.be('tooltip', 'trigger')]">
|
||||
<VbenIcon :class="nsMenu.e('icon')" :icon="menuIcon" offline />
|
||||
<VbenIcon :class="nsMenu.e('icon')" :icon="menuIcon" />
|
||||
<slot></slot>
|
||||
<span v-if="collapseShowTitle" :class="nsMenu.e('name')">
|
||||
<slot name="title"></slot>
|
||||
@ -114,7 +114,7 @@ onBeforeUnmount(() => {
|
||||
class="right-2"
|
||||
v-bind="props"
|
||||
/>
|
||||
<VbenIcon :class="nsMenu.e('icon')" :icon="menuIcon" offline />
|
||||
<VbenIcon :class="nsMenu.e('icon')" :icon="menuIcon" />
|
||||
<slot></slot>
|
||||
<slot name="title"></slot>
|
||||
</div>
|
||||
|
@ -87,7 +87,6 @@ const iconArrowStyle = computed(() => {
|
||||
:class="nsMenu.e('icon')"
|
||||
:icon="icon"
|
||||
fallback
|
||||
offline
|
||||
/>
|
||||
|
||||
<div v-if="!hiddenTitle" :class="[e('title')]">
|
||||
|
@ -13,7 +13,6 @@ const props = defineProps<{
|
||||
// 没有是否显示默认图标
|
||||
fallback?: boolean;
|
||||
icon?: Component | Function | string;
|
||||
offline?: boolean;
|
||||
}>();
|
||||
|
||||
const isRemoteIcon = computed(() => {
|
||||
@ -24,20 +23,37 @@ const isComponent = computed(() => {
|
||||
const { icon } = props;
|
||||
return !isString(icon) && (isObject(icon) || isFunction(icon));
|
||||
});
|
||||
|
||||
/**
|
||||
* 判断图标是否为离线图标
|
||||
* 主要是判断后缀是否为 |offline
|
||||
*/
|
||||
const offlineIcon = computed(() => {
|
||||
if (
|
||||
isString(props.icon) &&
|
||||
!isHttpUrl(props.icon) &&
|
||||
props.icon.endsWith('|offline')
|
||||
) {
|
||||
return {
|
||||
confirm: true,
|
||||
icon: props.icon.replace('|offline', ''),
|
||||
};
|
||||
}
|
||||
return {
|
||||
confirm: false,
|
||||
icon: '',
|
||||
};
|
||||
});
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<component :is="icon as Component" v-if="isComponent" v-bind="$attrs" />
|
||||
<img v-else-if="isRemoteIcon" :src="icon as string" v-bind="$attrs" />
|
||||
<IconifyOfflineIcon
|
||||
v-else-if="icon && offline"
|
||||
v-else-if="offlineIcon.confirm"
|
||||
v-bind="$attrs"
|
||||
:icon="icon as string"
|
||||
/>
|
||||
<IconifyIcon
|
||||
v-else-if="icon && !offline"
|
||||
v-bind="$attrs"
|
||||
:icon="icon as string"
|
||||
:icon="offlineIcon.icon"
|
||||
/>
|
||||
<IconifyIcon v-else-if="icon" v-bind="$attrs" :icon="icon as string" />
|
||||
<IconDefault v-else-if="fallback" v-bind="$attrs" />
|
||||
</template>
|
||||
|
@ -144,7 +144,6 @@ const tabsView = computed(() => {
|
||||
:icon="tab.icon"
|
||||
class="mr-1 flex size-4 items-center overflow-hidden"
|
||||
/>
|
||||
|
||||
<span class="flex-1 overflow-hidden whitespace-nowrap text-sm">
|
||||
{{ tab.title }}
|
||||
</span>
|
||||
|
@ -17,14 +17,18 @@
|
||||
}
|
||||
},
|
||||
"dependencies": {
|
||||
"@vben-core/icons": "workspace:*"
|
||||
"@vben-core/icons": "workspace:*",
|
||||
"@vben-core/shadcn-ui": "workspace:^"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@iconify/icons-akar-icons": "^1.2.19",
|
||||
"@iconify/icons-ant-design": "^1.2.7",
|
||||
"@iconify/icons-arcticons": "^1.2.77",
|
||||
"@iconify/icons-bi": "^1.2.19",
|
||||
"@iconify/icons-bx": "^1.2.6",
|
||||
"@iconify/icons-carbon": "^1.2.20",
|
||||
"@iconify/icons-devicon": "^1.2.17",
|
||||
"@iconify/icons-emojione": "^1.2.6",
|
||||
"@iconify/icons-eos-icons": "^1.2.6",
|
||||
"@iconify/icons-fa-brands": "^1.2.4",
|
||||
"@iconify/icons-fe": "^1.2.5",
|
||||
@ -36,6 +40,7 @@
|
||||
"@iconify/icons-icon-park-twotone": "^1.2.8",
|
||||
"@iconify/icons-la": "^1.2.3",
|
||||
"@iconify/icons-logos": "^1.2.36",
|
||||
"@iconify/icons-lucide": "^1.2.135",
|
||||
"@iconify/icons-majesticons": "^1.2.6",
|
||||
"@iconify/icons-material-symbols": "^1.2.58",
|
||||
"@iconify/icons-mdi": "^1.2.48",
|
||||
@ -45,6 +50,7 @@
|
||||
"@iconify/icons-simple-icons": "^1.2.74",
|
||||
"@iconify/icons-solar": "^1.2.3",
|
||||
"@iconify/icons-streamline": "^1.2.3",
|
||||
"@iconify/icons-tabler": "^1.2.95",
|
||||
"@iconify/icons-uiw": "^1.2.6",
|
||||
"@iconify/icons-vscode-icons": "^1.2.29",
|
||||
"@iconify/icons-wpf": "^1.2.3"
|
||||
|
@ -9,6 +9,7 @@ import windowsIcon from '@iconify/icons-devicon/windows8';
|
||||
import alipayIcon from '@iconify/icons-fa-brands/alipay';
|
||||
import androidIcon from '@iconify/icons-flat-color-icons/android-os';
|
||||
import comandLine from '@iconify/icons-flat-color-icons/command-line';
|
||||
import folderIcon from '@iconify/icons-flat-color-icons/folder';
|
||||
import defaultOsIcon from '@iconify/icons-ic/outline-computer';
|
||||
import memoryIcon from '@iconify/icons-la/memory';
|
||||
import chromeIcon from '@iconify/icons-logos/chrome';
|
||||
@ -19,6 +20,8 @@ import quarkIcon from '@iconify/icons-logos/quarkus-icon';
|
||||
import redisIcon from '@iconify/icons-logos/redis';
|
||||
import safariIcon from '@iconify/icons-logos/safari';
|
||||
import iphoneIcon from '@iconify/icons-majesticons/iphone-x-apps-line';
|
||||
import menuIcon from '@iconify/icons-material-symbols/menu';
|
||||
import okButtonIcon from '@iconify/icons-mdi/button-pointer';
|
||||
import micromessengerIcon from '@iconify/icons-mdi/wechat';
|
||||
import defaultBrowserIcon from '@iconify/icons-ph/browser-duotone';
|
||||
import baiduIcon from '@iconify/icons-ri/baidu-fill';
|
||||
@ -31,7 +34,7 @@ import githubOAuthIcon from '@iconify/icons-uiw/github';
|
||||
import excelIcon from '@iconify/icons-vscode-icons/file-type-excel';
|
||||
import osxIcon from '@iconify/icons-wpf/macos';
|
||||
|
||||
import './other';
|
||||
import './menu-icons';
|
||||
|
||||
// 用户 下拉菜单
|
||||
export const GitHubOutlined = createIconifyOfflineIcon(
|
||||
@ -142,3 +145,17 @@ export const DefaultBrowserIcon = createIconifyOfflineIcon(
|
||||
'ph:browser-duotone',
|
||||
defaultBrowserIcon,
|
||||
);
|
||||
|
||||
// 菜单类型 目录/按钮/菜单
|
||||
export const FolderIcon = createIconifyOfflineIcon(
|
||||
'flat-color-icons:folder',
|
||||
folderIcon,
|
||||
);
|
||||
export const OkButtonIcon = createIconifyOfflineIcon(
|
||||
'mdi:button-pointer',
|
||||
okButtonIcon,
|
||||
);
|
||||
export const MenuIcon = createIconifyOfflineIcon(
|
||||
'material-symbols:menu',
|
||||
menuIcon,
|
||||
);
|
||||
|
108
packages/icons/src/iconify-offline/menu-icons.ts
Normal file
108
packages/icons/src/iconify-offline/menu-icons.ts
Normal file
@ -0,0 +1,108 @@
|
||||
import { addOfflineIcon } from '@vben-core/icons';
|
||||
|
||||
import schedule from '@iconify/icons-akar-icons/schedule';
|
||||
import settingOutline from '@iconify/icons-ant-design/setting-outlined';
|
||||
import Operation from '@iconify/icons-arcticons/one-hand-operation';
|
||||
import BaseLineHousesFill from '@iconify/icons-bi/houses-fill';
|
||||
import BxPackage from '@iconify/icons-bx/package';
|
||||
import modelAlt from '@iconify/icons-carbon/model-alt';
|
||||
import taskApproved from '@iconify/icons-carbon/task-approved';
|
||||
import redisWordmark from '@iconify/icons-devicon/redis-wordmark';
|
||||
import springWordmark from '@iconify/icons-devicon/spring-wordmark';
|
||||
import vscode from '@iconify/icons-devicon/vscode';
|
||||
import evergreenTree from '@iconify/icons-emojione/evergreen-tree';
|
||||
import RoleBindingOutlined from '@iconify/icons-eos-icons/role-binding-outlined';
|
||||
import SystemGroup from '@iconify/icons-eos-icons/system-group';
|
||||
import NoticePush from '@iconify/icons-fe/notice-push';
|
||||
import plus from '@iconify/icons-flat-color-icons/plus';
|
||||
import from24 from '@iconify/icons-fluent/form-24-regular';
|
||||
import builDefinition from '@iconify/icons-fluent-mdl2/build-definition';
|
||||
import Dictionary from '@iconify/icons-fluent-mdl2/dictionary';
|
||||
import leaveUser from '@iconify/icons-fluent-mdl2/leave-user';
|
||||
import BaseLineHouse from '@iconify/icons-ic/baseline-house';
|
||||
import monitor from '@iconify/icons-ic/baseline-monitor';
|
||||
import roundLaunch from '@iconify/icons-ic/round-launch';
|
||||
import MenuSharp from '@iconify/icons-ic/sharp-menu';
|
||||
import Appointment from '@iconify/icons-icon-park-outline/appointment';
|
||||
import SettingTwo from '@iconify/icons-icon-park-twotone/setting-two';
|
||||
import boolOpenText from '@iconify/icons-lucide/book-open-text';
|
||||
import copyright from '@iconify/icons-lucide/copyright';
|
||||
import table from '@iconify/icons-lucide/table';
|
||||
import cloudDoneOutlineRounded from '@iconify/icons-material-symbols/cloud-done-outline-rounded';
|
||||
import generatingTokensOutline from '@iconify/icons-material-symbols/generating-tokens-outline';
|
||||
import LogoDevOutline from '@iconify/icons-material-symbols/logo-dev-outline';
|
||||
import ccOutline from '@iconify/icons-mdi/cc-outline';
|
||||
import tools from '@iconify/icons-mdi/tools';
|
||||
import workflowOutline from '@iconify/icons-mdi/workflow-outline';
|
||||
import DepartmentLine from '@iconify/icons-mingcute/department-line';
|
||||
import profileLine from '@iconify/icons-mingcute/profile-line';
|
||||
import UserDuotone from '@iconify/icons-ph/user-duotone';
|
||||
import insatnceLine from '@iconify/icons-ri/instance-line';
|
||||
import todoLine from '@iconify/icons-ri/todo-line';
|
||||
import Authy from '@iconify/icons-simple-icons/authy';
|
||||
import FolderWithFilesOutline from '@iconify/icons-solar/folder-with-files-outline';
|
||||
import monitorBoldDuotone from '@iconify/icons-solar/monitor-bold-duotone';
|
||||
import InterfaceLoginDialPadFingerPasswordDialPadDotFinger from '@iconify/icons-streamline/interface-login-dial-pad-finger-password-dial-pad-dot-finger';
|
||||
import categoryPlus from '@iconify/icons-tabler/category-plus';
|
||||
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(
|
||||
'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);
|
||||
// 个人中心
|
||||
addOfflineIcon('mingcute:profile-line', profileLine);
|
||||
// oss配置
|
||||
addOfflineIcon('ant-design:setting-outlined', settingOutline);
|
@ -1,40 +0,0 @@
|
||||
import { addOfflineIcon } from '@vben-core/icons';
|
||||
|
||||
import Operation from '@iconify/icons-arcticons/one-hand-operation';
|
||||
import BaseLineHousesFill from '@iconify/icons-bi/houses-fill';
|
||||
import BxPackage from '@iconify/icons-bx/package';
|
||||
import RoleBindingOutlined from '@iconify/icons-eos-icons/role-binding-outlined';
|
||||
import SystemGroup from '@iconify/icons-eos-icons/system-group';
|
||||
import NoticePush from '@iconify/icons-fe/notice-push';
|
||||
import Dictionary from '@iconify/icons-fluent-mdl2/dictionary';
|
||||
import BaseLineHouse from '@iconify/icons-ic/baseline-house';
|
||||
import MenuSharp from '@iconify/icons-ic/sharp-menu';
|
||||
import Appointment from '@iconify/icons-icon-park-outline/appointment';
|
||||
import SettingTwo from '@iconify/icons-icon-park-twotone/setting-two';
|
||||
import LogoDevOutline from '@iconify/icons-material-symbols/logo-dev-outline';
|
||||
import DepartmentLine from '@iconify/icons-mingcute/department-line';
|
||||
import UserDuotone from '@iconify/icons-ph/user-duotone';
|
||||
import Authy from '@iconify/icons-simple-icons/authy';
|
||||
import FolderWithFilesOutline from '@iconify/icons-solar/folder-with-files-outline';
|
||||
import InterfaceLoginDialPadFingerPasswordDialPadDotFinger from '@iconify/icons-streamline/interface-login-dial-pad-finger-password-dial-pad-dot-finger';
|
||||
|
||||
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(
|
||||
'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);
|
@ -1,3 +1,4 @@
|
||||
export * from './iconify/index.js';
|
||||
export * from './iconify-offline/index.js';
|
||||
export * from './svg/index.js';
|
||||
export { VbenIcon } from '@vben-core/shadcn-ui';
|
||||
|
@ -33,13 +33,13 @@ UPDATE sys_menu SET icon = 'emojione:evergreen-tree' WHERE menu_id = 1506;
|
||||
UPDATE sys_menu SET icon = 'mdi:workflow-outline' WHERE menu_id = 11616;
|
||||
UPDATE sys_menu SET icon = 'carbon:model-alt' WHERE menu_id = 11617;
|
||||
UPDATE sys_menu SET icon = 'carbon:task-approved' WHERE menu_id = 11618;
|
||||
UPDATE sys_menu SET icon = 'streamline:waiting-appointments-calendar' WHERE menu_id = 11619;
|
||||
UPDATE sys_menu SET icon = 'ri:todo-line' WHERE menu_id = 11619;
|
||||
UPDATE sys_menu SET icon = 'fluent-mdl2:build-definition' WHERE menu_id = 11620;
|
||||
UPDATE sys_menu SET icon = 'ri:instance-line' WHERE menu_id = 11621;
|
||||
UPDATE sys_menu SET icon = 'tabler:category-plus' WHERE menu_id = 11622;
|
||||
UPDATE sys_menu SET icon = 'ic:round-launch' WHERE menu_id = 11629;
|
||||
UPDATE sys_menu SET icon = 'icon-park-outline:monitor' WHERE menu_id = 11630;
|
||||
UPDATE sys_menu SET icon = 'streamline:waiting-appointments-calendar' WHERE menu_id = 11631;
|
||||
UPDATE sys_menu SET icon = 'ri:todo-line' WHERE menu_id = 11631;
|
||||
UPDATE sys_menu SET icon = 'material-symbols:cloud-done-outline-rounded' WHERE menu_id = 11632;
|
||||
UPDATE sys_menu SET icon = 'mdi:cc-outline' WHERE menu_id = 11633;
|
||||
UPDATE sys_menu SET icon = 'fluent-mdl2:leave-user' WHERE menu_id = 11638;
|
46
scripts/菜单图标替换sql/update_icon_离线图标.sql
Normal file
46
scripts/菜单图标替换sql/update_icon_离线图标.sql
Normal file
@ -0,0 +1,46 @@
|
||||
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;
|
Loading…
Reference in New Issue
Block a user