mirror of
https://github.com/fawney19/Aether.git
synced 2026-10-08 10:27:46 +08:00
perf: 并行化 admin 聚合路由并完善前端缓存预取
- gateway: usage detail / provider summary / pool overview / users list 改为 tokio join 并行拉取依赖数据 - usage: interval timeline 支持自动刷新并按查询区间动态展示,取消服务端 120 分钟过滤并在 ScatterChart 统一封顶 - frontend: 新增管理端导航预取工具及 SidebarNav/MainLayout 触发,admin 读接口统一走 cachedRequest 的短期缓存 - dashboard: request detail 支持短 TTL 缓存并在 UsageRecordsTable mousedown 时预取 - data: migrate 测试在 wait_for_postgres 失败时清理子进程,避免遗留
This commit is contained in:
@@ -341,7 +341,7 @@
|
||||
v-else
|
||||
:key="record.id"
|
||||
:class="isAdmin ? 'cursor-pointer border-b border-border/40 hover:bg-muted/30 transition-colors h-[72px]' : 'border-b border-border/40 hover:bg-muted/30 transition-colors h-[72px]'"
|
||||
@mousedown="handleMouseDown"
|
||||
@mousedown="handleRowMouseDown($event, record.id)"
|
||||
@click="handleRowClick($event, record.id)"
|
||||
>
|
||||
<TableCell class="text-xs py-4 w-[70px]">
|
||||
@@ -730,6 +730,7 @@ const emit = defineEmits<{
|
||||
'update:autoRefresh': [value: boolean]
|
||||
'refresh': []
|
||||
'showDetail': [id: string]
|
||||
'prefetchDetail': [id: string]
|
||||
}>()
|
||||
|
||||
// 静态常量(放在 defineProps/defineEmits 之后)
|
||||
@@ -776,6 +777,13 @@ watch(localSearch, (value) => {
|
||||
// 使用复用的行点击逻辑
|
||||
const { handleMouseDown, shouldTriggerRowClick } = useRowClick()
|
||||
|
||||
function handleRowMouseDown(event: MouseEvent, id: string) {
|
||||
handleMouseDown(event)
|
||||
if (!props.isAdmin) return
|
||||
if (event.button !== 0) return
|
||||
emit('prefetchDetail', id)
|
||||
}
|
||||
|
||||
// 处理行点击,排除文本选择操作
|
||||
function handleRowClick(event: MouseEvent, id: string) {
|
||||
if (!props.isAdmin) return
|
||||
|
||||
Reference in New Issue
Block a user