diff --git a/frontend/packages/common/src/locales/keyHashMap.json b/frontend/packages/common/src/locales/keyHashMap.json index ea37166c..f4d84dd4 100644 --- a/frontend/packages/common/src/locales/keyHashMap.json +++ b/frontend/packages/common/src/locales/keyHashMap.json @@ -673,20 +673,19 @@ "暂无数据": "Kf8525cf2", "输入 Token": "K33bc1ad1", "输出 Token": "Ke00ff18b", - "总 Token": "K81140e5b", "订阅数量": "Ke04bc00d", "已开启": "K1b97ae0a", "开启 MCP": "K19ec733b", "API 使用排名": "Kbee2340", "消费者使用排名": "Kf6af1f40", - "请求数": "K318a7519", - "流量": "K53eb7414", + "请求次数": "K9d3f2d9d", + "网络流量": "Ke2241377", "平均响应时间": "K7c8d5c23", - "平均请求数": "K652843b0", - "平均流量": "K8158a6e4", - "Token": "K9ef68e3f", - "平均 Token/s 统计": "K6c016898", - "平均 Token/订阅者统计": "Kf5eeb9c5", + "平均每消费者的请求次数": "K6c267c7b", + "平均每消费者的网络流量": "K133d4291", + "Token 消耗": "K37c5f1d0", + "平均 Token 消耗": "K10a8bee3", + "平均每消费者的 Token 消耗": "Kb98264d4", "单位:ms,最小值:1": "K2a16c93b", "API 路由设置": "Ka945cfb1", "API 基础信息": "K2e050340", diff --git a/frontend/packages/common/src/locales/scan/en-US.json b/frontend/packages/common/src/locales/scan/en-US.json index 113ba88f..8487ce4a 100644 --- a/frontend/packages/common/src/locales/scan/en-US.json +++ b/frontend/packages/common/src/locales/scan/en-US.json @@ -966,5 +966,11 @@ "Kc8bf447": "Request Log", "Kf8525cf2": "No Data", "K1be06929": "Response Time", - "K5e51f5d": "Timestamp" + "K5e51f5d": "Timestamp", + "K9d3f2d9d": "Requests", + "Ke2241377": "Traffic", + "K6c267c7b": "Avg Requests per Subscriber", + "K133d4291": "Avg Traffic per Subscriber", + "K37c5f1d0": "Token", + "Kb98264d4": "Avg Token per Subscriber" } diff --git a/frontend/packages/common/src/locales/scan/ja-JP.json b/frontend/packages/common/src/locales/scan/ja-JP.json index 1ccbeeca..974ddd23 100644 --- a/frontend/packages/common/src/locales/scan/ja-JP.json +++ b/frontend/packages/common/src/locales/scan/ja-JP.json @@ -988,5 +988,11 @@ "Kc8bf447": "リクエストログ", "Kf8525cf2": "データがありません", "K1be06929": "応答時間", - "K5e51f5d": "タイムスタンプ" + "K5e51f5d": "タイムスタンプ", + "K9d3f2d9d": "リクエスト数", + "Ke2241377": "ネットワークトラフィック", + "K6c267c7b": "消費者あたりの平均リクエスト数", + "K133d4291": "消費者あたりの平均ネットワークトラフィック", + "K37c5f1d0": "トークン消費量", + "Kb98264d4": "消費者あたりの平均トークン消費量" } diff --git a/frontend/packages/common/src/locales/scan/zh-CN.json b/frontend/packages/common/src/locales/scan/zh-CN.json index f5304de2..087cb301 100644 --- a/frontend/packages/common/src/locales/scan/zh-CN.json +++ b/frontend/packages/common/src/locales/scan/zh-CN.json @@ -917,5 +917,11 @@ "Kc8bf447": "请求日志", "Kf8525cf2": "暂无数据", "K1be06929": "响应时间", - "K5e51f5d": "时间" + "K5e51f5d": "时间", + "K9d3f2d9d": "请求次数", + "Ke2241377": "网络流量", + "K6c267c7b": "平均每消费者的请求次数", + "K133d4291": "平均每消费者的网络流量", + "K37c5f1d0": "Token 消耗", + "Kb98264d4": "平均每消费者的 Token 消耗" } diff --git a/frontend/packages/common/src/locales/scan/zh-TW.json b/frontend/packages/common/src/locales/scan/zh-TW.json index f0382c56..59c1f7ba 100644 --- a/frontend/packages/common/src/locales/scan/zh-TW.json +++ b/frontend/packages/common/src/locales/scan/zh-TW.json @@ -988,5 +988,11 @@ "Kc8bf447": "請求日誌", "Kf8525cf2": "暫無資料", "K1be06929": "回應時間", - "K5e51f5d": "時間" + "K5e51f5d": "時間", + "K9d3f2d9d": "請求次數", + "Ke2241377": "網路流量", + "K6c267c7b": "平均每位使用者的請求次數", + "K133d4291": "平均每位使用者的網路流量", + "K37c5f1d0": "Token 消耗", + "Kb98264d4": "平均每位使用者的 Token 消耗" } diff --git a/frontend/packages/core/src/pages/serviceOverview/charts/ServiceAreaChart.tsx b/frontend/packages/core/src/pages/serviceOverview/charts/ServiceAreaChart.tsx index 9e6d1a4a..9edd3647 100644 --- a/frontend/packages/core/src/pages/serviceOverview/charts/ServiceAreaChart.tsx +++ b/frontend/packages/core/src/pages/serviceOverview/charts/ServiceAreaChart.tsx @@ -168,6 +168,7 @@ const ServiceAreaChart = ({ customClassNames, dataInfo, height, showAvgLine }: S type: 'dashed' }, label: { + show: false, position: 'insideEndTop', formatter: '{c}', color: '#000', @@ -177,6 +178,14 @@ const ServiceAreaChart = ({ customClassNames, dataInfo, height, showAvgLine }: S borderRadius: 2, distance: -5 }, + emphasis: { + lineStyle: { + width: 1 // 保持线条宽度不变,禁用默认的悬停加粗 + }, + label: { + show: false // 悬停时不显示标签 + } + }, data: [{ type: 'average', name: 'Avg' }] } : undefined, areaStyle: { @@ -202,7 +211,10 @@ const ServiceAreaChart = ({ customClassNames, dataInfo, height, showAvgLine }: S } ] } - setOption(option) + const echartsInstance = chartRef.current?.getEchartsInstance() + if (echartsInstance) { + echartsInstance.setOption(option) + } } // 使用深度监听来确保图表数据更新 useEffect(() => { diff --git a/frontend/packages/core/src/pages/serviceOverview/charts/ServiceBarChar.tsx b/frontend/packages/core/src/pages/serviceOverview/charts/ServiceBarChar.tsx index 685303a1..49b2a61c 100644 --- a/frontend/packages/core/src/pages/serviceOverview/charts/ServiceBarChar.tsx +++ b/frontend/packages/core/src/pages/serviceOverview/charts/ServiceBarChar.tsx @@ -240,6 +240,7 @@ const ServiceBarChar = ({ customClassNames, dataInfo, height, showAvgLine, showL type: 'dashed' }, label: { + show: false, position: 'insideEndTop', formatter: '{c}', color: '#000', @@ -249,6 +250,14 @@ const ServiceBarChar = ({ customClassNames, dataInfo, height, showAvgLine, showL borderRadius: 2, distance: -5 }, + emphasis: { + lineStyle: { + width: 1 // 保持线条宽度不变,禁用默认的悬停加粗 + }, + label: { + show: false // 悬停时不显示标签 + } + }, data: [{ type: 'average', name: 'Avg' }] } : undefined, @@ -268,6 +277,7 @@ const ServiceBarChar = ({ customClassNames, dataInfo, height, showAvgLine, showL type: 'dashed' }, label: { + show: false, position: 'insideEndTop', formatter: '{c}', color: '#000', @@ -277,6 +287,14 @@ const ServiceBarChar = ({ customClassNames, dataInfo, height, showAvgLine, showL borderRadius: 2, distance: -5 }, + emphasis: { + lineStyle: { + width: 1 // 保持线条宽度不变,禁用默认的悬停加粗 + }, + label: { + show: false // 悬停时不显示标签 + } + }, data: [{ type: 'average', name: 'Avg' }] } : undefined, @@ -290,7 +308,10 @@ const ServiceBarChar = ({ customClassNames, dataInfo, height, showAvgLine, showL data: item.value })) } - setOption(option) + const echartsInstance = chartRef.current?.getEchartsInstance() + if (echartsInstance) { + echartsInstance.setOption(option) + } } // 使用深度监听来确保图表数据更新 diff --git a/frontend/packages/core/src/pages/serviceOverview/serviceOverview.tsx b/frontend/packages/core/src/pages/serviceOverview/serviceOverview.tsx index 818b973c..2d2b711f 100644 --- a/frontend/packages/core/src/pages/serviceOverview/serviceOverview.tsx +++ b/frontend/packages/core/src/pages/serviceOverview/serviceOverview.tsx @@ -112,7 +112,7 @@ const ServiceOverview = ({ serviceType }: { serviceType: 'aiService' | 'restServ // 服务请求次数 { ...setBarChartInfoData({ - title: $t('请求数'), + title: $t('请求次数'), data: serviceOverview.requestOverview, value: serviceOverview.requestTotal, date: serviceOverview.date @@ -124,7 +124,7 @@ const ServiceOverview = ({ serviceType }: { serviceType: 'aiService' | 'restServ // 流量消耗总数 { ...setBarChartInfoData({ - title: $t('流量'), + title: $t('网络流量'), data: serviceOverview.trafficOverview, value: serviceOverview.trafficTotal, date: serviceOverview.date @@ -149,7 +149,7 @@ const ServiceOverview = ({ serviceType }: { serviceType: 'aiService' | 'restServ }, // 平均请求 setBarChartInfoData({ - title: $t('平均请求数'), + title: $t('平均每消费者的请求次数'), data: serviceOverview.avgRequestPerSubscriberOverview, value: serviceOverview.avgRequestPerSubscriber, date: serviceOverview.date, @@ -157,7 +157,7 @@ const ServiceOverview = ({ serviceType }: { serviceType: 'aiService' | 'restServ }), // 平均流量消耗 setBarChartInfoData({ - title: $t('平均流量'), + title: $t('平均每消费者的网络流量'), data: serviceOverview.avgTrafficPerSubscriberOverview, value: serviceOverview.avgTrafficPerSubscriber, date: serviceOverview.date, @@ -184,7 +184,7 @@ const ServiceOverview = ({ serviceType }: { serviceType: 'aiService' | 'restServ // 服务请求次数 { ...setBarChartInfoData({ - title: $t('请求数'), + title: $t('请求次数'), data: serviceOverview.requestOverview, value: serviceOverview.requestTotal, date: serviceOverview.date @@ -196,7 +196,7 @@ const ServiceOverview = ({ serviceType }: { serviceType: 'aiService' | 'restServ // token 消耗总数 { ...setBarChartInfoData({ - title: $t('Token'), + title: $t('Token 消耗'), data: serviceOverview.tokenOverview.map((item: { inputToken: number; outputToken: number }) => ({ inputToken: item.inputToken, outputToken: item.outputToken @@ -212,7 +212,7 @@ const ServiceOverview = ({ serviceType }: { serviceType: 'aiService' | 'restServ setPerBarChartInfo([ // 平均 token 消耗 { - title: $t('平均 Token/s 统计'), + title: $t('平均 Token 消耗'), data: serviceOverview.avgTokenOverview, value: serviceOverview.avgToken, date: serviceOverview.date, @@ -222,14 +222,14 @@ const ServiceOverview = ({ serviceType }: { serviceType: 'aiService' | 'restServ }, // 平均请求 setBarChartInfoData({ - title: $t('平均请求数'), + title: $t('平均每消费者的请求次数'), data: serviceOverview.avgRequestPerSubscriberOverview, value: serviceOverview.avgRequestPerSubscriber, date: serviceOverview.date }), // 评价 token 消耗 setBarChartInfoData({ - title: $t('平均 Token/订阅者统计'), + title: $t('平均每消费者的 Token 消耗'), data: serviceOverview.avgTokenPerSubscriberOverview.map((item: { inputToken: number; outputToken: number }) => ({ inputToken: item.inputToken, outputToken: item.outputToken diff --git a/frontend/packages/dashboard/src/pages/DashboardTotal.tsx b/frontend/packages/dashboard/src/pages/DashboardTotal.tsx index 023a2ead..316b0b57 100644 --- a/frontend/packages/dashboard/src/pages/DashboardTotal.tsx +++ b/frontend/packages/dashboard/src/pages/DashboardTotal.tsx @@ -133,7 +133,7 @@ export default function DashboardTotal() { // 服务请求次数 { ...setBarChartInfoData({ - title: $t('请求数'), + title: $t('请求次数'), data: serviceOverview.requestOverview, value: serviceOverview.requestTotal, date: serviceOverview.date @@ -145,7 +145,7 @@ export default function DashboardTotal() { // 流量消耗总数 { ...setBarChartInfoData({ - title: $t('流量'), + title: $t('网络流量'), data: serviceOverview.trafficOverview, value: serviceOverview.trafficTotal, date: serviceOverview.date @@ -169,14 +169,14 @@ export default function DashboardTotal() { }, // 平均请求 setBarChartInfoData({ - title: $t('平均请求数'), + title: $t('平均每消费者的请求次数'), data: serviceOverview.avgRequestPerSubscriberOverview, value: serviceOverview.avgRequestPerSubscriber, date: serviceOverview.date }), // 平均流量消耗 setBarChartInfoData({ - title: $t('平均流量'), + title: $t('平均每消费者的网络流量'), data: serviceOverview.avgTrafficPerSubscriberOverview, value: serviceOverview.avgTrafficPerSubscriber, date: serviceOverview.date @@ -193,7 +193,7 @@ export default function DashboardTotal() { // 服务请求次数 { ...setBarChartInfoData({ - title: $t('请求数'), + title: $t('请求次数'), data: serviceOverview.requestOverview, value: serviceOverview.requestTotal, date: serviceOverview.date @@ -205,7 +205,7 @@ export default function DashboardTotal() { // token 消耗总数 { ...setBarChartInfoData({ - title: $t('Token'), + title: $t('Token 消耗'), data: serviceOverview.tokenOverview.map((item: { inputToken: number; outputToken: number }) => ({ inputToken: item.inputToken, outputToken: item.outputToken @@ -221,7 +221,7 @@ export default function DashboardTotal() { setPerBarChartInfo([ // 平均 token 消耗 { - title: $t('平均 Token/s 统计'), + title: $t('平均 Token 消耗'), data: serviceOverview.avgTokenOverview, value: serviceOverview.avgToken, date: serviceOverview.date, @@ -231,14 +231,14 @@ export default function DashboardTotal() { }, // 平均请求 setBarChartInfoData({ - title: $t('平均请求数'), + title: $t('平均每消费者的请求次数'), data: serviceOverview.avgRequestPerSubscriberOverview, value: serviceOverview.avgRequestPerSubscriber, date: serviceOverview.date }), // 平均 token 消耗 setBarChartInfoData({ - title: $t('平均 Token/订阅者统计'), + title: $t('平均每消费者的 Token 消耗'), data: serviceOverview.avgTokenPerSubscriberOverview.map( (item: { inputToken: number; outputToken: number }) => ({ inputToken: item.inputToken,