hookehuyr

fix(PdfPreviewPage): 修复PDF预览页关闭时未清除刷新标记的问题

添加组件挂载时的主动刷新逻辑,避免无限刷新
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
12 </template> 12 </template>
13 13
14 <script setup> 14 <script setup>
15 -import { computed } from 'vue' 15 +import { computed, onMounted } from 'vue'
16 import { useRoute, useRouter } from 'vue-router' 16 import { useRoute, useRouter } from 'vue-router'
17 import PdfViewer from '@/components/ui/PdfViewer.vue' 17 import PdfViewer from '@/components/ui/PdfViewer.vue'
18 18
...@@ -31,7 +31,13 @@ const pdfTitle = computed(() => { ...@@ -31,7 +31,13 @@ const pdfTitle = computed(() => {
31 return typeof title === 'string' ? decodeURIComponent(title) : '' 31 return typeof title === 'string' ? decodeURIComponent(title) : ''
32 }) 32 })
33 33
34 +/**
35 + * 处理关闭事件
36 + */
34 const handleClose = () => { 37 const handleClose = () => {
38 + // 清除刷新标记
39 + sessionStorage.removeItem('pdf-preview-refreshed')
40 +
35 const returnId = route.query.returnId 41 const returnId = route.query.returnId
36 const openMaterials = route.query.openMaterials 42 const openMaterials = route.query.openMaterials
37 if (returnId) { 43 if (returnId) {
...@@ -42,6 +48,18 @@ const handleClose = () => { ...@@ -42,6 +48,18 @@ const handleClose = () => {
42 router.replace({ path: '/study' }) 48 router.replace({ path: '/study' })
43 } 49 }
44 } 50 }
51 +
52 +/**
53 + * 组件挂载时主动刷新页面
54 + */
55 +onMounted(() => {
56 + // 检查是否已经刷新过,避免无限刷新
57 + const hasRefreshed = sessionStorage.getItem('pdf-preview-refreshed')
58 + if (!hasRefreshed) {
59 + sessionStorage.setItem('pdf-preview-refreshed', 'true')
60 + window.location.reload()
61 + }
62 +})
45 </script> 63 </script>
46 64
47 <style scoped> 65 <style scoped>
......