From b6e3adb7af06998bc3d3f4478ac715be06fd37d9 Mon Sep 17 00:00:00 2001 From: Molunerfinn Date: Mon, 4 May 2020 16:50:29 +0800 Subject: [PATCH] :bug: Fix: auto-copy option && copy style auto-copy option not work && clear rules for line breaks when copying --- src/main/apis/app/system/index.ts | 6 +++--- src/main/apis/app/uploader/apis.ts | 6 +++--- src/main/apis/gui/index.ts | 6 +++--- src/main/utils/common.ts | 2 +- src/renderer/pages/Gallery.vue | 8 ++++---- 5 files changed, 14 insertions(+), 14 deletions(-) diff --git a/src/main/apis/app/system/index.ts b/src/main/apis/app/system/index.ts index 61738d2..c80f884 100644 --- a/src/main/apis/app/system/index.ts +++ b/src/main/apis/app/system/index.ts @@ -149,9 +149,9 @@ export function createTray () { .setWebContents(trayWindow.webContents) .upload(files) if (imgs !== false) { - let pasteText = '' + const pasteText: string[] = [] for (let i = 0; i < imgs.length; i++) { - pasteText += pasteTemplate(pasteStyle, imgs[i]) + '\r\n' + pasteText.push(pasteTemplate(pasteStyle, imgs[i])) const notification = new Notification({ title: '上传成功', body: imgs[i].imgUrl!, @@ -162,7 +162,7 @@ export function createTray () { }, i * 100) db.insert('uploaded', imgs[i]) } - handleCopyUrl(pasteText) + handleCopyUrl(pasteText.join('\n')) trayWindow.webContents.send('dragFiles', imgs) } }) diff --git a/src/main/apis/app/uploader/apis.ts b/src/main/apis/app/uploader/apis.ts index 41e23d5..266fb18 100644 --- a/src/main/apis/app/uploader/apis.ts +++ b/src/main/apis/app/uploader/apis.ts @@ -48,9 +48,9 @@ export const uploadChoosedFiles = async (webContents: WebContents, files: IFileW const result = [] if (imgs !== false) { const pasteStyle = db.get('settings.pasteStyle') || 'markdown' - let pasteText = '' + const pasteText: string[] = [] for (let i = 0; i < imgs.length; i++) { - pasteText += pasteTemplate(pasteStyle, imgs[i]) + '\r\n' + pasteText.push(pasteTemplate(pasteStyle, imgs[i])) const notification = new Notification({ title: '上传成功', body: imgs[i].imgUrl!, @@ -62,7 +62,7 @@ export const uploadChoosedFiles = async (webContents: WebContents, files: IFileW db.insert('uploaded', imgs[i]) result.push(imgs[i].imgUrl!) } - handleCopyUrl(pasteText) + handleCopyUrl(pasteText.join('\n')) windowManager.get(IWindowList.TRAY_WINDOW)!.webContents.send('uploadFiles', imgs) if (windowManager.has(IWindowList.SETTING_WINDOW)) { windowManager.get(IWindowList.SETTING_WINDOW)!.webContents.send('updateGallery') diff --git a/src/main/apis/gui/index.ts b/src/main/apis/gui/index.ts index 077e106..0b9818a 100644 --- a/src/main/apis/gui/index.ts +++ b/src/main/apis/gui/index.ts @@ -67,9 +67,9 @@ class GuiApi implements IGuiApi { const imgs = await uploader.setWebContents(webContents).upload(input) if (imgs !== false) { const pasteStyle = db.get('settings.pasteStyle') || 'markdown' - let pasteText = '' + const pasteText: string[] = [] for (let i = 0; i < imgs.length; i++) { - pasteText += pasteTemplate(pasteStyle, imgs[i]) + '\r\n' + pasteText.push(pasteTemplate(pasteStyle, imgs[i])) const notification = new Notification({ title: '上传成功', body: imgs[i].imgUrl as string, @@ -80,7 +80,7 @@ class GuiApi implements IGuiApi { }, i * 100) db.insert('uploaded', imgs[i]) } - handleCopyUrl(pasteText) + handleCopyUrl(pasteText.join('\n')) webContents.send('uploadFiles', imgs) webContents.send('updateGallery') return imgs diff --git a/src/main/utils/common.ts b/src/main/utils/common.ts index 165be3e..245f20e 100644 --- a/src/main/utils/common.ts +++ b/src/main/utils/common.ts @@ -2,7 +2,7 @@ import db from '#/datastore' import { clipboard } from 'electron' export function handleCopyUrl (str: string): void { - if (db.get('settings.autoCopy') === true) { + if (db.get('settings.autoCopy') !== false) { clipboard.writeText(str) } } diff --git a/src/renderer/pages/Gallery.vue b/src/renderer/pages/Gallery.vue index 53f5103..5b3f5e5 100644 --- a/src/renderer/pages/Gallery.vue +++ b/src/renderer/pages/Gallery.vue @@ -383,22 +383,22 @@ export default class extends Vue { } multiCopy () { if (Object.values(this.choosedList).some(item => item)) { - let copyString = '' + const copyString: string[] = [] const style = this.$db.get('settings.pasteStyle') || 'markdown' // choosedList -> { [id]: true or false }; true means choosed. false means not choosed. Object.keys(this.choosedList).forEach(key => { if (this.choosedList[key]) { const item = this.$db.getById('uploaded', key) - copyString += pasteStyle(style, item) + '\n' + copyString.push(pasteStyle(style, item)) this.choosedList[key] = false } }) const obj = { title: '批量复制链接成功', - body: copyString + body: copyString.join('\n') } const myNotification = new Notification(obj.title, obj) - clipboard.writeText(copyString) + clipboard.writeText(copyString.join('\n')) myNotification.onclick = () => { return true }