From c12189ca87f22fab8b757bbae478687a8e247e60 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=A1=97=E8=A7=92=E5=B0=8F=E6=9E=97?= <1013335014@qq.com> Date: Thu, 10 Apr 2025 18:57:02 +0800 Subject: [PATCH] =?UTF-8?q?Demo=EF=BC=9A=E6=94=AF=E6=8C=81=E7=B2=98?= =?UTF-8?q?=E8=B4=B4md=E5=86=85=E5=AE=B9=E8=BF=9B=E8=A1=8C=E5=AF=BC?= =?UTF-8?q?=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web/src/lang/en_us.js | 5 ++- web/src/lang/zh_cn.js | 5 ++- web/src/lang/zh_tw.js | 5 ++- web/src/pages/Edit/components/Import.vue | 54 +++++++++++++++++++++++- 4 files changed, 64 insertions(+), 5 deletions(-) diff --git a/web/src/lang/en_us.js b/web/src/lang/en_us.js index 3f10d685..77e4eb9d 100644 --- a/web/src/lang/en_us.js +++ b/web/src/lang/en_us.js @@ -197,7 +197,10 @@ export default { fileContentError: 'The file content is incorrect', importSuccess: 'Import success', fileParsingFailed: 'File parsing failed', - xmindCanvasSelectDialogTitle: 'Select the canvas to import' + xmindCanvasSelectDialogTitle: 'Select the canvas to import', + mdImportDialogTitle: 'Paste Markdown content to import', + mdPlaceholder: 'Please enter the content in Markdown format', + mdEmptyTip: 'The content cannot be empty' }, navigatorToolbar: { openMiniMap: 'Open mini map', diff --git a/web/src/lang/zh_cn.js b/web/src/lang/zh_cn.js index dcc2e9f1..4eae5aab 100644 --- a/web/src/lang/zh_cn.js +++ b/web/src/lang/zh_cn.js @@ -191,7 +191,10 @@ export default { fileContentError: '文件内容有误', importSuccess: '导入成功', fileParsingFailed: '文件解析失败', - xmindCanvasSelectDialogTitle: '选择要导入的画布' + xmindCanvasSelectDialogTitle: '选择要导入的画布', + mdImportDialogTitle: '粘贴Markdown内容导入', + mdPlaceholder: '请输入Markdown格式的内容', + mdEmptyTip: '内容不能为空' }, navigatorToolbar: { openMiniMap: '开启小地图', diff --git a/web/src/lang/zh_tw.js b/web/src/lang/zh_tw.js index 7f546340..fe3c8cdd 100644 --- a/web/src/lang/zh_tw.js +++ b/web/src/lang/zh_tw.js @@ -192,7 +192,10 @@ export default { fileContentError: '檔案內容有誤', importSuccess: '匯入成功', fileParsingFailed: '檔案解析失敗', - xmindCanvasSelectDialogTitle: '選擇要匯入的畫布' + xmindCanvasSelectDialogTitle: '選擇要匯入的畫布', + mdImportDialogTitle: '粘貼Markdown內容導入', + mdPlaceholder: '請輸入Markdown格式的內容', + mdEmptyTip: '內容不能爲空' }, navigatorToolbar: { openMiniMap: '開啟小地圖', diff --git a/web/src/pages/Edit/components/Import.vue b/web/src/pages/Edit/components/Import.vue index 9ece1996..0edcb661 100644 --- a/web/src/pages/Edit/components/Import.vue +++ b/web/src/pages/Edit/components/Import.vue @@ -4,7 +4,7 @@ class="nodeImportDialog" :title="$t('import.title')" :visible.sync="dialogVisible" - width="300px" + width="350px" > {{ $t('import.selectFile') }} + {{ $t('import.mdImportDialogTitle') }}
{{ $t('import.support') }}{{ supportFileStr }}{{ $t('import.file') }}
@@ -53,6 +59,27 @@ }} + + + + + {{ $t('dialog.cancel') }} + {{ + $t('dialog.confirm') + }} + + @@ -71,7 +98,9 @@ export default { selectPromiseResolve: null, xmindCanvasSelectDialogVisible: false, selectCanvas: '', - canvasList: [] + canvasList: [], + mdImportDialogVisible: false, + mdStr: '' } }, computed: { @@ -321,6 +350,27 @@ export default { }) if (this.fileList.length <= 0) return this.confirm() + }, + + cancelImportMd() { + this.mdImportDialogVisible = false + this.mdStr = '' + }, + + confirmImportFromMd() { + if (!this.mdStr.trim()) { + this.$message.warning(this.$t('import.mdEmptyTip')) + return + } + try { + const data = markdown.transformMarkdownTo(this.mdStr.trim()) + this.$bus.$emit('setData', data) + this.$message.success(this.$t('import.importSuccess')) + this.cancelImportMd() + } catch (error) { + console.log(error) + this.$message.error(this.$t('import.fileParsingFailed')) + } } } }