diff --git a/src/main/apis/app/index.ts b/src/main/apis/app/index.ts index 1f5ef63..615def1 100644 --- a/src/main/apis/app/index.ts +++ b/src/main/apis/app/index.ts @@ -15,6 +15,7 @@ import { IWindowList } from '~/main/apis/window/constants' import picgo from '~/main/apis/picgo' import pasteTemplate from '#/utils/pasteTemplate' import pkg from 'root/package.json' +import { handleCopyUrl } from '~/main/utils/common' let contextMenu: Menu | null let menu: Menu | null let tray: Tray | null @@ -148,8 +149,9 @@ export function createTray () { .setWebContents(trayWindow.webContents) .upload(files) if (imgs !== false) { + let pasteText = '' for (let i = 0; i < imgs.length; i++) { - clipboard.writeText(pasteTemplate(pasteStyle, imgs[i])) + pasteText += pasteTemplate(pasteStyle, imgs[i]) + '\r\n' const notification = new Notification({ title: '上传成功', body: imgs[i].imgUrl!, @@ -160,6 +162,7 @@ export function createTray () { }, i * 100) db.insert('uploaded', imgs[i]) } + handleCopyUrl(pasteText) trayWindow.webContents.send('dragFiles', imgs) } }) diff --git a/src/main/apis/eventCenter/ipcList.ts b/src/main/apis/eventCenter/ipcList.ts index 6e41545..9791624 100644 --- a/src/main/apis/eventCenter/ipcList.ts +++ b/src/main/apis/eventCenter/ipcList.ts @@ -19,6 +19,7 @@ import { uploadChoosedFiles } from '~/main/apis/uploader/api' import picgoCoreIPC from './picgoCoreIPC' +import { handleCopyUrl } from '~/main/utils/common' export default { listen () { @@ -29,7 +30,7 @@ export default { const img = await uploader.setWebContents(trayWindow.webContents).upload() if (img !== false) { const pasteStyle = db.get('settings.pasteStyle') || 'markdown' - clipboard.writeText(pasteTemplate(pasteStyle, img[0])) + handleCopyUrl(pasteTemplate(pasteStyle, img[0])) const notification = new Notification({ title: '上传成功', body: img[0].imgUrl!, diff --git a/src/main/apis/gui/index.ts b/src/main/apis/gui/index.ts index 55803f0..8c8a367 100644 --- a/src/main/apis/gui/index.ts +++ b/src/main/apis/gui/index.ts @@ -8,6 +8,7 @@ import { import db from '#/datastore' import uploader from '../uploader' import pasteTemplate from '#/utils/pasteTemplate' +import { handleCopyUrl } from '~/main/utils/common' import { getWindowId, getSettingWindowId @@ -79,7 +80,7 @@ class GuiApi implements IGuiApi { }, i * 100) db.insert('uploaded', imgs[i]) } - clipboard.writeText(pasteText) + handleCopyUrl(pasteText) webContents.send('uploadFiles', imgs) webContents.send('updateGallery') return imgs diff --git a/src/main/apis/uploader/api.ts b/src/main/apis/uploader/api.ts index c570f54..92efb6a 100644 --- a/src/main/apis/uploader/api.ts +++ b/src/main/apis/uploader/api.ts @@ -1,5 +1,4 @@ import { - clipboard, Notification, WebContents } from 'electron' @@ -8,6 +7,7 @@ import { IWindowList } from '~/main/apis/window/constants' import uploader from './' import pasteTemplate from '#/utils/pasteTemplate' import db from '#/datastore' +import { handleCopyUrl } from '~/main/utils/common' export const uploadClipboardFiles = async (): Promise => { const win = windowManager.getAvailableWindow() let img = await uploader.setWebContents(win!.webContents).upload() @@ -15,7 +15,7 @@ export const uploadClipboardFiles = async (): Promise => { if (img.length > 0) { const trayWindow = windowManager.get(IWindowList.TRAY_WINDOW)! const pasteStyle = db.get('settings.pasteStyle') || 'markdown' - clipboard.writeText(pasteTemplate(pasteStyle, img[0])) + handleCopyUrl(pasteTemplate(pasteStyle, img[0])) const notification = new Notification({ title: '上传成功', body: img[0].imgUrl!, @@ -62,7 +62,7 @@ export const uploadChoosedFiles = async (webContents: WebContents, files: IFileW db.insert('uploaded', imgs[i]) result.push(imgs[i].imgUrl!) } - clipboard.writeText(pasteText) + handleCopyUrl(pasteText) 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/window/constants.ts b/src/main/apis/window/constants.ts index a765785..ffba573 100644 --- a/src/main/apis/window/constants.ts +++ b/src/main/apis/window/constants.ts @@ -12,8 +12,8 @@ export const TRAY_WINDOW_URL = isDevelopment : `picgo://./index.html` export const SETTING_WINDOW_URL = isDevelopment - ? `${(process.env.WEBPACK_DEV_SERVER_URL as string)}#setting/upload` - : `picgo://./index.html#setting/upload` + ? `${(process.env.WEBPACK_DEV_SERVER_URL as string)}#main-page/upload` + : `picgo://./index.html#main-page/upload` export const MINI_WINDOW_URL = isDevelopment ? `${(process.env.WEBPACK_DEV_SERVER_URL as string)}#mini-page` diff --git a/src/main/utils/common.ts b/src/main/utils/common.ts new file mode 100644 index 0000000..165be3e --- /dev/null +++ b/src/main/utils/common.ts @@ -0,0 +1,8 @@ +import db from '#/datastore' +import { clipboard } from 'electron' + +export function handleCopyUrl (str: string): void { + if (db.get('settings.autoCopy') === true) { + clipboard.writeText(str) + } +} diff --git a/src/renderer/layouts/SettingPage.vue b/src/renderer/layouts/Main.vue similarity index 99% rename from src/renderer/layouts/SettingPage.vue rename to src/renderer/layouts/Main.vue index 44659be..ea02e96 100644 --- a/src/renderer/layouts/SettingPage.vue +++ b/src/renderer/layouts/Main.vue @@ -1,5 +1,5 @@