fix
Some checks failed
Deploy / deploy (build, debian, 22, /root/OJDeploy/data/clientnext) (push) Has been cancelled
Deploy / deploy (build:staging, school, 8822, /root/OJ/data/dist) (push) Has been cancelled

This commit is contained in:
2026-06-04 08:54:04 -06:00
parent 41c4fdbc5c
commit 4aa0072567
3 changed files with 12 additions and 9 deletions

View File

@@ -109,6 +109,9 @@ function onUsernameChange() {
onMounted(() => {
aiStore.fetchHeatmapData()
if (!aiStore.targetUsername) {
aiStore.fetchPinnedReport()
}
})
watch(

View File

@@ -10,7 +10,7 @@
<template v-if="aiStore.pinnedReport">
<MdPreview :model-value="aiStore.pinnedReport.analysis" />
</template>
<template v-else>
<template v-else-if="!aiStore.loading.pinned">
<n-button
v-if="!aiStore.mdContent && !aiStore.loading.ai"
type="primary"
@@ -43,12 +43,6 @@ async function handleAnalyze() {
}
await aiStore.fetchAIAnalysis()
}
onMounted(async () => {
if (!aiStore.targetUsername) {
await aiStore.fetchPinnedReport()
}
})
</script>
<style scoped>
.cool-title {

View File

@@ -24,6 +24,7 @@ export const useAIStore = defineStore("ai", () => {
fetching: false, // 合并 details 和 duration 的 loading
ai: false,
heatmap: false,
pinned: true,
})
const mdContent = ref("")
@@ -158,8 +159,13 @@ export const useAIStore = defineStore("ai", () => {
}
async function fetchPinnedReport() {
const res = await getAIPinnedReport()
pinnedReport.value = res.data
loading.pinned = true
try {
const res = await getAIPinnedReport()
pinnedReport.value = res.data
} finally {
loading.pinned = false
}
}
return {