feat(remote): 添加 CORS 中间件支持文件跨域访问
This commit is contained in:
@@ -366,23 +366,47 @@ class TimeTrackerService {
|
||||
if (targetMonth) {
|
||||
const monthData = await this.persistence.getMonthData(targetYear, targetMonth)
|
||||
totalDuration = monthData.monthlyTotal
|
||||
activeDays = monthData.activeDays
|
||||
activeDays = Object.values(monthData.days).filter(d => d.totalDuration > 0).length
|
||||
|
||||
for (const [day, summary] of Object.entries(monthData.days)) {
|
||||
if (!longestDay || summary.totalDuration > longestDay.duration) {
|
||||
longestDay = { date: `${targetYear}-${targetMonth.toString().padStart(2, '0')}-${day}`, duration: summary.totalDuration }
|
||||
}
|
||||
for (const tab of summary.topTabs || []) {
|
||||
tabDurations[tab.fileName] = (tabDurations[tab.fileName] || 0) + tab.duration
|
||||
}
|
||||
}
|
||||
|
||||
const dayData = await this.persistence.getDayData(targetYear, targetMonth, 1)
|
||||
for (const session of dayData.sessions) {
|
||||
for (const record of session.tabRecords) {
|
||||
const key = record.filePath || record.fileName
|
||||
tabDurations[key] = (tabDurations[key] || 0) + record.duration
|
||||
tabTypeDurations[record.tabType] = (tabTypeDurations[record.tabType] || 0) + record.duration
|
||||
}
|
||||
}
|
||||
} else {
|
||||
const yearData = await this.persistence.getYearData(targetYear)
|
||||
totalDuration = yearData.yearlyTotal
|
||||
activeDays = yearData.totalActiveDays
|
||||
activeDays = Object.values(yearData.months).reduce((sum, m) => {
|
||||
return sum + Object.entries(m).filter(([_, d]) => (d as { totalDuration: number }).totalDuration > 0).length
|
||||
}, 0)
|
||||
|
||||
for (const [month, summary] of Object.entries(yearData.months)) {
|
||||
if (!longestDay || summary.totalDuration > longestDay.duration) {
|
||||
longestDay = { date: `${targetYear}-${month}`, duration: summary.totalDuration }
|
||||
}
|
||||
}
|
||||
|
||||
for (let m = 1; m <= 12; m++) {
|
||||
const monthStr = m.toString().padStart(2, '0')
|
||||
const monthData = await this.persistence.getMonthData(targetYear, m)
|
||||
for (const dayData of Object.values(monthData.days)) {
|
||||
for (const tab of dayData.topTabs || []) {
|
||||
tabDurations[tab.fileName] = (tabDurations[tab.fileName] || 0) + tab.duration
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return {
|
||||
|
||||
Reference in New Issue
Block a user