From 796eff7759957769ace8a6668dc8ff16569cb569 Mon Sep 17 00:00:00 2001 From: wangdan-fit2cloud Date: Mon, 12 May 2025 18:19:28 +0800 Subject: [PATCH] feat: tool --- ui/package.json | 1 + ui/src/assets/node/icon_tool.svg | 3 + ui/src/components/app-icon/index.ts | 25 ++++++++ ui/src/components/folder-tree/index.vue | 61 ++++++++++++++++--- ui/src/components/logo/LogoFull.vue | 18 +++--- ui/src/components/logo/LogoIcon.vue | 4 +- ui/src/components/logo/SendIcon.vue | 4 +- .../layout-header/avatar/AboutDialog.vue | 26 +++++--- ui/src/layout/layout-header/avatar/index.vue | 2 +- .../layout/layout-header/top-about/index.vue | 14 ++--- ui/src/stores/index.ts | 2 + ui/src/stores/modules/theme.ts | 38 ++++++++++++ ui/src/stores/modules/user.ts | 24 ++------ ui/src/styles/app.scss | 11 +++- ui/src/styles/element-plus.scss | 21 ++++++- ui/src/styles/variables.scss | 1 - ui/src/views/login/components/LoginLayout.vue | 14 ++--- ui/src/views/login/index.vue | 4 +- ui/src/views/tool/index.vue | 41 +++++-------- 19 files changed, 217 insertions(+), 97 deletions(-) create mode 100644 ui/src/assets/node/icon_tool.svg create mode 100644 ui/src/stores/modules/theme.ts diff --git a/ui/package.json b/ui/package.json index a4587a39e..87e1c579e 100644 --- a/ui/package.json +++ b/ui/package.json @@ -19,6 +19,7 @@ "element-plus": "^2.9.7", "nprogress": "^0.2.0", "pinia": "^3.0.1", + "use-element-plus-theme": "^0.0.5", "vue": "^3.5.13", "vue-codemirror": "^6.1.1", "vue-i18n": "^11.1.3", diff --git a/ui/src/assets/node/icon_tool.svg b/ui/src/assets/node/icon_tool.svg new file mode 100644 index 000000000..afa97360f --- /dev/null +++ b/ui/src/assets/node/icon_tool.svg @@ -0,0 +1,3 @@ + + + diff --git a/ui/src/components/app-icon/index.ts b/ui/src/components/app-icon/index.ts index 2f26344bc..c88dd2655 100644 --- a/ui/src/components/app-icon/index.ts +++ b/ui/src/components/app-icon/index.ts @@ -117,6 +117,31 @@ export const iconMap: any = { ]) }, }, + 'app-folder': { + iconReader: () => { + return h('i', [ + h( + 'svg', + { + style: { height: '100%', width: '100%' }, + viewBox: '0 0 1024 1024', + version: '1.1', + xmlns: 'http://www.w3.org/2000/svg', + }, + [ + h('path', { + d: 'M42.666667 170.666667a42.666667 42.666667 0 0 1 42.666666-42.666667h357.632a42.666667 42.666667 0 0 1 38.144 23.594667L512 213.333333h426.666667a42.666667 42.666667 0 0 1 42.666666 42.666667v597.333333a42.666667 42.666667 0 0 1-42.666666 42.666667H85.333333a42.666667 42.666667 0 0 1-42.666666-42.666667V170.666667z', + fill: '#FFA53D', + }), + h('path', { + d: 'M42.666667 256a42.666667 42.666667 0 0 1 42.666666-42.666667h853.333334a42.666667 42.666667 0 0 1 42.666666 42.666667v597.333333a42.666667 42.666667 0 0 1-42.666666 42.666667H85.333333a42.666667 42.666667 0 0 1-42.666666-42.666667V256z', + fill: '#FFC60A', + }), + ], + ), + ]) + }, + }, // 动态加载的图标 ...dynamicIcons, } diff --git a/ui/src/components/folder-tree/index.vue b/ui/src/components/folder-tree/index.vue index 2ce03b8d4..2b208e524 100644 --- a/ui/src/components/folder-tree/index.vue +++ b/ui/src/components/folder-tree/index.vue @@ -1,31 +1,72 @@ diff --git a/ui/src/components/logo/LogoFull.vue b/ui/src/components/logo/LogoFull.vue index ba7933999..62685b806 100644 --- a/ui/src/components/logo/LogoFull.vue +++ b/ui/src/components/logo/LogoFull.vue @@ -1,5 +1,5 @@