chore(release): 版本发布 - 准备 v1.5.7.1 预览版
This commit is contained in:
@@ -124,7 +124,11 @@ function adminPopupContainer(node?: HTMLElement) {
|
||||
|
||||
export function AdminShell() {
|
||||
const userId = useUserStore((state) => state.user?.id);
|
||||
return <AdminDensityProvider key={userId || "anonymous"} userId={userId}><AdminShellLayout /></AdminDensityProvider>;
|
||||
return (
|
||||
<AdminDensityProvider key={userId || "anonymous"} userId={userId}>
|
||||
<AdminShellLayout />
|
||||
</AdminDensityProvider>
|
||||
);
|
||||
}
|
||||
|
||||
function AdminShellLayout() {
|
||||
|
||||
@@ -91,7 +91,9 @@ export default function AnalyticsPanel({ users, channels }: Props) {
|
||||
else next.delete("rangePreset");
|
||||
setSearchParams(next, { replace: true });
|
||||
void reload();
|
||||
return () => { requestSequence.current += 1; };
|
||||
return () => {
|
||||
requestSequence.current += 1;
|
||||
};
|
||||
}, [filters, rangePreset]);
|
||||
|
||||
useEffect(() => {
|
||||
@@ -275,7 +277,19 @@ export default function AnalyticsPanel({ users, channels }: Props) {
|
||||
</ListToolbar>
|
||||
|
||||
{financeUnavailable && <Alert type="warning" showIcon title="后端未返回完整财务统计,缺失金额显示为 --。请确认后端已更新并重启后刷新。" />}
|
||||
{loadError && <Alert type="error" showIcon title="统计数据读取失败" description={loadError} action={<Button size="small" onClick={() => void reload()}>重试</Button>} />}
|
||||
{loadError && (
|
||||
<Alert
|
||||
type="error"
|
||||
showIcon
|
||||
title="统计数据读取失败"
|
||||
description={loadError}
|
||||
action={
|
||||
<Button size="small" onClick={() => void reload()}>
|
||||
重试
|
||||
</Button>
|
||||
}
|
||||
/>
|
||||
)}
|
||||
|
||||
<section className="admin-analytics-health-grid" aria-label="运营健康指标">
|
||||
<AnalyticsHealthCard
|
||||
@@ -300,19 +314,8 @@ export default function AnalyticsPanel({ users, channels }: Props) {
|
||||
detail={data ? (data.kpi.upstreamRequests ? "真实上游请求成功率" : "当前范围暂无请求") : undefined}
|
||||
tone={!data || !data.kpi.upstreamRequests ? "neutral" : data.kpi.successRate < 90 ? "warning" : "success"}
|
||||
/>
|
||||
<AnalyticsHealthCard
|
||||
icon={<Clock3 className="size-4" />}
|
||||
label="P95 请求耗时"
|
||||
value={data && data.kpi.upstreamRequests > 0 ? formatDuration(data.kpi.p95DurationMs) : "--"}
|
||||
detail="筛选范围内的上游请求"
|
||||
/>
|
||||
<AnalyticsHealthCard
|
||||
icon={<Workflow className="size-4" />}
|
||||
label="当前排队"
|
||||
value={data ? formatNumber(data.kpi.currentQueuedTasks) : "--"}
|
||||
detail="实时快照 · 非历史累计"
|
||||
tone={data?.kpi.currentQueuedTasks ? "warning" : "neutral"}
|
||||
/>
|
||||
<AnalyticsHealthCard icon={<Clock3 className="size-4" />} label="P95 请求耗时" value={data && data.kpi.upstreamRequests > 0 ? formatDuration(data.kpi.p95DurationMs) : "--"} detail="筛选范围内的上游请求" />
|
||||
<AnalyticsHealthCard icon={<Workflow className="size-4" />} label="当前排队" value={data ? formatNumber(data.kpi.currentQueuedTasks) : "--"} detail="实时快照 · 非历史累计" tone={data?.kpi.currentQueuedTasks ? "warning" : "neutral"} />
|
||||
<AnalyticsHealthCard
|
||||
icon={<CircleDollarSign className="size-4" />}
|
||||
label="费用统计(积分)"
|
||||
|
||||
Reference in New Issue
Block a user