新增对象存储/账单/保留IP页面,成本今天视图与样式收敛
CI / test (push) Successful in 42s

This commit is contained in:
2026-07-21 12:11:22 +08:00
parent d813225ac4
commit ac457282ce
91 changed files with 6672 additions and 652 deletions
+5 -11
View File
@@ -7,7 +7,6 @@ import { listConfigs } from '@/api/configs'
import { listLogEvents } from '@/api/logevents'
import DetailFieldList, { type DetailRow } from '@/components/DetailFieldList.vue'
import DetailHero, { type HeroChip } from '@/components/DetailHero.vue'
import FootNote from '@/components/FootNote.vue'
import JsonBlock from '@/components/JsonBlock.vue'
import StatusBadge from '@/components/StatusBadge.vue'
import TenantPicker from '@/components/TenantPicker.vue'
@@ -167,9 +166,10 @@ const columns: DataTableColumns<LogEvent> = [
render: renderTenant,
},
{
// 固定宽:常见事件类型约 45 字符,弹性空间让给来源列
title: '事件类型',
key: 'eventType',
minWidth: 280,
width: 400,
ellipsis: { tooltip: true },
render: (row) =>
row.eventType
@@ -186,9 +186,10 @@ const columns: DataTableColumns<LogEvent> = [
: h('span', { class: 'text-[13px] text-ink-3' }, '—'),
},
{
// 弹性列:实例名可较长,宽屏下尽量完整展示
title: '来源',
key: 'source',
width: 160,
minWidth: 160,
ellipsis: { tooltip: true },
render: (row) => h('span', { class: 'text-[13px] text-ink-2' }, row.source || '—'),
},
@@ -227,6 +228,7 @@ useAutoRefresh(() => load(true))
clearable
placeholder="全部租户"
class="w-52"
placement="bottom-end"
:configs="scope.configs.data ?? []"
:loading="scope.configs.loading"
@update:value="onFilter"
@@ -243,14 +245,6 @@ useAutoRefresh(() => load(true))
:row-key="(r: LogEvent) => r.id"
:row-props="rowProps"
/>
<FootNote>
在租户详情「其他」tab 一键创建链路后,实例终止与电源操作(Terminate/InstanceAction;
创建不回传,避免面板抢机与批量创建刷屏)、用户与凭据(Create/Delete/UpdateUser、
Create/DeleteApiKey、UpdateUserCapabilities)、区域订阅与策略变更等关键审计事件将自动回传;
消息按 MessageId 幂等去重,保留 90 天、总量超 2 万条时删除最旧,关键事件另经
「通知管理 → 云端事件」推送告警
</FootNote>
<NModal v-model:show="showDetail" preset="card" closable :style="{ width: '720px', maxWidth: 'calc(100vw - 24px)' }">
<template #header>
<DetailHero