fix: OnlyOffice/Preview zeigt immer aktuelle Version (kein Cache)
Drei Cache-Ebenen gefixt: - Vue Router: :key=fullPath erzwingt Komponenten-Neuaufbau bei jeder Navigation (kein Wiederverwenden alter Instanzen) - Frontend: Cache-Bust Parameter an Preview + OnlyOffice API-Calls - Backend: No-Cache Headers (Cache-Control, Pragma) auf Preview-Endpunkt Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -67,7 +67,7 @@
|
||||
</aside>
|
||||
|
||||
<main class="main-content">
|
||||
<router-view />
|
||||
<router-view :key="$route.fullPath" />
|
||||
</main>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -104,6 +104,7 @@ const auth = useAuthStore()
|
||||
const toast = useToast()
|
||||
|
||||
const fileId = route.params.fileId
|
||||
const cacheBust = Date.now()
|
||||
const fileName = ref('')
|
||||
const previewType = ref('')
|
||||
const previewUrl = ref('')
|
||||
@@ -135,12 +136,12 @@ async function loadPreview() {
|
||||
loading.value = true
|
||||
try {
|
||||
// For Office files, try OnlyOffice first
|
||||
const previewRes = await apiClient.get(`/files/${fileId}/preview`)
|
||||
const previewRes = await apiClient.get(`/files/${fileId}/preview?_=${cacheBust}`)
|
||||
fileName.value = previewRes.data.name || ''
|
||||
|
||||
if (isOfficeFile(fileName.value)) {
|
||||
try {
|
||||
const ooRes = await apiClient.get(`/files/${fileId}/onlyoffice-config`)
|
||||
const ooRes = await apiClient.get(`/files/${fileId}/onlyoffice-config?_=${cacheBust}`)
|
||||
if (ooRes.data.available) {
|
||||
onlyOfficeMode.value = true
|
||||
loading.value = false
|
||||
|
||||
Reference in New Issue
Block a user