From 54f3b681d6ab162e3ba76320f39a601594072ee2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E9=93=B6=E5=86=9B?= Date: Sat, 19 Sep 2026 15:42:32 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=A6=82=E8=A7=88=E9=A1=B5=E5=8C=85?= =?UTF-8?q?=E5=88=97=E8=A1=A8=E4=BB=85=E5=B1=95=E7=A4=BA=E9=9C=80=E5=85=B3?= =?UTF-8?q?=E6=B3=A8=E9=A1=B9=EF=BC=88=E9=A2=84=E8=AD=A6+=E5=BC=82?= =?UTF-8?q?=E5=B8=B8=EF=BC=89=EF=BC=8C=E5=8A=A0=E3=80=8C=E6=9F=A5=E7=9C=8B?= =?UTF-8?q?=E5=85=A8=E9=83=A8=E3=80=8D=E8=B7=B3=E6=A3=80=E7=B4=A2=E9=A1=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/views/OverviewView.vue | 45 ++++++++++++++++++----------- 1 file changed, 28 insertions(+), 17 deletions(-) diff --git a/frontend/src/views/OverviewView.vue b/frontend/src/views/OverviewView.vue index b97ccdb..36cc337 100644 --- a/frontend/src/views/OverviewView.vue +++ b/frontend/src/views/OverviewView.vue @@ -31,6 +31,11 @@ const top30WithIcon = computed(() => stats.value.top30.map(p => ({ ...p, emoji: iconOf(p.name) })), ) +// 概览只展示需关注项(预警 + 异常),完整列表去检索页 +const attentionPackages = computed(() => + state.packages.filter(p => p.status === 'warn' || p.status === 'broken'), +) + async function openDrawer(pkg) { drawerPkg.value = pkg drawerVisible.value = true @@ -91,29 +96,33 @@ function quickClean() { - +
- 🎁缓存包列表 - 共 {{ stats.pkgCount }} 个包 · 预警置顶 · 同状态按版本数降序 + ⚠️需要关注 + 共 {{ attentionPackages.length }} 个需关注 · 预警置顶 +
⏳ 加载中…
-
- -
-
+
暂无缓存包,请检查 Verdaccio 缓存目录配置
+
@@ -142,6 +151,8 @@ function quickClean() { .sec-title { font-size: 17px; font-weight: 700; display: flex; align-items: center; gap: 10px; } .sec-title .emo { font-size: 19px; } .sec-sub { font-family: var(--num); font-size: 12px; color: var(--ink-faint); font-weight: 600; } +.link-all { padding: 6px 14px; border: none; border-radius: 999px; background: var(--panel-soft); color: var(--orange); font-size: 13px; font-weight: 600; cursor: pointer; transition: transform .2s, box-shadow .2s; } +.link-all:hover { transform: translateY(-1px); box-shadow: var(--shadow); } .pkg-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; } .loading-tip { text-align: center; padding: 40px 0; color: var(--ink-faint); font-size: 13px; } .empty-box { text-align: center; padding: 60px 0; color: var(--ink-faint); font-size: 13px; }