fix(export): Improve error handling and success messaging for markdown export

- Added result check after saving markdown files to ensure success messages are only shown when the save operation is successful.
- Standardized error message keys for consistency.
This commit is contained in:
ousugo 2025-03-13 17:11:47 +08:00 committed by 亢奋猫
parent 6f973741a2
commit 145be1fd87

View File

@ -37,8 +37,13 @@ export const exportTopicAsMarkdown = async (topic: Topic) => {
try { try {
const fileName = removeSpecialCharactersForFileName(topic.name) + '.md' const fileName = removeSpecialCharactersForFileName(topic.name) + '.md'
const markdown = await topicToMarkdown(topic) const markdown = await topicToMarkdown(topic)
await window.api.file.save(fileName, markdown) const result = await window.api.file.save(fileName, markdown)
window.message.success({ content: i18n.t('message.success.markdown.export.specified'), key: 'markdown-success' }) if (result) {
window.message.success({
content: i18n.t('message.success.markdown.export.specified'),
key: 'markdown-success'
})
}
} catch (error: any) { } catch (error: any) {
window.message.error({ content: i18n.t('message.error.markdown.export.specified'), key: 'markdown-error' }) window.message.error({ content: i18n.t('message.error.markdown.export.specified'), key: 'markdown-error' })
} }
@ -50,7 +55,7 @@ export const exportTopicAsMarkdown = async (topic: Topic) => {
await window.api.file.write(markdownExportPath + '/' + fileName, markdown) await window.api.file.write(markdownExportPath + '/' + fileName, markdown)
window.message.success({ content: i18n.t('message.success.markdown.export.preconf'), key: 'markdown-success' }) window.message.success({ content: i18n.t('message.success.markdown.export.preconf'), key: 'markdown-success' })
} catch (error: any) { } catch (error: any) {
window.message.error({ content: i18n.t('message.error.markdown.export.preconf'), key: 'markdown error' }) window.message.error({ content: i18n.t('message.error.markdown.export.preconf'), key: 'markdown-error' })
} }
} }
} }
@ -61,10 +66,15 @@ export const exportMessageAsMarkdown = async (message: Message) => {
try { try {
const fileName = removeSpecialCharactersForFileName(getMessageTitle(message)) + '.md' const fileName = removeSpecialCharactersForFileName(getMessageTitle(message)) + '.md'
const markdown = messageToMarkdown(message) const markdown = messageToMarkdown(message)
await window.api.file.save(fileName, markdown) const result = await window.api.file.save(fileName, markdown)
window.message.success({ content: i18n.t('message.success.markdown.export.specified'), key: 'markdown-success' }) if (result) {
window.message.success({
content: i18n.t('message.success.markdown.export.specified'),
key: 'markdown-success'
})
}
} catch (error: any) { } catch (error: any) {
window.message.error({ content: i18n.t('message.error.markdown.export.specified'), key: 'markdown error' }) window.message.error({ content: i18n.t('message.error.markdown.export.specified'), key: 'markdown-error' })
} }
} else { } else {
try { try {