From f1430b1b6eade4767a4206f2c28d8a9306e5ef6b Mon Sep 17 00:00:00 2001 From: ankio Date: Fri, 23 Dec 2022 20:08:29 +0800 Subject: [PATCH 1/7] =?UTF-8?q?feat:=E5=A2=9E=E5=8A=A0=E5=B0=86app?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=88=B0UTools=E6=90=9C=E7=B4=A2=E5=88=97?= =?UTF-8?q?=E8=A1=A8=E4=B8=AD=E7=9A=84=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/preload.js | 98 +++++++++++++++++++++++++++++++++- src/components/MainPage.vue | 27 +++++----- src/components/SettingPage.vue | 41 ++++++++++---- 3 files changed, 141 insertions(+), 25 deletions(-) diff --git a/public/preload.js b/public/preload.js index 4e579f0..cfe0fc6 100644 --- a/public/preload.js +++ b/public/preload.js @@ -66,9 +66,55 @@ window.transferDirs = function (dir){ }); return list; } +window.selectDir=function () { + const result = utools.showOpenDialog({ + filters: [], + properties: ['openDirectory'] + }) + if(result===undefined)return null; + return result[0]; +} +window.addApps=function (path){ + //删除存储的数据 + const quickList = utools.db.get("quick_list"); + console.log(1) + if(quickList!==null){ + const json = JSON.parse(quickList.data); + for (const jsonKey in json) { + for (const jsonKeyElement of json[jsonKey]) { + utools.db.remove(jsonKeyElement.link); + utools.removeFeature("quick_link:"+jsonKeyElement.link); + } + } + } + utools.db.remove("quick_list") + utools.db.remove("quick_sort") + const quick_list = transferDirs(path) + utools.db.put({ + //存储的时候自动排序 + _id:"quick_list",data:JSON.stringify(quick_list) + }); + let global_setting = {style:"",location:"left",dir:"",icon:"icon",utools:true}; + try{ + global_setting = JSON.parse(utools.db.get("setting").data); + if(global_setting.utools){ + for (const sortName in quick_list) { + for (const listItem of quick_list[sortName]) { + const feature = { + code: "quick_link:"+listItem.link, + explain: sortName, + platform:['darwin' , 'win32' , 'linux'], + icon: utools.db.get(listItem.link).data, + cmds: [listItem.name] + } + utools.setFeature(feature); + }} + } + }catch (e) { + } - +} var utils = { isMacLink(path) { @@ -195,3 +241,53 @@ var utils = { } +window.exports = { + "quciksearch": { // 注意:键对应的是 plugin.json 中的 features.code + mode: "list", // 列表模式 + args: { + // 进入插件应用时调用(可选) + enter: (action, callbackSetList) => { + let list_data = []; + for (const sortName of quick_sort) { + for (const listItem of quick_list[sortName]) { + //let icon = utools.db.get(props.link).data; + list_data.push({ + title: listItem.title, + description: sortName, + icon:utools.db.get(listItem.link).data, + link:listItem.link + }) + } + } + callbackSetList(list_data); + }, + // 子输入框内容变化时被调用 可选 (未设置则无搜索) + search: (action, searchWord, callbackSetList) => { + let list_data = []; + for (const sortName of quick_sort) { + for (const listItem of quick_list[sortName]) { + //let icon = utools.db.get(props.link).data; + if(listItem.title.toLowerCase().indexOf(searchWord.toLowerCase())!==-1){ + list_data.push({ + title: listItem.title, + description: sortName, + icon:utools.db.get(listItem.link).data, + link:listItem.link + }) + } + } + } + callbackSetList(list_data) + }, + // 用户选择列表中某个条目时被调用 + select: (action, itemData, callbackSetList) => { + window.utools.hideMainWindow() + utools.shellOpenPath(itemData.link) + window.utools.outPlugin() + }, + // 子输入框为空时的占位符,默认为字符串"搜索" + placeholder: "搜索" + } + } +} + diff --git a/src/components/MainPage.vue b/src/components/MainPage.vue index d8fd748..e70aeb6 100644 --- a/src/components/MainPage.vue +++ b/src/components/MainPage.vue @@ -10,13 +10,13 @@ function refreshData() { try{ sort = JSON.parse(utools.db.get("quick_sort").data); }catch (e) { - console.log("错误",e) + // console.log("错误",e) emit("setIndex",1) } try{ data = JSON.parse(utools.db.get("quick_list").data); }catch (e) { - console.log("错误",e) + //console.log("错误",e) emit("setIndex",1) } } @@ -35,11 +35,11 @@ if(d!==null)formInline.value = JSON.parse(d.data); -