diff --git a/frontend/src/components/Editor.vue b/frontend/src/components/Editor.vue index c69c6180..db44a725 100644 --- a/frontend/src/components/Editor.vue +++ b/frontend/src/components/Editor.vue @@ -229,7 +229,7 @@ export default defineComponent({ getEditor().setModel(toUri(current), content) } catch (error) { store.commit('setCurrentFile', null) - toast.show('warning', error.message) + toast.show('warning', error.message.includes('Malformed') ? '密码错误' : error.message) console.error(error) } diff --git a/frontend/src/components/FileTabs.vue b/frontend/src/components/FileTabs.vue index 2de25ae8..7c7a39a8 100644 --- a/frontend/src/components/FileTabs.vue +++ b/frontend/src/components/FileTabs.vue @@ -92,7 +92,11 @@ export default defineComponent({ window.removeEventListener('keydown', keydownHandler) }) - watch(currentFile, file => { + watch(currentFile, (file, prevFile) => { + if (!file && File.isEncryptedFile(prevFile)) { + setTabs(tabs.value.filter((x: any) => !File.isSameFile(x.payload.file, prevFile))) + } + const uri = File.toUri(file) const item = { key: uri,