chore(release): 版本发布 - 准备 v1.5.7.1 预览版

This commit is contained in:
ddCat
2026-09-22 09:23:18 +08:00
parent e0e6be450b
commit b2a1bcc8d9
9 changed files with 55 additions and 32 deletions

View File

@@ -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() {

View File

@@ -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="费用统计(积分)"