From d0e489c36afb15316feb308a73107f109855835c Mon Sep 17 00:00:00 2001 From: muwoo <2424880409@qq.com> Date: Fri, 11 Jun 2021 10:03:42 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=94=AF=E6=8C=81openDialog=20api?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/common/api.js | 5 ++++- src/main/common/common.js | 2 +- src/renderer/assets/common/utils.js | 5 ++++- static/preload.js | 17 +++++++++++++++-- 4 files changed, 24 insertions(+), 5 deletions(-) diff --git a/src/main/common/api.js b/src/main/common/api.js index fd8bfb7..e500634 100644 --- a/src/main/common/api.js +++ b/src/main/common/api.js @@ -1,4 +1,4 @@ -import {app, BrowserWindow} from 'electron'; +import {app, BrowserWindow, dialog} from 'electron'; import {getlocalDataFile, saveData, getData} from './utils'; import path from "path"; @@ -25,6 +25,9 @@ export default { showMainWindow(arg, mainWindow) { mainWindow.show(); }, + showOpenDialog({options}) { + return JSON.parse(JSON.stringify(dialog.showOpenDialogSync(options))); + }, onPluginEnter(arg) { return arg }, diff --git a/src/main/common/common.js b/src/main/common/common.js index c55308a..4add339 100644 --- a/src/main/common/common.js +++ b/src/main/common/common.js @@ -63,7 +63,7 @@ export default function init(mainWindow) { fn = fn[op]; }); const data = await fn(arg, window); - window.webContents.send(`msg-back-${arg.type}`, data); + event.sender.send(`msg-back-${arg.type}`, data); }); ipcMain.on('new-window', (event, arg) => { diff --git a/src/renderer/assets/common/utils.js b/src/renderer/assets/common/utils.js index fd40924..60c3ff1 100644 --- a/src/renderer/assets/common/utils.js +++ b/src/renderer/assets/common/utils.js @@ -14,7 +14,10 @@ function getWindowHeight(searchList) { } function searchKeyValues(lists, value){ - return lists.filter(item => item.indexOf(value) >= 0) + return lists.filter(item => { + if (typeof item === 'string') return item.indexOf(value) >= 0; + return item.type.indexOf(value) >= 0; + }) } function existOrNot(path) { diff --git a/static/preload.js b/static/preload.js index f5cb615..23ddb71 100644 --- a/static/preload.js +++ b/static/preload.js @@ -16,7 +16,7 @@ function getQueryVariable(variable) { if (location.href.indexOf('targetFile') > -1) { filePath = decodeURIComponent(getQueryVariable('targetFile')); } else { - filePath = location.href.replace('file://', ''); + filePath = location.pathname.replace('file://', ''); } const {ipcRenderer, nativeImage, clipboard, remote} = require('electron'); @@ -105,7 +105,8 @@ window.utools = window.rubick = { name, }); return new Promise((resolve, reject) => { - ipcRenderer.once(`msg-back-getPath`, (e, result) => { + ipcRenderer.on(`msg-back-getPath`, (e, result) => { + console.log(result) result ? resolve(result) : reject(); }); }) @@ -118,6 +119,18 @@ window.utools = window.rubick = { return myNotification; // todo 实现 clickFeatureCode }, + showOpenDialog(options) { + ipcRenderer.send('msg-trigger', { + type: 'showOpenDialog', + options: {...options}, + }); + return new Promise((resolve, reject) => { + ipcRenderer.once(`msg-back-showOpenDialog`, (e, result) => { + result ? resolve(result) : reject(); + }); + }) + }, + copyImage(img) { convertImgToBase64(img,function(base64Image) { const image = nativeImage.createFromDataURL(base64Image)