mirror of
https://github.com/fofolee/uTools-quickcommand.git
synced 2025-06-09 15:04:06 +08:00
导入功能调整
This commit is contained in:
parent
f101fced6d
commit
b16087d270
@ -72,17 +72,13 @@
|
||||
<q-item-section>导入</q-item-section>
|
||||
<q-menu anchor="top end" self="top start">
|
||||
<q-list>
|
||||
<q-item clickable v-close-popup @click="importCommandAndLocate">
|
||||
<q-item clickable v-close-popup @click="importCommand">
|
||||
<q-item-section side>
|
||||
<q-icon name="text_snippet" />
|
||||
</q-item-section>
|
||||
<q-item-section>从文件导入</q-item-section>
|
||||
</q-item>
|
||||
<q-item
|
||||
clickable
|
||||
v-close-popup
|
||||
@click="importCommandAndLocate(false)"
|
||||
>
|
||||
<q-item clickable v-close-popup @click="importCommand(false)">
|
||||
<q-item-section side>
|
||||
<q-icon name="content_paste" />
|
||||
</q-item-section>
|
||||
@ -91,14 +87,7 @@
|
||||
</q-list>
|
||||
</q-menu>
|
||||
</q-item>
|
||||
<!-- 导出 -->
|
||||
<q-item clickable v-close-popup @click="exportAllCommands">
|
||||
<q-item-section side>
|
||||
<q-icon name="file_upload" />
|
||||
</q-item-section>
|
||||
<q-item-section>全部导出</q-item-section>
|
||||
</q-item>
|
||||
<!-- 批量启用禁用 -->
|
||||
<!-- 批处理 -->
|
||||
<q-item clickable>
|
||||
<q-item-section side>
|
||||
<q-icon name="keyboard_arrow_left" />
|
||||
@ -118,6 +107,25 @@
|
||||
</q-item-section>
|
||||
<q-item-section>禁用本页所有命令</q-item-section>
|
||||
</q-item>
|
||||
<!-- 导出 -->
|
||||
<q-item clickable v-close-popup @click="exportAllCommands">
|
||||
<q-item-section side>
|
||||
<q-icon name="file_upload" />
|
||||
</q-item-section>
|
||||
<q-item-section>导出所有命令</q-item-section>
|
||||
</q-item>
|
||||
<!-- 清空 -->
|
||||
<q-item
|
||||
style="color: red"
|
||||
clickable
|
||||
v-close-popup
|
||||
@click="clearAllCommands"
|
||||
>
|
||||
<q-item-section side>
|
||||
<q-icon name="delete" />
|
||||
</q-item-section>
|
||||
<q-item-section>删除所有命令</q-item-section>
|
||||
</q-item>
|
||||
</q-list>
|
||||
</q-menu>
|
||||
</q-item>
|
||||
@ -147,18 +155,6 @@
|
||||
</q-item-section>
|
||||
<q-item-section>帮助</q-item-section></q-item
|
||||
>
|
||||
<!-- 清空 -->
|
||||
<q-item
|
||||
style="color: red"
|
||||
clickable
|
||||
v-close-popup
|
||||
@click="clearAllCommands"
|
||||
>
|
||||
<q-item-section side>
|
||||
<q-icon name="delete" />
|
||||
</q-item-section>
|
||||
<q-item-section>清空数据</q-item-section>
|
||||
</q-item>
|
||||
</q-list></q-menu
|
||||
>
|
||||
</template>
|
||||
@ -185,8 +181,8 @@ export default {
|
||||
},
|
||||
methods: {
|
||||
// 导入命令且定位
|
||||
importCommandAndLocate(fromFile = true) {
|
||||
this.configurationPage.importCommandAndLocate(fromFile);
|
||||
importCommand(fromFile = true) {
|
||||
this.configurationPage.importCommand(fromFile);
|
||||
},
|
||||
// 全部导出
|
||||
exportAllCommands() {
|
||||
|
@ -1,15 +1,15 @@
|
||||
/**
|
||||
* 快速导入同一目录下的所有脚本
|
||||
*/
|
||||
*/
|
||||
|
||||
const importAll = context => {
|
||||
const map = {}
|
||||
for (const key of context.keys()) {
|
||||
const keyArr = key.split('/')
|
||||
keyArr.shift()
|
||||
map[keyArr.join('.').replace(/\.js$/g, '')] = context(key)
|
||||
map[keyArr.join('.').replace(/\.\w+$/g, '')] = context(key)
|
||||
}
|
||||
return map
|
||||
}
|
||||
|
||||
export default importAll
|
||||
export default importAll
|
23
src/json/default_VSSnippet.json
Normal file
23
src/json/default_VSSnippet.json
Normal file
@ -0,0 +1,23 @@
|
||||
{
|
||||
"features": {
|
||||
"code": "default_VSSnippet",
|
||||
"explain": "vscode代码片段生成器",
|
||||
"cmds": [
|
||||
"VSSnippet"
|
||||
],
|
||||
"icon": "data:image/png;base64,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",
|
||||
"platform": [
|
||||
"win32",
|
||||
"darwin",
|
||||
"linux"
|
||||
]
|
||||
},
|
||||
"program": "quickcommand",
|
||||
"cmd": "var snippet = {}\nquickcommand.showTextAera(\"请输入代码片段\").then(code => {\n snippet.body = code.split(\"\\n\")\n quickcommand.showInputBox([\"代码片段的描述\", \"触发代码片段的关键词\"])\n .then(inputs => {\n snippet.prefix = inputs[1]\n snippet.description = inputs[0]\n var result = `\"${inputs[0]}\": ` + JSON.stringify(snippet, null, '\\t')\n console.log(result)\n utools.copyText(result)\n quickcommand.showMessageBox('已复制')\n })\n})",
|
||||
"output": "text",
|
||||
"hasSubInput": false,
|
||||
"scptarg": "",
|
||||
"tags": [
|
||||
"默认"
|
||||
]
|
||||
}
|
23
src/json/default_findGui.json
Normal file
23
src/json/default_findGui.json
Normal file
@ -0,0 +1,23 @@
|
||||
{
|
||||
"features": {
|
||||
"code": "default_findGui",
|
||||
"explain": "通过 find 查找文件",
|
||||
"cmds": [
|
||||
"搜索",
|
||||
"search"
|
||||
],
|
||||
"icon": "data:image/png;base64,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",
|
||||
"platform": [
|
||||
"darwin",
|
||||
"linux"
|
||||
]
|
||||
},
|
||||
"program": "shell",
|
||||
"cmd": "echo \"<script>function actionWithSelectedFile(file) { quickcommand.showButtonBox(['打开文件', '在文件管理器中定位', '复制文件路径']).then(x => { switch (x.id) { case 0: utools.shellOpenItem(file); break; case 1: utools.shellShowItemInFolder(file); break; case 2: utools.copyText(file); break; default: break; } }) }</script> <style> #out li { list-style: none; padding: 5px 20px; margin: 10px 0; transition: .2s; height: 60px; font-size: 15px; border-radius: 6px; background: #9e9e9e26; line-height: 60px; cursor: pointer; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;} #out li:hover { background: #009688; color: white; transition: .5s; } </style>\" \n\necho \"find / -name \\\"{{subinput}}\\\" 2>/dev/null\"\nfind / -name \"{{subinput}}\" -exec echo -n \"<li onclick=actionWithSelectedFile(this.innerText)>\"{}\"</li>\" \\; 2>/dev/null",
|
||||
"output": "html",
|
||||
"hasSubInput": true,
|
||||
"scptarg": "",
|
||||
"tags": [
|
||||
"默认"
|
||||
]
|
||||
}
|
23
src/json/default_shellRunner.json
Normal file
23
src/json/default_shellRunner.json
Normal file
@ -0,0 +1,23 @@
|
||||
{
|
||||
"features": {
|
||||
"code": "default_shellRunner",
|
||||
"explain": "执行 shell 命令",
|
||||
"cmds": [
|
||||
"sh"
|
||||
],
|
||||
"icon": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAYAAADimHc4AAAABmJLR0QA/wD/AP+gvaeTAAADTklEQVR4nO3cT0iTcRzH8c+zPz42VPIPudKQ0sprikjX6BIRRkRGKgkdhIESeOgQdAg6hCTMcIQEJsooE4sO0SG6VURERYeEDFKRZrGKqZtzj3s6VCJs5eaznu9jz+d1237Ps3153uz5MRgDiIiIiIiIiIjILpRsT3g98f4koPh1wPsvBtqsFCCUhN5ZV7tnLJvzHBt4K178NHTAq0Dpy/a8rAPw4v/V9mxP2MAngHLJZfQFkrqOj7MhzIW/A9DhLS1BVUU5HIqS0brdGQ4wNTuHmdCX1cfToc8AgF2V3ozW7c7wLSgU/pby3Kc1z623bnc52AP01BdVslm3N8MBvKUlKc9tKy3OeN3uDO8BVRXlAIBQ+CuAnxe8akd5xut2l/XN4NXEZOo9hVbtr63J6prye4AwBhDGAMIMb8LNp1tzMcemdTs4Yuh8fgKEMYAwBhDGAMIYQBgDCGMAYQwgjAGEMYAwBhDGAMIYQBgDCGMAYQwgjAGEiQWIBvqwUlMt9faWIRZAa2xANDiE2IXz0Evs+0Mt0VuQ7nQicfwY5sdHEW9vA/LckuOIsMYeUFiAeKcPC6NBJA4dlJ7GVNYI8EtyZyViVy4jOtCP5L690uOYQiyAx9cF5+SHtGtafR0WRgYRu3QRybIykyczl1gA1/MX8LS0I7+nF0okknqAw4HEkcNYvDuK5bPtZo9nGtFbkKJpyLt1BwVNJ6DeHAYSiZRjdM8WLPk6BKYzhyX2ACUyD/VaAAXNrXA/eiw9jqksEWAtXVWlRzCV4d+G5oJeVIjlM22It5wC3Pb6LiAaQHc6oTUdxZKvA3rx1rTHOKdnoPb6TZ7MPGIBtMYGxLvPYaV6d9p1JRZD3nAQ6uAQsJy6Of8vxAJEA3/4WwVdh/vBQ6j+fjjCYXOHEmCJPeA357sJqD29cL15u+6xkZfPcvreRfUHcvp6mbJEAEc4DPX6Dbjv3QeSSelxTCUaQNE0uMfGoQYGoCwuSo4iRiyA68lT5F/1wzE1LTWCJYgF8HR1Gzpf6p6da5b7Jmw3DCCMAYQxgDAGEMYAwhhAGAMIYwBhDCCMAYQxgDAGEMYAwhhAGAMIYwBh/OfcHOM/524yDCCMAYiIiIiIiIiIiEzyA97G0BQKex3zAAAAAElFTkSuQmCC",
|
||||
"platform": [
|
||||
"win32",
|
||||
"darwin",
|
||||
"linux"
|
||||
]
|
||||
},
|
||||
"program": "quickcommand",
|
||||
"cmd": "const iconv = require('iconv-lite')\nvar child = child_process.spawn(`{{subinput}}`, {shell: true, encoding: 'buffer'})\n\nchild.stdout.on('data', data => {\n var codec = utools.isWindows() ? 'cp936' : 'utf8'\n console.log(iconv.decode(data, codec))\n})\n\nchild.stderr.on('data', data => {\n var codec = utools.isWindows() ? 'cp936' : 'utf8'\n console.error(iconv.decode(data, codec))\n})",
|
||||
"output": "text",
|
||||
"hasSubInput": true,
|
||||
"scptarg": "",
|
||||
"tags": [
|
||||
"默认"
|
||||
]
|
||||
}
|
27
src/json/default_textManipulation.json
Normal file
27
src/json/default_textManipulation.json
Normal file
@ -0,0 +1,27 @@
|
||||
{
|
||||
"features": {
|
||||
"code": "default_textManipulation",
|
||||
"explain": "文本处理",
|
||||
"cmds": [
|
||||
{
|
||||
"label": "文本处理",
|
||||
"type": "over",
|
||||
"minNum": 1
|
||||
}
|
||||
],
|
||||
"icon": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAYAAADimHc4AAAABmJLR0QA/wD/AP+gvaeTAAABSUlEQVR4nO3dsU3DQABA0YBoGYKKIegyQYagomMZKobIBHTsECqGYADoaXyOYj5x3qujU6yvO/sSS7fZAAAAwCW5Gv3g3cvX95yBP59uh8c+B0td//VxX4dTESAmQOxmqYH3b++z1sz/7vmwzLhmQEyAmACxxe4Bu+3DRe8DRpkBMQFiAsSOXqd/P+evbc2fcqrrNwNiAsQEiAkQEyAmQEyA2GK/BY16vd+n/xs8fuzS/YsZEBMgJkBMgJgAMQFiAsTyfcDc5/CpfUP9XD+XGRATICZATICYADEBYgLEBIgJEBMgJkBMgJgAMQFiAsQEiAkQEyAmQEyAmAAxAWICxASICRATICZATICYALH87ei5zu3t5ylmQEyAmAAxAWICxJwfMMj5ASslQEyAmPMDBjk/YKUEiAkQc37AIOcHrJQAMQEAAACAP/QDdAQzpJMX9+0AAAAASUVORK5CYII=",
|
||||
"platform": [
|
||||
"win32",
|
||||
"darwin",
|
||||
"linux"
|
||||
]
|
||||
},
|
||||
"program": "quickcommand",
|
||||
"cmd": "let textManipulation = [\n {\n title: '翻译',\n description: text => '在线翻译中...'\n },\n {\n icon: 'https://img.icons8.com/color/1x/rules.png',\n title: '字数统计',\n description: text => {\n var cn = text.match(/[\\u4e00-\\u9fa5]/g)\n var wd = text.match(/[a-zA-Z]+/g)\n var le = text.match(/[a-zA-Z]/g)\n var sg = text.match(/[~!@#$%^&*()_+<>?:,./;’,。、‘:“《》?~!@#¥%…()]/g)\n var nm = text.match(/\\d/g)\n return `\n 字符总数:${text.length},\n 中文字数:${cn && cn.length || 0},\n 英文字母:${le && le.length || 0},\n 英文单词:${wd && wd.length || 0},\n 符号总数:${sg && sg.length || 0},\n 数字总数:${nm && nm.length || 0},\n `\n }\n },\n {\n title: '词频统计',\n description: text => {\n var o = {},\n fq = [],\n l = text.length,\n t,\n Inx = 0;\n while (l--) {\n t = text.substr(l, 1);\n t in o ? ++fq[o[t]][1] : fq[o[t] = Inx++] = [t, 1];\n }\n fq = fq.sort(function(a, b) {\n return b[1] - a[1];\n });\n return fq.map(f => f.join(\": \")).join(\",\\n\")\n }\n },\n {\n title: '文本逆转',\n description: text => text.split(\"\").reverse().join(\"\")\n },\n {\n title: '\\\\和/互转',\n description: text => text.includes(\"\\\\\") ? text.replace(/\\\\/g, \"/\") : text.replace(/\\//g, \"\\\\\")\n },\n {\n title: '全部大写',\n description: text => text.toUpperCase()\n },\n {\n title: '全部小写',\n description: text => text.toLowerCase()\n },\n {\n title: '去除空格',\n description: text => text.replace(/\\s/g, \"\")\n },\n {\n title: '计算 MD5',\n description: text => require('crypto').createHash('md5').update(text).digest('hex')\n },\n {\n title: '十六进制编码',\n description: text => '0x' + new Buffer(text).toString('hex')\n },\n {\n title: 'base64 编码',\n description: text => new Buffer(text).toString('base64')\n },\n {\n title: 'url 编码',\n description: text => encodeURI(text)\n }\n];\n\nlet text = quickcommand.enterData.payload\nlet options = textManipulation.map(t => {\n return {\n title: t.title,\n description: t.description(text)\n }\n})\n\nquickcommand.showSelectList(options, { optionType: 'json' })\n .then(choise => {\n console.log(choise.description)\n utools.copyText(choise.description)\n })\n\n\naxios(`http://fanyi.youdao.com/translate?&doctype=json&type=auto&i=${encodeURI(text)}`)\n .then(res => {\n let trans = res.data.translateResult.map(x => x.map(y => y.tgt).join('')).join('\\n')\n let opt = textManipulation[0]\n opt.description = trans\n quickcommand.updateSelectList(opt, 0)\n })",
|
||||
"output": "text",
|
||||
"hasSubInput": false,
|
||||
"scptarg": "",
|
||||
"tags": [
|
||||
"默认"
|
||||
]
|
||||
}
|
23
src/json/default_textReplacer.json
Normal file
23
src/json/default_textReplacer.json
Normal file
@ -0,0 +1,23 @@
|
||||
{
|
||||
"features": {
|
||||
"code": "default_textReplacer",
|
||||
"explain": "替换选中的文本内容",
|
||||
"cmds": [
|
||||
"文本替换"
|
||||
],
|
||||
"icon": "data:image/png;base64,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",
|
||||
"platform": [
|
||||
"win32",
|
||||
"darwin",
|
||||
"linux"
|
||||
]
|
||||
},
|
||||
"program": "quickcommand",
|
||||
"cmd": "quickcommand.showInputBox([\"要替换的内容,两边加 / 使用正则\", \"替换为的内容\"])\n .then(inputs => {\n var search = inputs[0]\n if (/^\\/.*?\\/[igm]*$/.test(search)) search = eval(search)\n var repl = inputs[1]\n utools.hideMainWindow()\n quickcommand.sleep(300)\n quickcommand.simulateCopy()\n quickcommand.sleep(100)\n var source = electron.clipboard.readText()\n source = source.replace(search, repl)\n electron.clipboard.writeText(source)\n quickcommand.sleep(200)\n quickcommand.simulatePaste()\n utools.outPlugin()\n})",
|
||||
"output": "text",
|
||||
"hasSubInput": false,
|
||||
"scptarg": "",
|
||||
"tags": [
|
||||
"默认"
|
||||
]
|
||||
}
|
40
src/json/default_urlToQrCode.json
Normal file
40
src/json/default_urlToQrCode.json
Normal file
@ -0,0 +1,40 @@
|
||||
{
|
||||
"features": {
|
||||
"code": "default_urlToQrCode",
|
||||
"explain": "网址二维码",
|
||||
"cmds": [
|
||||
{
|
||||
"label": "网址二维码",
|
||||
"type": "window",
|
||||
"match": {
|
||||
"app": [
|
||||
"chrome.exe",
|
||||
"firefox.exe",
|
||||
"MicrosoftEdge.exe",
|
||||
"iexplore.exe",
|
||||
"msedge.exe",
|
||||
"Google Chrome.app",
|
||||
"Safari.app",
|
||||
"Microsoft Edge.app",
|
||||
"chrome",
|
||||
"firefox"
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"icon": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABmJLR0QA/wD/AP+gvaeTAAAA1klEQVRoge2YPQ6AMAiF1XgvD+DkSZ08gCfTqUtNAxYQad83GvNSyl9hGADomzH/sGzHJRE89/Whaak7SUT/AAzwZqZ+KMVeoja2tXTb90AivxHqBr/SDe8BGOANOwe0Yl5bt30PSN8w1rrhPQADvHldAajOScU2d17gVqfwHoAB3pBxJo15LpRuszPxoxNTN2rVmWsJ7wHzvZDVJJcI7wG3rcTb6lY6B3ugqT2YNe5bCSnt54AVWtVK3QCrp0YJ962ElPA5oN6Jc2onsG5eozAAAAD65gb6SG6iK2hylQAAAABJRU5ErkJggg==",
|
||||
"platform": [
|
||||
"win32",
|
||||
"darwin",
|
||||
"linux"
|
||||
]
|
||||
},
|
||||
"program": "quickcommand",
|
||||
"cmd": "utools.redirect('二维码', utools.getCurrentBrowserUrl())",
|
||||
"output": "text",
|
||||
"hasSubInput": false,
|
||||
"scptarg": "",
|
||||
"tags": [
|
||||
"默认"
|
||||
]
|
||||
}
|
33
src/json/default_windowsTerminal.json
Normal file
33
src/json/default_windowsTerminal.json
Normal file
@ -0,0 +1,33 @@
|
||||
{
|
||||
"features": {
|
||||
"code": "default_windowsTerminal",
|
||||
"explain": "Windows Terminal 中打开",
|
||||
"cmds": [
|
||||
{
|
||||
"label": "Windows Terminal 中打开",
|
||||
"type": "window",
|
||||
"match": {
|
||||
"app": [
|
||||
"explorer.exe"
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"icon": "data:image/png;base64,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",
|
||||
"platform": [
|
||||
"win32"
|
||||
]
|
||||
},
|
||||
"program": "quickcommand",
|
||||
"cmd": "var currentFolder = \"{{pwd}}\"\nvar home = utools.getPath('home')\nvar wt = path.join(home, '/AppData/Local/Microsoft/WindowsApps/wt.exe')\nchild_process.exec(`start \"\" \"${wt}\" -d \"${currentFolder.replace('\\\\', '\\\\\\\\')}\"`)",
|
||||
"output": "ignore",
|
||||
"hasSubInput": false,
|
||||
"scptarg": "",
|
||||
"charset": {
|
||||
"scriptCode": "",
|
||||
"outputCode": ""
|
||||
},
|
||||
"tags": [
|
||||
"默认"
|
||||
]
|
||||
}
|
@ -112,6 +112,7 @@
|
||||
<!-- 切换视图 -->
|
||||
<q-btn-toggle
|
||||
v-model="commandCardStyle"
|
||||
@click="$userProfile.commandCardStyle = commandCardStyle"
|
||||
toggle-color="teal"
|
||||
flat
|
||||
:options="[
|
||||
@ -187,6 +188,10 @@ import quickcommandParser from "../js/quickcommandParser.js";
|
||||
import CommandCard from "components/CommandCard";
|
||||
import CommandEditor from "components/CommandEditor.vue";
|
||||
import ConfigurationMenu from "components/ConfigurationMenu.vue";
|
||||
import importAll from "../js/importAll.js";
|
||||
|
||||
// 默认命令
|
||||
let defaultCommands = importAll(require.context("../json/", false, /\.json$/));
|
||||
|
||||
export default {
|
||||
components: { CommandCard, CommandEditor, ConfigurationMenu },
|
||||
@ -202,7 +207,7 @@ export default {
|
||||
maximizedToggle: true,
|
||||
commandEditorAction: {},
|
||||
footerBarHeight: "40px",
|
||||
commandCardStyle: "normal",
|
||||
commandCardStyle: this.$userProfile.commandCardStyle,
|
||||
commandCardStyleSheet: {
|
||||
mini: {
|
||||
width: "20%",
|
||||
@ -274,17 +279,7 @@ export default {
|
||||
this.activatedQuickPanels = activatedFeatures.quickpanels;
|
||||
// 所有的快捷命令
|
||||
this.allQuickCommands = this.getAllQuickCommands();
|
||||
let userPreferences = this.$utools.getDB(
|
||||
this.$utools.DBPRE.CFG + "preferences"
|
||||
);
|
||||
this.commandCardStyle = userPreferences.commandCardStyle || "normal";
|
||||
utools.onPluginOut(() => {
|
||||
userPreferences.commandCardStyle = this.commandCardStyle;
|
||||
this.$utools.putDB(
|
||||
userPreferences,
|
||||
this.$utools.DBPRE.CFG + "preferences"
|
||||
);
|
||||
});
|
||||
Object.assign(this.allQuickCommands, defaultCommands);
|
||||
},
|
||||
// 获取所有已启用的命令的 features 以及面板名称
|
||||
getActivatedFeatures() {
|
||||
@ -361,19 +356,12 @@ export default {
|
||||
this.isCommandEditorShow = true;
|
||||
},
|
||||
// 从文件导入命令
|
||||
importCommandFromFile(file) {
|
||||
// 指定文件时直接读取否则弹出选择文件对话框
|
||||
let options = file
|
||||
? {
|
||||
type: "file",
|
||||
argvs: file,
|
||||
readfile: true,
|
||||
}
|
||||
: {
|
||||
type: "dialog",
|
||||
argvs: { filters: [{ name: "json", extensions: ["json"] }] },
|
||||
readfile: true,
|
||||
};
|
||||
importCommandFromFile() {
|
||||
let options = {
|
||||
type: "dialog",
|
||||
argvs: { filters: [{ name: "json", extensions: ["json"] }] },
|
||||
readfile: true,
|
||||
};
|
||||
let fileContent = window.getFileInfo(options);
|
||||
return fileContent ? fileContent.data : false;
|
||||
},
|
||||
@ -382,21 +370,14 @@ export default {
|
||||
return window.clipboardReadText();
|
||||
},
|
||||
// 导入命令
|
||||
importCommand(fromFile = true, filePath = false) {
|
||||
importCommand(fromFile = true) {
|
||||
let quickCommandInfo = fromFile
|
||||
? this.importCommandFromFile(filePath)
|
||||
? this.importCommandFromFile()
|
||||
: this.importCommandFromClipboard();
|
||||
if (!quickCommandInfo)
|
||||
return {
|
||||
data: "导入未完成!",
|
||||
success: false,
|
||||
};
|
||||
return quickcommand.showMessageBox("导入未完成!", "warning");
|
||||
let parsedData = quickcommandParser(quickCommandInfo);
|
||||
if (!parsedData)
|
||||
return {
|
||||
data: "格式错误",
|
||||
success: false,
|
||||
};
|
||||
if (!parsedData) return quickcommand.showMessageBox("格式错误", "error");
|
||||
// 单个命令导入
|
||||
let dataToPushed = {};
|
||||
if (parsedData.single) {
|
||||
@ -409,23 +390,13 @@ export default {
|
||||
this.$utools.putDB(dataToPushed[code], this.$utools.DBPRE.QC + code);
|
||||
}
|
||||
Object.assign(this.allQuickCommands, dataToPushed);
|
||||
return {
|
||||
success: true,
|
||||
data: parsedData,
|
||||
};
|
||||
},
|
||||
// 导入命令且定位
|
||||
importCommandAndLocate(fromFile = true) {
|
||||
let result = this.importCommand(fromFile);
|
||||
if (!result.success)
|
||||
return quickcommand.showMessageBox(result.data, "warning");
|
||||
quickcommand.showMessageBox("导入成功!");
|
||||
if (result.data.single)
|
||||
this.locateToCommand(result.data.qc.tags, result.data.qc.features.code);
|
||||
this.locateToCommand(parsedData.qc.tags, parsedData.qc.features?.code);
|
||||
},
|
||||
// 定位命令
|
||||
locateToCommand(tags, code) {
|
||||
locateToCommand(tags = ["默认"], code) {
|
||||
this.currentTag = !tags || !tags.length ? "未分类" : tags[0];
|
||||
if (!code) return;
|
||||
// 等待 dom 渲染
|
||||
this.$nextTick(() => {
|
||||
let el = document.getElementById(code);
|
||||
@ -477,12 +448,13 @@ export default {
|
||||
.getDocs(this.$utools.DBPRE.QC)
|
||||
.map((x) => x._id)
|
||||
.forEach((y) => this.$utools.delDB(y));
|
||||
this.importDefaultCommands();
|
||||
Object.assign(this.allQuickCommands, defaultCommands);
|
||||
this.clearAllFeatures();
|
||||
Object.keys(this.allQuickCommands).forEach((featureCode) => {
|
||||
if (!featureCode.includes("default_"))
|
||||
delete this.allQuickCommands[featureCode];
|
||||
});
|
||||
this.currentTag = "默认"
|
||||
quickcommand.showMessageBox(
|
||||
"清空完毕,为防止误操作,已将所有命令复制到剪贴板,可通过导入命令恢复"
|
||||
);
|
||||
@ -494,13 +466,6 @@ export default {
|
||||
this.$utools.whole.removeFeature(feature.code);
|
||||
}
|
||||
},
|
||||
// 导入默认命令
|
||||
importDefaultCommands() {
|
||||
let defaultCommands = window.getDefaultCommands();
|
||||
Object.values(defaultCommands).forEach((commandFilePath) => {
|
||||
this.importCommand(true, commandFilePath);
|
||||
});
|
||||
},
|
||||
// 搜索
|
||||
updateSearch() {
|
||||
// 记录当前标签页
|
||||
|
Loading…
x
Reference in New Issue
Block a user