导入功能调整

This commit is contained in:
fofolee 2022-04-05 10:10:28 +08:00
parent f101fced6d
commit b16087d270
10 changed files with 241 additions and 88 deletions

View File

@ -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() {

View File

@ -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

View 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": [
"默认"
]
}

View File

@ -0,0 +1,23 @@
{
"features": {
"code": "default_findGui",
"explain": "通过 find 查找文件",
"cmds": [
"搜索",
"search"
],
"icon": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAACL9JREFUeNrsndtrVEccx+ds4hpvTWIw1tRLbGJotcZVkqLQtJvSSsGCEQv2QttdqOBDoZb+ASrtSx+KeWpTsGTjQ1t6wQ0oimJdUChosAkpFWIbY9RYjZvsNl4Ss+52fmfPlpjuZWZ3zmV2fl8YdgN7O/P7zHcuZ+YXQlAoFAqFQqFQKBQKhUKhUCgUCoVCoVAoFAqFQhWbNFl+6Ktvf+ChD15aVtHiMUpFjreFaInQ0gfPT317KIQhlwgAGvQ2+rCdljaGYLMKIOimJUiBGEIAnBf0WvqwT3DQMylISxcFIYgAOMPiU4G3WuAEBygIAQTAvhbvc0B9AAh+lcYKms3B32sEv8Jh9RI0QIggAOYEHgJ+xBjVO1UQ/B3F7gYlNvX1v9HyjMPrpgy6pbr1m7TB/oshdAAxwYd+vlPCegpQJ/AjAAVo6zu7fYlEolPiugoZXUJRjQtKrfiS197bo7f8eDxOErQI8efyKjK3ooo+LiZz6fOUYpMPyL3b1+njfXLv1nWRlwHjlTO0bEQHyCP4qb/zhaC0bB6pathAFtNSvrJB/5tF0eHLJHp1gIQH+kQBUVTdgWZy8FMDvsfEA0H5qgZS09yqB79QTUXDZPjsMR0GcIoC1E4h+BgByB58mOpdyTTHzwUBBH5lyzba2tcI/20QfABh5MIvhXyMvxhWDs0E4EyueX46CMDaIfA1zS+bfvHQJQwcPZxv1wCDwY2y31AqMSn4sMK3Jyd9msFfIqE/LFi6nKx9Y48Qu2eRe+ETZNmmFt0RJkau5LNO4Bnsv9iFADwe/Fr68J1RQYQVArD6dbs+JGUVVZZXQmXdWn1WAWMDTtXWrd90lULQiwAYqt/QdJA+bOZ5T03j82Tdzt3U/922VQS4T54QeCkEX1MIJpUHgLZ+6PPbuVrfyjrSuNNHSjQ6HqBDkriN96fyhACcbkrW5eISwa0f5vu1rK9ftLSGeHbtJq7SOckf4xAIUusHHPLI6gIuwX2/l2dh59ltb5LSuY8v6Li1GCnV4rZWij79pNNQDsFUd6+MDuAS+Fn7eF789AtbyaLqmvSjcwdA0PD6u8yrjYbeVx0A5q1c0O+vaGrJPkWzGQK4vwBOwDMjMDaxqgcAtX+uDZyraetnmqfbDAEsRpWVc01Lt6vqANt5Wj8UVtkNAacLtKkKAPOFr2hu4f5wgMBFErZUUHXjZp6xQAXtBrxKAWDc8WOyf6jIJWuey69Pdk3bBgHn0rRXNQdgvuB8gw/SbISgunELz8tfUg2AVcwANKwr6IvsgoDzlrRHNQCYL5hn8Oc4CNgXhiqMbe8IwEzB3r3Zq34yQVCsLiACACba55VXCv3hVkPAuSqo3DSQyQFEy0oIFixdgQ5QiEQ7gBNmB4W6olIAmCmHQoAAIAQIwH+annqAEKgMwN1bI1I7ARw141AvAjC7Ai1wADMh4Dw7EFEJgBDLiyYscgCzIOAEYEglAJhpHx/+S1oIeACQ6bSQCACY91BHLAZAFARwqHSSlmLr/y3tAkCjl3+XcorIeU4gpBQAJw53MF8wjAMmo+PSQTBy/owpjlhMswBmCAbPnbTtYvOBAA6IcNg/KKgiAN083YCVU8JCIYA8Ajzzf9lyCIkCgJl6OIptpwvwQJBKL8Mh6Y6KCwGAjgOGeCC4duEsmbg94ngIBk/9yPuxASUByIf+S8e+t/3iAQK3K5b2KCpYP+fiT0DGFHLCAKAuAA7AvAACM4KB090OqICE7gTaLOvn7PtBB4iEEn0vgKsSoCu42d/jKAig1V/6qYPb+mXNFSQ0P8CffT299RuafIRjRwzMCuaVL9ZzBdjdHcSn7pOebz7PJ4XcjsH+ixF0gKS4kyj+QccDdjsBDEp7Or8g8ekp3re2y5wpTHiOIOoCQ9QFYFMkVzZwcAJohSLODvAKblL1/nCIPLw3oSetgpJIMK0TQODfkjU/UMr5hCtXkshsSuUMEnWGIJeunDuZdl0CAIg/epTr7a2y/z8BMxNFekkyuTK3YA8+ZBDJlUSi0FZ/mc5Csu1TyAFBUaSLNTtX8H7CmTpmpuAsAYCwbH2T0MBDq2fdm5ABAvgfhK2kCGRFtnDIHOYr5DNSx8oBhHzGCHAHEsYYw3TaORkd437/TAjuRiMkMvp34NL5c34EgB2CnHmDeccJUACMhWkSTcHNJtiECiP75C3osYK/EyCYGAuTOzeTq4N1WiJ4yB2fees38tSvF9oRgMyDQoDAI2tLmYiMkdHrw/rzhbQcdMdJvfa/mUKAQuBHAEzsDuxQNDxKwjdv6M/rSzTyaUmMPJm55qSCwNKTQScOd0DFyGaTZykA+hJ3g3sO6VheTZYvmJ/t9b4bW5o70QGyOwG4wEHi/EOU7RRafar30YutRz6peqJtkStZZQ8j4yR2P+thESmcwJazgbRSAyT5z5ecuohyTdO0V1LBB+1fUt6XCj7IXVFJSufL7wS2HQ6FTSS0wFwaWomTbqRAF9V4vOur07leWAwQ2H462HCD1SR5K9lOEMCNVkOrp4X5dwAEUGSFQHPSjzGmi5B1GxIv11r0tQFNc312vOvLrEuD4zvb9hrjlrSC8QCMC2QbE2hOJdPIPwwpaLnyEDMKTu/AFrYAT2unEGSdxsoIgWMBmAWDlyRXEiEJoycPIHoNi4eVuyBP0IsdAikAyNBVpFYV0wHRa4wnhowdy0JVTBBICYATVCwQIACKQ4AAKA4BAmARBNP/RLP9r2TbIEAALIIgPj1NpsJ3HAcBAqA4BAiA4hAgAIpDgAAoDgECoDgECIDiECAAikOAADgJgrEwSWQ+imYKBAiAgyAABwAnABisggABUBwCBEBOCFopBCEEQE0I/DT4AXQANSEQGnwEQC4IhAcfAZBlihiL+au6jwbM+G4EwPkQ+Ct/DgbM+l4EwNkQmBp8lEMhoCVBiw9rQ10IvFgLKBQKhUKhUCgUCoVCoVAoFAqFQqFQKBQKhUKhUCgUil//CjAANutDBm3eAGQAAAAASUVORK5CYII=",
"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": [
"默认"
]
}

View 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": [
"默认"
]
}

View 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": [
"默认"
]
}

View 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": [
"默认"
]
}

View 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": [
"默认"
]
}

View 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,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAYAAACOEfKtAAANT0lEQVR4Xu1cSWhUXRa+VRk00tj80ijd6kICIk6JMU4xlUmFduHSARFNCMFp0ajQP1EIhmBMSEhUslBx0boRURxAaFFwIS5sW39jm2UWktk5Jk6JJtV8F8/j5OTe+175rIa/qYKQqld3Ot/5zvnOva+qIir1CIVAJFTvVGeVAjAkCVIApgAMiUDI7ikGpgAMiUDI7ikGpgAMiUDI7ikGpgAMiUDI7ikGJgPAjo6OPwwPD/8p5NjG7v39/X8eGhr6y9jYmH4/LS1N0fMw80Wj0Tj6d3d3Tx0cHMyMRqOaHJFIRF/HHJjL9pDvj4+Px8fHx1V6enoE782ZM+fxwYMHn8n+koGRBw8erEpPT78ejUZnhTHI1re/v1/19fV5b8fjcRip+P/vhus28jp15H3oGgzu7e1VmCMajf6U5WN+jIulzJ079281NTVt5BS9Tj7Lo0eP/qiUehyJRLJ/yuyGQQYGBlRPT48GLRmPrq4u9fLly2QMDQa/nDVr1pKjR496E0ywoqOjY+HIyMhvSqkpSVmBUur3DCAwmT59+pLm5uYOLxI4UO3t7SvHxsb+lSzwMO6LFy+Qp36XDERayMrKWtra2urlwgkM/F8ACAYiTyXrkcwQ9gXw2bNn+aOjo//+mcZRsqcxkwEgnwPsBst/9gNiAhV3MjAZAEpDkgEgnyNZAGIOXwY+efJkxfj4+MMf8Z6pFJHjoA1KGCpjqETh7UidbeULtbX1RQibGGhqL9eHNro0sVQIuJ6RkbG0ra3NnANv3Ljx17S0tH9SDUUDBgVUhqsJwFevXnkG8vY2B3BAuXEmgNEW4GEOEwhB7OFtZI2KMbOzs5fW1NSYAayqqmrs6en5uyfR3wtcvObekZOYALYtFlW9rcg19Ql6zcVMFMIc0CBj2tZfWlqaU1tb+x9jGVNVVdXQ29v7q41x3ytyDQBNYFsMrvN2fEzZx/baZoTpumQqB1Sy1RTOfqSgPsXFxbl1dXVPjQBWVlY29Pf3/0rhJClMTLQZQADbckuQ64mAxiPDb2yMa7OHxjGlILmeWCy2rL6+vt0KYF9fnwYwkcVxbwcJZ1P+Ml1zrcEEGGcWASaZ7xIpV2TQ2E4AKyoqGgYGBjwGcs/4gWQy1hXmLq/b5nKxU4qGCUDbnJydJsD5+74AUgi7ACNDJFP9chupqM24H2F90D62XB3ETi9cIxHlCyBCmKskDy0To3i+NCVnGWpob8uVEgxuNPUzlTV+AoBxSYlN9vjlT15iFRQU5DY2NppFBCFMAMp8YhKQrKwstXnzZjVt2jR1+fJlr/6SDOXA+CmgK4cGERgpFLY+0okgDa5JgOW549q1a/0BdBWhNPHUqVNVVVWVWr58ubZ5cHBQNTY2emd9GMOv9nLlTT9WcEe46jyb8pocKUE1gV9WVmYvY4iB0nAeppgEf9XV1WrhwoUTQmNoaEjV1taq169fe8WyjY22XYtkPg95G5tcjuC2SID80oJpvuLiYnsZwwHkhhO1cQ1hu3fvXpWTk+MV07QwvI9tVHNzs95SSRZKhSNRMSXyIIJkSzN+7DWtQyq0zcG+AGInQl6T3v/27Ztav369qqio0DdppCDAIICJdocPH/aYKAtz2+Io2bvyoE11bZUBB4Y7SrYnEvjVwL4A9vT0TFJhKjsAWkFBgdq/f78GSTKHqzRu7LS0tGgQuUN4KeMnGDL8XDsFbrgr1KXTTSSwgYjrhYWFbhEBgFJEKITp/+7du9WaNWs8YAhgDgjavn//XjU1NenjKxqTSiQXGK7azFTq0Ni8VEk0jKXacpv4WmOx2I8DCNZhYDBxz549qqioSL/mC+csJHU+fvy4ZiI96P5sIqJgAo7nUD4vN9g0Bw9f1/tcwWmukpISt4hIBpInCCiAR+FbXl6uc6Ipt/B8hlPoU6dOaWEBA/l5o4ntJnGxqbkEIBHwbOs2RQCtMyEGEniUJwAelTHExgMHDqiVK1dOON7ioBMYX758UXV1dfq2JhjIAeEg2hgRVHFt4e9iux+QZANsLysrszOwvLy8wZQDOSAmECsrK9WGDRu8j2jwcOK5BDe8W1tb1Zs3byYcqkoWmnKqTOw2QGTY+ak2gccrBZ4/+Tx4XlJSYs+BQQAkIQGQBCYGhjKvXr3a+5gGLYLakxexYwGIUGmuzkEASjRn8hJG9nU5wCZACQMo0ac8yPMh1X0AAAV2LBbTOdLmUSxueHhYkbBQTuS7BA6mHCcI0DbW8VDluZKXMq5yKBCA3d3dk8oYWhAPZQKRACQl3rVrF2g+iYnSGVDltrY2b8cihcOWyE3hbQs51/WgDJS51zeECUCbmtHEJCYIYw4mXkNYli1b5gmFBAN9wbzR0VFVU1Oj60WZB7nxtrX4sUWGYiJOMUUQruGeiPU4CznQxECuxhxAuk4gInQpLx46dEjvl+VDbujPnj2r2tvbJ92p44DybRYXCW6kDG2XEHBW8egyOZHbjrZOBu7cudOowrbF8B0KZyLYN2/ePLVkyRI1e/Zs7+4cDz8sFqc32KnQdg/XuLBwNacQl9dcLJOguo69gqSB72WMnYFhAQSIUOL58+fr8Pz48aPKy8vDpzt1OHMA8d6xY8d0SYO6ECHNAYRBcoPvJw6mEJU5jDPYxEQpNPw12qOQbmlpMZ9I79ixQ98Xlkf6Ji/zIyzKhzhoWLRokfr69asGcGRkRH3+/FlfAyPpBAelzOnTp1VnZyc+QqsBlOCZ5gxSxrjyIi+tXCFvchSlC5zGNDU1mW9rcgBdi8UEBAbVg4WFhVo4kAfxBwA5iDi5njlzpsKOpKGhQX/ELSMjQwNHpYzMQUHAkOv0WzcHh8oXycQfBhAh7CpjaGAuBAAQhwq5ubk6RAlAAhFsBBMBJtreu3dPvX371gMN7KPDBQIzyNG6BMJW3pgADVrCyJSAfkVFRf4hbFMjDiAGA3OQ81asWKHzFbGR/hOIeP3p0yd1584d9e7duwms4+FLYWxSfRnSQZkXFkDZP1AONOUHTncYA0YVFxdrkaCET6oM1vHnAO/SpUuaiRSuPGzlh4143edK6qYSRDJR2iJfB3UE2Z8QA/ngtDACBls25DxeypBBxED0gWDcunVL7zi4YJDqmj6pZWINL0GkosuISSQPJiJWGBeFtFOF5WkMFkeCgckQllBbgMcLWQwuT67BODAPOY9KFV6u0HMCnofwL7/8gk/Ea/toHpkbOQMJCFlcSzBRFcCZJuEIkiZ8AYSI8ANPHhJ4np2drTZu3DiJebKswYHB1atXNQMxHuU6We+Z2LN48WJ15MgRrdK89CAweDSYEr1cM2cs0suJEyfU06dPnV/GkXmY1ukbwgSgDBMqXXAvuLS0VK+btyH24RqK5Js3b3rfGJKFsukrV7z/unXr1L59+ybNIRnH5ydG8XFkCqI9+JUrV9T169c9ALkTZR/JysAMlADiNcIXeWzLli1qxowZOrS5t7FACMbFixfVhw8fPOYRAykcTazjrCorK9MAyhQhmWUqqyQ7JWsxJgC8du2aFxUy/DloUnQCASgLWFoE3Q8BiJs2bdL7XPqiINogbME8nDwTaFwsTLsN6Sg4AQz3Y6ApnG2Ak4ISMAAQ6SUzMzOhL/xgThwmOEWECmlbHuEnLlu3btW7C4CI3ALBQJ3HQ9YEIB+bCwRtCYmBMk3QaxnKFLa81OJzyPbEQORYLmQuRSaHOQHcvn37hNMYng+oUCYjAeSUKVPUqlWrtCcfP37sHQwQ02StR3mKj8vDENcxfn5+vhYROEWuQYIoQaYxeDsucLiOg9yHDx9OcLQJPD4GPS8tLbUz0AYgzysEIHkdQOI5wpq2Ylxp+R04V5lA49F5IraHOICQxvOQ5yHL1dgEOuVffHbn9u3bxrJKAiaZi/l8GShVmC+SwJPqR8zChPy+r6lI5rsMaSixh28LuapifFMtSIZKceLXyZFoQ/tvnpPlvWqZZshBsVgs5+TJk+avOYCB/DDB5EnOCJlnCEAyJJEdAgdK3iaw5T5iFWefLRT5mmRe5n1kepFj4/OBVhHZtm2bPg+U0m0CigzmxlEI0yKwUL4g2+J4HiSW2coRaZDfmDw6yC65GzLlOnKOZGJRUZGdgTgPfP78uQbQll9kruEhyT1pK055XuGsMKUFWaqYwt8EoC1NkEN56FJbSRpypHw/Pz8/59y5c+YQrq6uLr5///4dpZTeQ5kWJxlFrzlgfDEcBLlIF9N5rvNjMVd36VDel8/HScLZ5grnzMzMtwsWLFh64cIF7wvPE75wfebMmYy7d+/+o6uraztUNUhukSBjYTLRcwP9xpSss+U07jheB8qUQsyWrDOtUZKGnAHmotrIzc09dP78+Vbrj05gAIDY2dm5uqura97o6GgED2lEPB73flLEporCkxN+goS/RzsZXPuulPpnRujnUGjfzNvx/kHmp76unz2hMeU8+PmUeDw+npeX91t9fb0XutQ+OT+dYaPN/+H1FIAhnZoCMAVgSARCdk8xMAVgSARCdk8xMAVgSARCdk8xMAVgSARCdk8xMAVgSARCdv8vxSbWMp7spukAAAAASUVORK5CYII=",
"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": [
"默认"
]
}

View File

@ -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() {
//