From 8beb280aad5c9f6efdfd4f65afd84a12418c8ac4 Mon Sep 17 00:00:00 2001 From: TermiNexus Date: Mon, 5 Oct 2026 18:24:37 +0800 Subject: [PATCH] =?UTF-8?q?style(Venom):=20=E4=BC=98=E5=8C=96=E5=8C=85?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E5=99=A8=E5=AE=9A=E5=88=B6=E9=A1=B5=20UI?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增品牌/概览区(软件包数、版本发布数)与工具条,列表改用卡片 + 包头像/说明双行单元格 - 配置视图改为 包信息头 + 配置/发布双栏卡片 + 发布历史卡片,表单改 label 顶置 - 全部配色走 Element Plus CSS 变量,自动适配宿主明/暗主题;引入 @element-plus/icons-vue --- GVSDServiceServer/venom_ui/package-lock.json | 1 + GVSDServiceServer/venom_ui/package.json | 1 + GVSDServiceServer/venom_ui/src/App.vue | 427 +++++++++++++++---- 3 files changed, 336 insertions(+), 93 deletions(-) diff --git a/GVSDServiceServer/venom_ui/package-lock.json b/GVSDServiceServer/venom_ui/package-lock.json index 5734a16e..6099b58c 100644 --- a/GVSDServiceServer/venom_ui/package-lock.json +++ b/GVSDServiceServer/venom_ui/package-lock.json @@ -8,6 +8,7 @@ "name": "venom-ui", "version": "1.0.0", "dependencies": { + "@element-plus/icons-vue": "^2.3.2", "element-plus": "^2.14.3", "vue": "^3.5.40" }, diff --git a/GVSDServiceServer/venom_ui/package.json b/GVSDServiceServer/venom_ui/package.json index dfc84679..6a31695d 100644 --- a/GVSDServiceServer/venom_ui/package.json +++ b/GVSDServiceServer/venom_ui/package.json @@ -8,6 +8,7 @@ "build": "vite build" }, "dependencies": { + "@element-plus/icons-vue": "^2.3.2", "element-plus": "^2.14.3", "vue": "^3.5.40" }, diff --git a/GVSDServiceServer/venom_ui/src/App.vue b/GVSDServiceServer/venom_ui/src/App.vue index c80f6b15..c8576925 100644 --- a/GVSDServiceServer/venom_ui/src/App.vue +++ b/GVSDServiceServer/venom_ui/src/App.vue @@ -6,9 +6,22 @@ * 配置视图:编辑包说明/配置内容、发布新版本、查看发布历史 * * 视图切换在组件内部完成(不占用宿主路由),符合「远端页面自理」的微前端约定。 + * 样式仅依赖 Element Plus 的 CSS 变量,自动适配宿主明/暗主题。 */ import { computed, onMounted, reactive, ref } from 'vue' import { ElMessage } from 'element-plus' +import { + ArrowLeft, + Box, + Clock, + Collection, + Finished, + Plus, + Promotion, + Refresh, + Search, + User, +} from '@element-plus/icons-vue' import { venomApi, type RemoteContext, @@ -37,6 +50,11 @@ const createForm = reactive({ PackageName: '', PackageDesc: '', ConfigText: '' } const configForm = reactive({ PackageDesc: '', ConfigText: '' }) const releaseForm = reactive({ Version: '', Notes: '' }) +/** 全部软件包的发布次数合计(列表概览用) */ +const totalReleases = computed(() => + packages.value.reduce((sum, p) => sum + (p.ReleaseCount || 0), 0), +) + async function loadPackages(): Promise { loading.value = true try { @@ -158,119 +176,204 @@ onMounted(loadPackages)