|
|
@ -92,6 +92,7 @@ |
|
|
|
<img |
|
|
|
:src="marketList[record.stockMarket]" |
|
|
|
:alt="record.stockMarket" |
|
|
|
@error="handleImageError" |
|
|
|
/> |
|
|
|
</div> |
|
|
|
<div class="record-msg"> |
|
|
@ -463,15 +464,21 @@ const getHistoryList = async (params) => { |
|
|
|
try { |
|
|
|
const result = await getHistoryListAPI(params); |
|
|
|
historyRecords.value = result.data; |
|
|
|
|
|
|
|
|
|
|
|
// 检查数据是否有变化,使用简单的哈希值比较 |
|
|
|
const currentDataHash = JSON.stringify(result.data.map(r => ({ id: r.id, isTop: r.isTop, createdTime: r.createdTime }))); |
|
|
|
const currentDataHash = JSON.stringify( |
|
|
|
result.data.map((r) => ({ |
|
|
|
id: r.id, |
|
|
|
isTop: r.isTop, |
|
|
|
createdTime: r.createdTime, |
|
|
|
})) |
|
|
|
); |
|
|
|
if (cachedCategoryHistory && lastDataHash === currentDataHash) { |
|
|
|
// 使用缓存的分类结果 |
|
|
|
categoryHistory.value = cachedCategoryHistory; |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
let remainingRecords = result.data; // 复制原数组 |
|
|
|
// console.log( |
|
|
|
// "params", |
|
|
@ -520,25 +527,28 @@ const getHistoryList = async (params) => { |
|
|
|
const yesterday = moment().subtract(1, "days").endOf("day"); |
|
|
|
const sevenDaysAgo = moment().subtract(7, "days").startOf("day"); |
|
|
|
const thirtyDaysAgo = moment().subtract(30, "days").startOf("day"); |
|
|
|
|
|
|
|
|
|
|
|
const topList = []; |
|
|
|
const todayList = []; |
|
|
|
const recent3DaysList = []; |
|
|
|
const recent7DaysList = []; |
|
|
|
const recent30DaysList = []; |
|
|
|
|
|
|
|
|
|
|
|
remainingRecords.forEach((record) => { |
|
|
|
if (record.isTop === 1) { |
|
|
|
topList.push(record); |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
const recordDate = moment(record.createdTime); |
|
|
|
const recordDateStr = recordDate.format("YYYY-MM-DD"); |
|
|
|
|
|
|
|
|
|
|
|
if (recordDateStr === today) { |
|
|
|
todayList.push(record); |
|
|
|
} else if (recordDate.isAfter(threeDaysAgo) && recordDate.isBefore(yesterday)) { |
|
|
|
} else if ( |
|
|
|
recordDate.isAfter(threeDaysAgo) && |
|
|
|
recordDate.isBefore(yesterday) |
|
|
|
) { |
|
|
|
recent3DaysList.push(record); |
|
|
|
} else if (recordDate.isAfter(sevenDaysAgo)) { |
|
|
|
recent7DaysList.push(record); |
|
|
@ -571,11 +581,11 @@ const getHistoryList = async (params) => { |
|
|
|
list: recent30DaysList, |
|
|
|
}, |
|
|
|
]; |
|
|
|
|
|
|
|
|
|
|
|
// 更新缓存 |
|
|
|
cachedCategoryHistory = categoryHistory.value; |
|
|
|
lastDataHash = currentDataHash; |
|
|
|
|
|
|
|
|
|
|
|
// console.log("historyRecords", historyRecords.value); |
|
|
|
// console.log("categoryHistory", categoryHistory.value); |
|
|
|
} catch (e) { |
|
|
@ -655,6 +665,14 @@ const closeHistory = () => { |
|
|
|
} |
|
|
|
}; |
|
|
|
|
|
|
|
// 图片加载错误处理 |
|
|
|
const handleImageError = (event) => { |
|
|
|
console.error("图片加载失败:", event.target.src); |
|
|
|
// 可以设置默认图片或重试逻辑 |
|
|
|
event.target.src = |
|
|
|
"https://d31zlh4on95l9h.cloudfront.net/images/9a431843b182c64a05fa3c8f6772b8a4.png"; |
|
|
|
}; |
|
|
|
|
|
|
|
const historyData = ref({}); |
|
|
|
const selectRecord = async (record) => { |
|
|
|
if (props.currentType == "AIchat" && chatStore.firstAPICall) { |
|
|
|