From 40cc33e61e9bff70e3fc2c5e41dea5a2ef326e8c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=80=97=E5=AD=90?= Date: Thu, 18 Dec 2025 04:33:15 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=AE=9E=E7=8E=B0=E5=9B=BE=E6=A0=87?= =?UTF-8?q?=E6=9C=AC=E5=9C=B0=E5=8A=A0=E8=BD=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 目前会导致打包体积失控,但是没有找到更好的方案。 --- web/build/plugins/unplugin.ts | 19 ++++++---- web/package.json | 3 +- web/pnpm-lock.yaml | 23 ++++++++---- web/src/components/common/PathSelector.vue | 8 ++-- .../layout/header/components/FullScreen.vue | 4 +- .../layout/header/components/MenuCollapse.vue | 4 +- .../layout/header/components/ReloadPage.vue | 2 +- .../layout/header/components/ThemeMode.vue | 4 +- .../layout/sidebar/components/SideLogo.vue | 6 +-- .../layout/sidebar/components/SideSetting.vue | 4 +- web/src/utils/common/icon.ts | 10 +++-- web/src/utils/file/index.ts | 37 +++++++++++++------ web/src/views/apps/docker/route.ts | 2 +- web/src/views/apps/frp/route.ts | 2 +- web/src/views/apps/memcached/route.ts | 2 +- web/src/views/apps/mysql/route.ts | 2 +- web/src/views/apps/nginx/route.ts | 2 +- web/src/views/apps/php74/route.ts | 2 +- web/src/views/apps/php80/route.ts | 2 +- web/src/views/apps/php81/route.ts | 2 +- web/src/views/apps/php82/route.ts | 2 +- web/src/views/apps/php83/route.ts | 2 +- web/src/views/apps/php84/route.ts | 2 +- web/src/views/apps/podman/route.ts | 2 +- web/src/views/apps/postgresql/route.ts | 2 +- web/src/views/apps/redis/route.ts | 2 +- web/src/views/apps/rsync/route.ts | 2 +- web/src/views/apps/s3fs/route.ts | 2 +- web/src/views/backup/UploadModal.vue | 2 +- web/src/views/file/ListTable.vue | 4 +- web/src/views/file/PathInput.vue | 10 ++--- web/src/views/file/UploadModal.vue | 2 +- web/src/views/toolbox/BenchmarkView.vue | 6 +-- web/uno.config.ts | 4 +- 34 files changed, 107 insertions(+), 77 deletions(-) diff --git a/web/build/plugins/unplugin.ts b/web/build/plugins/unplugin.ts index 36606853..769d1572 100644 --- a/web/build/plugins/unplugin.ts +++ b/web/build/plugins/unplugin.ts @@ -43,19 +43,24 @@ export default [ eslintrc: { enabled: true }, + parser: 'acorn', vueTemplate: true, + addons: { + vueDirectives: true + }, viteOptimizeDeps: true }), - Icons({ - compiler: 'vue3', - scale: 1, - defaultClass: 'inline-block' - }), Components({ resolvers: [ NaiveUiResolver(), - IconsResolver({ customCollections: ['custom'], prefix: 'icon' }) + IconsResolver() ], dts: 'types/components.d.ts' - }) + }), + Icons({ + compiler: 'vue3', + scale: 1, + defaultClass: 'inline-block', + autoInstall: true + }), ] diff --git a/web/package.json b/web/package.json index 66de3ebd..ddb42af1 100644 --- a/web/package.json +++ b/web/package.json @@ -58,7 +58,8 @@ "vue3-gettext": "4.0.0-beta.1" }, "devDependencies": { - "@iconify/json": "^2.2.397", + "@iconify-json/mdi": "^1.2.3", + "@iconify-json/simple-icons": "^1.2.63", "@iconify/vue": "^5.0.0", "@rushstack/eslint-patch": "^1.14.0", "@tsconfig/node24": "^24.0.0", diff --git a/web/pnpm-lock.yaml b/web/pnpm-lock.yaml index ac4ec43d..778b4e3f 100644 --- a/web/pnpm-lock.yaml +++ b/web/pnpm-lock.yaml @@ -102,9 +102,12 @@ importers: specifier: 4.0.0-beta.1 version: 4.0.0-beta.1(@vue/compiler-sfc@3.5.25)(vue@3.5.25(typescript@5.9.3)) devDependencies: - '@iconify/json': - specifier: ^2.2.397 - version: 2.2.419 + '@iconify-json/mdi': + specifier: ^1.2.3 + version: 1.2.3 + '@iconify-json/simple-icons': + specifier: ^1.2.63 + version: 1.2.63 '@iconify/vue': specifier: ^5.0.0 version: 5.0.0(vue@3.5.25(typescript@5.9.3)) @@ -693,8 +696,11 @@ packages: resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==} engines: {node: '>=18.18'} - '@iconify/json@2.2.419': - resolution: {integrity: sha512-50GipvrxOs/b03MP0GxCTn65o4S/DDEXbf03oXbglp0m552TcT8yAidLl7kyQ1fiI+rx3LbvZ6hNSU3CrXZnIQ==} + '@iconify-json/mdi@1.2.3': + resolution: {integrity: sha512-O3cLwbDOK7NNDf2ihaQOH5F9JglnulNDFV7WprU2dSoZu3h3cWH//h74uQAB87brHmvFVxIOkuBX2sZSzYhScg==} + + '@iconify-json/simple-icons@1.2.63': + resolution: {integrity: sha512-xZl2UWCwE58VlqZ+pDPmaUhE2tq8MVSTJRr4/9nzzHlDdjJ0Ud1VxNXPrwTSgESKY29iCQw3S0r2nJTSNNngHw==} '@iconify/types@2.0.0': resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} @@ -4077,10 +4083,13 @@ snapshots: '@humanwhocodes/retry@0.4.3': {} - '@iconify/json@2.2.419': + '@iconify-json/mdi@1.2.3': + dependencies: + '@iconify/types': 2.0.0 + + '@iconify-json/simple-icons@1.2.63': dependencies: '@iconify/types': 2.0.0 - pathe: 2.0.3 '@iconify/types@2.0.0': {} diff --git a/web/src/components/common/PathSelector.vue b/web/src/components/common/PathSelector.vue index 431db800..5c07fa55 100644 --- a/web/src/components/common/PathSelector.vue +++ b/web/src/components/common/PathSelector.vue @@ -45,9 +45,9 @@ const columns: DataTableColumns = [ defaultSortOrder: false, sorter: 'default', render(row) { - let icon = 'bi:file-earmark' + let icon = 'mdi:file-outline' if (row.dir) { - icon = 'bi:folder' + icon = 'mdi:folder-outline' } else { icon = getIconByExt(getExt(row.name)) } @@ -261,7 +261,7 @@ const handleClose = () => { {{ $gettext('Create') }} - + @@ -288,7 +288,7 @@ const handleClose = () => { /> - + {{ $gettext('Fullscreen Display') }} diff --git a/web/src/layout/header/components/MenuCollapse.vue b/web/src/layout/header/components/MenuCollapse.vue index 2e133cb5..302c2ac8 100644 --- a/web/src/layout/header/components/MenuCollapse.vue +++ b/web/src/layout/header/components/MenuCollapse.vue @@ -10,8 +10,8 @@ const themeStore = useThemeStore() {{ $gettext('Menu Zoom') }} diff --git a/web/src/layout/header/components/ReloadPage.vue b/web/src/layout/header/components/ReloadPage.vue index 1e97bab8..64f37125 100644 --- a/web/src/layout/header/components/ReloadPage.vue +++ b/web/src/layout/header/components/ReloadPage.vue @@ -14,7 +14,7 @@ const handleReloadPage = () => { {{ $gettext('Refresh Tab') }} diff --git a/web/src/layout/header/components/ThemeMode.vue b/web/src/layout/header/components/ThemeMode.vue index 479f08dc..bc21d035 100644 --- a/web/src/layout/header/components/ThemeMode.vue +++ b/web/src/layout/header/components/ThemeMode.vue @@ -10,8 +10,8 @@ const theme = useThemeStore() {{ $gettext('Switch Theme') }} diff --git a/web/src/layout/sidebar/components/SideLogo.vue b/web/src/layout/sidebar/components/SideLogo.vue index 6e3c0e69..77e47d93 100644 --- a/web/src/layout/sidebar/components/SideLogo.vue +++ b/web/src/layout/sidebar/components/SideLogo.vue @@ -12,11 +12,11 @@ const toHome = () => {