算力中心接入真实数据:新增消耗明细和趋势统计接口
前端: - auth.ts 新增 getOpcComputeUsageLogs 和 getOpcComputeUsageTrend 接口 - Compute.tsx 移除所有模拟数据,改用真实接口 - 概览 Tab:消耗趋势图、模型分布图、时段分布图全部使用真实数据 - 消耗账单 Tab:统计卡片和明细表格使用真实分页数据 - 新增 usageLogsLoading 状态,表格加载时显示 loading - 空数据时显示友好提示,不报错 后端: - compute_client.py 新增 user_logs 方法,封装引擎日志接口 - rbac_opc.py 新增两个接口: - GET /opc/compute/usage/logs - 消耗明细(分页,统一字段格式) - GET /opc/compute/usage/trend - 消耗趋势统计(近N天趋势、模型分布、时段分布) - 趋势接口基于引擎日志数据聚合计算,引擎对接失败时返回空数据不报错 - 模型分布自动取 Top 5,其余归为其他 - 时段分布按24小时聚合
This commit is contained in:
@@ -356,6 +356,15 @@ export const authApi = {
|
||||
// ---- 计量:余额 / 本月用量(按模型) ----
|
||||
getOpcComputeBalance: () => request<{ id: number; quota: number; used_quota: number }>("/opc/compute/balance"),
|
||||
getOpcComputeUsage: () => request<{ month: string; cost_quota: number; input_tokens: number; output_tokens: number; items: { model_name: string; requests: number; input_tokens: number; output_tokens: number; cost_quota: number }[] }>("/opc/compute/usage"),
|
||||
getOpcComputeUsageLogs: (page: number = 1, pageSize: number = 20) =>
|
||||
request<{ items: { id: string; time: string; model: string; type: string; input_tokens: number; output_tokens: number; cost: number; status: string }[]; total: number; page: number; page_size: number }>(`/opc/compute/usage/logs?page=${page}&page_size=${pageSize}`),
|
||||
getOpcComputeUsageTrend: (days: number = 7) =>
|
||||
request<{
|
||||
trend: { date: string; cost: number; tokens: number }[];
|
||||
model_distribution: { name: string; value: number; cost: number; color: string }[];
|
||||
hourly_distribution: { hour: string; cost: number }[];
|
||||
summary: { total_cost: number; total_tokens: number; total_requests: number; days: number };
|
||||
}>(`/opc/compute/usage/trend?days=${days}`),
|
||||
// ---- 算力充值(微信支付,native 扫码) ----
|
||||
getOpcRechargePackages: () => request<{ enabled: boolean; items: { id: string; amount: number; bonus: number; label: string; quota_micro: number }[]; min_yuan: number; max_yuan: number }>("/opc/compute/recharge/packages"),
|
||||
// client_type="mp":桌面端展示小程序码,微信扫码在小程序内完成支付(与扫码登录同构)
|
||||
|
||||
Reference in New Issue
Block a user