From 9f8350da3f2fe2e02cdd89b25ced4a2f8118a6c1 Mon Sep 17 00:00:00 2001 From: kuaifan Date: Wed, 9 Nov 2022 11:45:43 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E8=81=8A=E5=A4=A9=E5=86=85=E5=AE=B9?= =?UTF-8?q?=E5=9B=BE=E7=89=87=E6=94=AF=E6=8C=81=E4=B8=8B=E8=BD=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pages/manage/components/DialogWrapper.vue | 32 +++++++++++++++---- resources/assets/js/store/actions.js | 19 +++++++---- 2 files changed, 38 insertions(+), 13 deletions(-) diff --git a/resources/assets/js/pages/manage/components/DialogWrapper.vue b/resources/assets/js/pages/manage/components/DialogWrapper.vue index 7070f286e..e86c6e577 100644 --- a/resources/assets/js/pages/manage/components/DialogWrapper.vue +++ b/resources/assets/js/pages/manage/components/DialogWrapper.vue @@ -1622,13 +1622,23 @@ export default { value: event.target.href, }) } - if (msgData.type === 'text' && msgData.msg.text.replace(/<[^>]+>/g,"").length > 0) { - this.operateCopys.push({ - type: 'text', - icon: '', - label: this.operateCopys.length > 0 ? '复制文本' : '复制', - value: '', - }) + if (msgData.type === 'text') { + if (event.target.nodeName === 'IMG') { + this.operateCopys.push({ + type: 'imagedown', + icon: '', + label: '下载图片', + value: $A.rightDelete(event.target.currentSrc, '_thumb.jpg'), + }) + } + if (msgData.msg.text.replace(/<[^>]+>/g,"").length > 0) { + this.operateCopys.push({ + type: 'text', + icon: '', + label: this.operateCopys.length > 0 ? '复制文本' : '复制', + value: '', + }) + } } this.$nextTick(() => { const projectRect = el.getBoundingClientRect(); @@ -1735,6 +1745,14 @@ export default { } break; + case 'imagedown': + this.$store.dispatch('downUrl', { + url: value, + token: false + }) + + break; + case 'link': this.$copyText(value).then(_ => $A.messageSuccess('复制成功')).catch(_ => $A.messageError('复制失败')) break; diff --git a/resources/assets/js/store/actions.js b/resources/assets/js/store/actions.js index 13b78dd6f..7327c55fc 100644 --- a/resources/assets/js/store/actions.js +++ b/resources/assets/js/store/actions.js @@ -171,14 +171,21 @@ export default { return } let url = data; - let params = { - token: state.userToken - }; + let addToken = true if ($A.isJson(data)) { - url = data.url; - params = data.params || {}; + url = data.url + addToken = !!data.token + } + if (addToken) { + let params = { + token: state.userToken + }; + if ($A.isJson(data)) { + url = data.url; + params = data.params || {}; + } + url = $A.urlAddParams(url, params); } - url = $A.urlAddParams(url, params); if ($A.Electron) { $A.Electron.request({action: 'openExternal', url}, () => { // 成功