feat(fam-ui): 各页面加载状态 - 数据到达前不再是空白/半截页面

新增 Spinner 组件,接入时间轴/AI对话历史/人物管理/统计图表/模型统计/
服务状态 6 个页面。People.vue 特殊处理:命名或合并后触发的刷新不重新
显示整页 Spinner(此时列表已有数据,会闪一下丢失滚动位置),只有首次
加载(列表为空)才转圈。ServiceStatus.vue 同理,手动点刷新只变按钮文
字,不重新蒙一层 Spinner。
This commit is contained in:
ericwyuan
2026-08-22 07:19:32 +08:00
parent 1ad6af3d5d
commit 22df28f2d3
7 changed files with 98 additions and 17 deletions

View File

@@ -0,0 +1,15 @@
<script setup>
defineProps({
text: { type: String, default: '加载中…' },
})
</script>
<template>
<div class="flex flex-col items-center justify-center gap-3 py-16 text-text-mute">
<svg class="h-6 w-6 animate-spin text-accent" viewBox="0 0 24 24" fill="none">
<circle class="opacity-25" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="4" />
<path class="opacity-90" fill="currentColor" d="M4 12a8 8 0 0 1 8-8V0C5.373 0 0 5.373 0 12h4z" />
</svg>
<span class="text-sm">{{ text }}</span>
</div>
</template>