From c26bdb766c1882201e480e9f6ed0df1de92503e1 Mon Sep 17 00:00:00 2001 From: SmartUp Developer Date: Mon, 6 Jul 2026 11:19:51 +0800 Subject: [PATCH] Refine orphaned key status labels --- frontend/src/views/Upstreams.vue | 43 +++++++++++++++++++++----------- frontend/src/views/Websites.vue | 2 +- 2 files changed, 30 insertions(+), 15 deletions(-) diff --git a/frontend/src/views/Upstreams.vue b/frontend/src/views/Upstreams.vue index 3094a23..985eb13 100644 --- a/frontend/src/views/Upstreams.vue +++ b/frontend/src/views/Upstreams.vue @@ -402,8 +402,13 @@ @@ -513,7 +518,10 @@ @@ -1049,17 +1057,24 @@ function shrinkError(value: string) { return value.length > 40 ? `${value.slice(0, 40)}…` : value } -const keyStatusLabel = (s: string) => ({ - created: '已创建', - exists: '已存在', - imported: '已导入', - orphaned: '远端缺失', - remote: '远端存在', - replaced: '已替换', - created_pending_key: '待回填', - failed: '失败', - import_failed: '导入失败', -}[s] || '未知状态') +const keyStatusLabel = (row: GeneratedUpstreamKey) => { + if (row.status === 'orphaned') { + if (row.error?.startsWith('重复旧 Key')) return '重复旧 Key' + if (row.error === '远端 Key 已不存在') return '远端缺失' + if (row.error === '来源分组已不存在') return '来源分组缺失' + return '已归档' + } + return ({ + created: '已创建', + exists: '已存在', + imported: '已导入', + remote: '远端存在', + replaced: '已替换', + created_pending_key: '待回填', + failed: '失败', + import_failed: '导入失败', + }[row.status] || '未知状态') +} const keyStatusTagType = (s: string) => { if (s === 'created' || s === 'imported') return 'success' diff --git a/frontend/src/views/Websites.vue b/frontend/src/views/Websites.vue index f9f86dd..7d019b6 100644 --- a/frontend/src/views/Websites.vue +++ b/frontend/src/views/Websites.vue @@ -1170,7 +1170,7 @@ const syncingImportStatus = ref(false) const reorderingPriorities = ref(false) const statusLabel = (s: string) => ({ healthy: '健康', unhealthy: '异常', unknown: '未知' }[s] || s) -const keyStatusLabel = (s: string) => ({ created: '已创建', exists: '已存在', imported: '已导入', orphaned: '远端缺失', failed: '失败', import_failed: '导入失败', recreated: '清理后重建', missing_key: '缺少 Key' }[s] || '未知状态') +const keyStatusLabel = (s: string) => ({ created: '已创建', exists: '已存在', imported: '已导入', orphaned: '已归档', failed: '失败', import_failed: '导入失败', recreated: '清理后重建', missing_key: '缺少 Key' }[s] || '未知状态') const algorithmLabel = (s: string) => ({ max_plus_percent: '最高倍率', average_plus_percent: '平均倍率', min_plus_percent: '最低倍率', priority_weighted_plus_percent: '自动保底盈利' }[s] || s) const toUTC = (t: string) => /[Z+\-]\d*$/.test(t.trim()) ? t : t + 'Z' const fmtTime = (t: string) => dayjs(toUTC(t)).format('MM-DD HH:mm:ss')