|
@ -429,6 +429,7 @@ const statistics = reactive([ |
|
|
]) |
|
|
]) |
|
|
// 日历热力图 |
|
|
// 日历热力图 |
|
|
const heat = ref(null); |
|
|
const heat = ref(null); |
|
|
|
|
|
const newData = <any>[]; |
|
|
|
|
|
|
|
|
function generateDates(numDays: number) { |
|
|
function generateDates(numDays: number) { |
|
|
const dates = []; |
|
|
const dates = []; |
|
@ -445,42 +446,17 @@ function generateDates(numDays: number) { |
|
|
// 初始化60天的数据 |
|
|
// 初始化60天的数据 |
|
|
const data = generateDates(60); |
|
|
const data = generateDates(60); |
|
|
// 重新排列数据 |
|
|
// 重新排列数据 |
|
|
const rawData = ref<any[]>([]); |
|
|
|
|
|
const statisticList = async () => { |
|
|
|
|
|
await get("/statistics/list").then(response => { |
|
|
|
|
|
rawData.value = response.data.data |
|
|
|
|
|
// let value = response.data.data; |
|
|
|
|
|
// let handleValue = formattedData(value); |
|
|
|
|
|
// rawData.value = handleValue; |
|
|
|
|
|
rawData.value.forEach(newDataItem => { |
|
|
|
|
|
const item = newData.find((d: any) => d.date === newDataItem.date); |
|
|
|
|
|
if (item) { |
|
|
|
|
|
item.writCount = newDataItem.writCount; |
|
|
|
|
|
} |
|
|
|
|
|
}); |
|
|
|
|
|
}) |
|
|
|
|
|
} |
|
|
|
|
|
const newData = <any>[]; |
|
|
|
|
|
for (let i = 0; i < 60; i += 15) { |
|
|
for (let i = 0; i < 60; i += 15) { |
|
|
// 取出每个15天的数据,并反转顺序 |
|
|
// 取出每个15天的数据,并反转顺序 |
|
|
const chunk = data.slice(i, i + 15).reverse(); |
|
|
const chunk = data.slice(i, i + 15).reverse(); |
|
|
newData.push(...chunk); |
|
|
newData.push(...chunk); |
|
|
} |
|
|
} |
|
|
console.log(`output->rawData`,rawData) |
|
|
|
|
|
console.log(`output->newData`,newData) |
|
|
|
|
|
|
|
|
|
|
|
const getWritCountValues = () => { |
|
|
|
|
|
const writCounts = rawData.value.map(item => item.writCount); |
|
|
|
|
|
return writCounts; |
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
// 在适当的地方调用 getWritCountValues 来获取 writCount 值数组 |
|
|
|
|
|
const writCounts = getWritCountValues(); |
|
|
|
|
|
console.log(`output->writCounts`,writCounts) |
|
|
|
|
|
|
|
|
const rawData = ref<any[]>([]); |
|
|
const formattedData = newData.map((item: any, index: number) => { |
|
|
const formattedData = newData.map((item: any, index: number) => { |
|
|
return [index % 15, Math.floor(index / 15), item.writCount] |
|
|
return [index % 15, Math.floor(index / 15), item.writCount] |
|
|
}); |
|
|
}); |
|
|
console.log(`output->formattedData`, formattedData) |
|
|
|
|
|
|
|
|
|
|
|
const heatMapData = { |
|
|
const heatMapData = { |
|
|
tooltip: { |
|
|
tooltip: { |
|
|
position: 'top', |
|
|
position: 'top', |
|
@ -547,7 +523,18 @@ const heatMapData = { |
|
|
} |
|
|
} |
|
|
}] |
|
|
}] |
|
|
}; |
|
|
}; |
|
|
|
|
|
const statisticList = async () => { |
|
|
|
|
|
await get("/statistics/list").then(response => { |
|
|
|
|
|
rawData.value = response.data.data |
|
|
|
|
|
rawData.value.forEach(newDataItem => { |
|
|
|
|
|
const item = newData.find((d: any) => d.date === newDataItem.date); |
|
|
|
|
|
if (item) { |
|
|
|
|
|
item.writCount = newDataItem.writCount; |
|
|
|
|
|
} |
|
|
|
|
|
}); |
|
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
// 音乐组件 |
|
|
// 音乐组件 |
|
|
const random = ref(); |
|
|
const random = ref(); |
|
|
|
|
|
|
|
|