fix
Some checks failed
Deploy / deploy (push) Has been cancelled

This commit is contained in:
2025-10-27 18:33:55 +08:00
parent 9ff9c7ae54
commit bd414cfc3f
2 changed files with 21 additions and 6 deletions

View File

@@ -351,8 +351,8 @@ export function updateProblemSetProgress(
} }
// 获取用户徽章列表 // 获取用户徽章列表
export function getUserBadges() { export function getUserBadges(username?: string) {
return http.get("user/badges") return http.get("user/badges", { params: username ? { username } : {} })
} }
// 获取题单徽章列表 // 获取题单徽章列表

View File

@@ -73,8 +73,23 @@ async function init() {
} }
ac.sort() ac.sort()
problems.value = ac problems.value = ac
const promises: Promise<{ data: any }>[] = []
if (profile.value.submission_number > 0) { if (profile.value.submission_number > 0) {
const metricsRes = await getMetrics(profile.value.user.id) promises.push(getMetrics(profile.value.user.id))
}
if (route.query.name) {
promises.push(getUserBadges(<string>route.query.name))
} else {
promises.push(getUserBadges())
}
const results = await Promise.all(promises)
// 处理 metrics 结果
if (profile.value.submission_number > 0) {
const metricsRes = results[0]
firstSubmissionAt.value = parseTime(metricsRes.data.first) firstSubmissionAt.value = parseTime(metricsRes.data.first)
latestSubmissionAt.value = parseTime(metricsRes.data.latest) latestSubmissionAt.value = parseTime(metricsRes.data.latest)
toLatestAt.value = durationToDays( toLatestAt.value = durationToDays(
@@ -86,9 +101,9 @@ async function init() {
metricsRes.data.latest, metricsRes.data.latest,
) )
} }
// 获取用户徽章
const badgesRes = await getUserBadges() // 处理 badges 结果
userBadges.value = groupBadgesByIcon(badgesRes.data) userBadges.value = groupBadgesByIcon(results[1].data)
} finally { } finally {
toggle(false) toggle(false)
} }