diff --git a/simple-mind-map/src/utils/index.js b/simple-mind-map/src/utils/index.js index c952b8e5..a4b275fd 100644 --- a/simple-mind-map/src/utils/index.js +++ b/simple-mind-map/src/utils/index.js @@ -207,7 +207,7 @@ export const copyNodeTree = ( } // 图片转成dataURL -export const imgToDataUrl = src => { +export const imgToDataUrl = (src, returnBlob = false) => { return new Promise((resolve, reject) => { const img = new Image() // 跨域图片需要添加这个属性,否则画布被污染了无法导出图片 @@ -220,7 +220,13 @@ export const imgToDataUrl = src => { let ctx = canvas.getContext('2d') // 图片绘制到canvas里 ctx.drawImage(img, 0, 0, img.width, img.height) - resolve(canvas.toDataURL()) + if (returnBlob) { + canvas.toBlob(blob => { + resolve(blob) + }) + } else { + resolve(canvas.toDataURL()) + } } catch (e) { reject(e) } diff --git a/web/src/lang/en_us.js b/web/src/lang/en_us.js index 3453d60b..6451a898 100644 --- a/web/src/lang/en_us.js +++ b/web/src/lang/en_us.js @@ -100,7 +100,15 @@ export default { removeNote: 'Remove note', removeCustomStyles: 'Remove custom styles', removeAllNodeCustomStyles: 'Remove all node custom styles', - exportNodeToPng: 'Export node to png' + exportNodeToPng: 'Export node to png', + copyToClipboard: 'Copy to clipboard', + copyToSmm: 'SMM', + copyToJson: 'JSON', + copyToMarkdown: 'Markdown', + copyToTxt: 'Txt', + copyToPng: 'Png', + copySuccess: 'Copy success', + copyFail: 'Copy fail' }, count: { words: 'Words', diff --git a/web/src/lang/zh_cn.js b/web/src/lang/zh_cn.js index 81a91ff5..91165c2e 100644 --- a/web/src/lang/zh_cn.js +++ b/web/src/lang/zh_cn.js @@ -100,7 +100,15 @@ export default { removeNote: '移除备注', removeCustomStyles: '一键去除自定义样式', removeAllNodeCustomStyles: '一键去除所有节点自定义样式', - exportNodeToPng: '导出该节点为图片' + exportNodeToPng: '导出该节点为图片', + copyToClipboard: '复制到剪贴板', + copyToSmm: 'SMM', + copyToJson: 'JSON', + copyToMarkdown: 'Markdown', + copyToTxt: 'Txt', + copyToPng: '图片', + copySuccess: '复制成功', + copyFail: '复制失败' }, count: { words: '字数', diff --git a/web/src/pages/Edit/components/Contextmenu.vue b/web/src/pages/Edit/components/Contextmenu.vue index c0643792..8f6ed78c 100644 --- a/web/src/pages/Edit/components/Contextmenu.vue +++ b/web/src/pages/Edit/components/Contextmenu.vue @@ -109,6 +109,7 @@
{{ $t('contextmenu.expandTo') }} +
+
+ {{ $t('contextmenu.copyToClipboard') }} + +
+
+ {{ item.name }} +
+
+