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)