feat:移除了不必要的缓存机制,确保数据的及时性
This commit is contained in:
parent
73cfd7ef9b
commit
d1fd76e242
@ -521,41 +521,17 @@ function normalizeRewards(list) {
|
||||
enriched.sort((a, b) => (b.percent - a.percent))
|
||||
return enriched
|
||||
}
|
||||
function isFresh(ts) {
|
||||
const now = Date.now()
|
||||
const v = Number(ts || 0)
|
||||
return now - v < 24 * 60 * 60 * 1000
|
||||
}
|
||||
function getRewardCache() {
|
||||
const obj = uni.getStorageSync('reward_cache_v1') || {}
|
||||
return typeof obj === 'object' && obj ? obj : {}
|
||||
}
|
||||
async function fetchRewardsForIssues(activityId) {
|
||||
const list = issues.value || []
|
||||
const cache = getRewardCache()
|
||||
const act = cache[activityId] || {}
|
||||
const toFetch = []
|
||||
list.forEach(it => {
|
||||
const c = act[it.id]
|
||||
if (c && isFresh(c.ts) && Array.isArray(c.value)) {
|
||||
rewardsMap.value = { ...(rewardsMap.value || {}), [it.id]: c.value }
|
||||
} else {
|
||||
toFetch.push(it)
|
||||
}
|
||||
})
|
||||
if (!toFetch.length) return
|
||||
const promises = toFetch.map(it => getActivityIssueRewards(activityId, it.id))
|
||||
const promises = list.map(it => getActivityIssueRewards(activityId, it.id))
|
||||
const results = await Promise.allSettled(promises)
|
||||
const nextAct = { ...act }
|
||||
|
||||
results.forEach((res, i) => {
|
||||
const issueId = toFetch[i] && toFetch[i].id
|
||||
const issueId = list[i] && list[i].id
|
||||
if (!issueId) return
|
||||
const value = res.status === 'fulfilled' ? normalizeRewards(res.value) : []
|
||||
rewardsMap.value = { ...(rewardsMap.value || {}), [issueId]: value }
|
||||
nextAct[issueId] = { value, ts: Date.now() }
|
||||
})
|
||||
cache[activityId] = nextAct
|
||||
uni.setStorageSync('reward_cache_v1', cache)
|
||||
}
|
||||
|
||||
async function fetchIssues(id) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user