feat(desktop): 「用量」视图 —— 我的积分余额/消耗趋势/最近消耗(P3 续)
给终端用户一个自己的计量观测面(守边界:只读自己租户): - 新增 UsageView(左导航 MANAGE 组「用量」,Coins 图标):余额 hero 卡 (硬拦截+余额≤0→红/偏低→橙)、区间 KPI(积分/Token/成本/运行数)、 积分消耗按天趋势条形图(近7/近30天可切)、最近消耗明细表(任务/模型/token/积分/成本)。 读 /api/v1/me/usage。 - 顶栏积分余额芯片改为可点,进「用量」页(onOpenUsage → setView)。 live 验证(preview):视图显示 公司A 余额 15.92 + KPI + 趋势bar(落在实际消耗日) + 最近消耗 3 行真实数据;tsc + 48 测试全过。 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -9,6 +9,7 @@ import { MemoryView } from "./views/MemoryView";
|
||||
import { KbView } from "./views/KbView";
|
||||
import { ReportView } from "./views/ReportView";
|
||||
import { RunsView } from "./views/RunsView";
|
||||
import { UsageView } from "./views/UsageView";
|
||||
import { Home } from "./views/Home";
|
||||
import { Placeholder } from "./views/Placeholder";
|
||||
import { CommandPalette, type Command } from "./components/CommandPalette";
|
||||
@@ -238,7 +239,7 @@ export default function App() {
|
||||
style={{ background: "radial-gradient(60% 100% at 50% 0%, rgba(124,92,246,0.10), transparent 70%)" }}
|
||||
/>
|
||||
<UpdateBanner />
|
||||
<TopBar user={user} tenant={tenant} onLogout={onLogout} onCommand={() => setCmdOpen(true)} />
|
||||
<TopBar user={user} tenant={tenant} onLogout={onLogout} onCommand={() => setCmdOpen(true)} onOpenUsage={() => setView("usage")} />
|
||||
<ApprovalBar run={run} />
|
||||
<div className="relative flex min-h-0 flex-1">
|
||||
<LeftNav active={view} onSelect={setView} />
|
||||
@@ -255,6 +256,8 @@ export default function App() {
|
||||
<RunsView run={run} />
|
||||
) : view === "memory" ? (
|
||||
<MemoryView identity={identity} />
|
||||
) : view === "usage" ? (
|
||||
<UsageView />
|
||||
) : (
|
||||
<Placeholder {...(PLACEHOLDERS[view] ?? { title: "模块", desc: "规划中。" })} />
|
||||
)}
|
||||
|
||||
Reference in New Issue
Block a user