@@ -26,6 +26,7 @@ import {
2626import {
2727 timestamp2string ,
2828 timestamp2string1 ,
29+ isDataCrossYear ,
2930 copy ,
3031 showSuccess ,
3132} from './utils' ;
@@ -259,13 +260,16 @@ export const processRawData = (
259260 timeCountMap : new Map ( ) ,
260261 } ;
261262
263+ // 检查数据是否跨年
264+ const showYear = isDataCrossYear ( data . map ( item => item . created_at ) ) ;
265+
262266 data . forEach ( ( item ) => {
263267 result . uniqueModels . add ( item . model_name ) ;
264268 result . totalTokens += item . token_used ;
265269 result . totalQuota += item . quota ;
266270 result . totalTimes += item . count ;
267271
268- const timeKey = timestamp2string1 ( item . created_at , dataExportDefaultTime ) ;
272+ const timeKey = timestamp2string1 ( item . created_at , dataExportDefaultTime , showYear ) ;
269273 if ( ! result . timePoints . includes ( timeKey ) ) {
270274 result . timePoints . push ( timeKey ) ;
271275 }
@@ -323,8 +327,11 @@ export const calculateTrendData = (
323327export const aggregateDataByTimeAndModel = ( data , dataExportDefaultTime ) => {
324328 const aggregatedData = new Map ( ) ;
325329
330+ // 检查数据是否跨年
331+ const showYear = isDataCrossYear ( data . map ( item => item . created_at ) ) ;
332+
326333 data . forEach ( ( item ) => {
327- const timeKey = timestamp2string1 ( item . created_at , dataExportDefaultTime ) ;
334+ const timeKey = timestamp2string1 ( item . created_at , dataExportDefaultTime , showYear ) ;
328335 const modelKey = item . model_name ;
329336 const key = `${ timeKey } -${ modelKey } ` ;
330337
@@ -358,10 +365,15 @@ export const generateChartTimePoints = (
358365 const lastTime = Math . max ( ...data . map ( ( item ) => item . created_at ) ) ;
359366 const interval = getTimeInterval ( dataExportDefaultTime , true ) ;
360367
361- chartTimePoints = Array . from (
368+ // 生成时间点数组,用于检查是否跨年
369+ const generatedTimestamps = Array . from (
362370 { length : DEFAULTS . MAX_TREND_POINTS } ,
363- ( _ , i ) =>
364- timestamp2string1 ( lastTime - ( 6 - i ) * interval , dataExportDefaultTime ) ,
371+ ( _ , i ) => lastTime - ( 6 - i ) * interval ,
372+ ) ;
373+ const showYear = isDataCrossYear ( generatedTimestamps ) ;
374+
375+ chartTimePoints = generatedTimestamps . map ( ts =>
376+ timestamp2string1 ( ts , dataExportDefaultTime , showYear ) ,
365377 ) ;
366378 }
367379
0 commit comments