fix(PdfPreviewPage): 修复PDF预览页关闭时未清除刷新标记的问题
添加组件挂载时的主动刷新逻辑,避免无限刷新
Showing
1 changed file
with
19 additions
and
1 deletions
| ... | @@ -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> | ... | ... |
-
Please register or login to post a comment