diff --git a/src/assets/index.js b/src/assets/index.js
index 1de4dc0..24e4c2e 100644
--- a/src/assets/index.js
+++ b/src/assets/index.js
@@ -102,8 +102,8 @@
let Matched = cmd.match(/\{\{MatchedFiles(\[\d+\]){0,1}(\.\w{1,11}){0,1}\}\}/g)
Matched && Matched.forEach(m => {
repl = eval(m.slice(2, -2))
- typeof repl == 'object' && (repl = JSON.stringify(repl))
- cmd = cmd.replace(m, repl)
+ typeof repl == 'object' ? (repl = JSON.stringify(repl)) : (repl = repl.replace('\\', '\\\\'))
+ cmd = cmd.replace(m, repl.replace('$','$$$'))
})
}
// 窗口
@@ -117,7 +117,9 @@
// 获取资源管理器或访达当前目录
if (cmd.includes('{{pwd}}')) {
repl = getCurrentFolderPathFix();
+ console.log(repl);
cmd = cmd.replace(/\{\{pwd\}\}/mg, repl)
+ console.log(cmd)
}
// 获取窗口信息
if (cmd.includes('{{WindowInfo')) {
@@ -235,6 +237,7 @@
message(stdout)
break;
case "ignore":
+ case "nothing":
break;
default:
break;
@@ -466,36 +469,60 @@
}
}
+ let getCmdsType = cmds => {
+ try {
+ JSON.stringify(cmds)
+ } catch (error) {
+ return 'illegal'
+ }
+ if (cmds.length == 0) return 'null'
+ if (cmds.length == 1) {
+ let type = cmds[0].type
+ if (!type) return 'key'
+ if (type == 'window' || cmds[0].minNum) return type
+ return 'professional'
+ }
+ let counts = cmds.filter(x => typeof x == 'string').length
+ return counts == cmds.length ? 'key' : 'professional'
+ }
+
let showCommandByType = features => {
- let qcType = '', rules = features.cmds[0].match
- if (features.cmds[0].type == 'regex') {
- if (rules.length > 14) rules = rules.slice(0, 14) + '...';
- qcType = `
正则
${rules}
`;
- } else if (features.cmds[0].type == 'window') {
- qcType += `窗口
`
- if (!rules) {
- qcType += `所有窗口`
- } else if (rules.title || rules.class) {
- qcType += `${JSON.stringify(rules).slice(0, 14) + '...'}`;
- } else if (rules.app) {
- rules = rules.app.join(",")
- if (rules.length > 14) rules = rules.slice(0, 14) + '...';
- rules.split(',').forEach(r => {
- qcType += `${r}`;
- });
- }
- qcType += `
`
- } else if (features.cmds[0].type == 'files') {
- if (rules.length > 14) rules = rules.slice(0, 14) + '...';
- qcType = `文件
${rules}
`;
+ let qcType = ''
+ let cmds = features.cmds
+ let type = getCmdsType(cmds)
+ if (type == 'professional') {
+ qcType = `专业模式
[{...}]
`;
} else {
- rules = features.cmds.join(",")
- if (rules.length > 14) rules = rules.slice(0, 14) + '...';
- qcType += `关键字
`
- rules.split(',').forEach(r => {
- qcType += `${r}`;
- });
- qcType += `
`
+ let rules = cmds[0].match
+ if (type == 'regex') {
+ if (rules.length > 14) rules = rules.slice(0, 14) + '...';
+ qcType = `正则
${rules}
`;
+ } else if (type == 'window') {
+ qcType += `窗口
`
+ if (!rules) {
+ qcType += `所有窗口`
+ } else if (rules.title || rules.class) {
+ qcType += `${JSON.stringify(rules).slice(0, 14) + '...'}`;
+ } else if (rules.app) {
+ rules = rules.app.join(",")
+ if (rules.length > 14) rules = rules.slice(0, 14) + '...';
+ rules.split(',').forEach(r => {
+ qcType += `${r}`;
+ });
+ }
+ qcType += `
`
+ } else if (type == 'files') {
+ if (rules.length > 14) rules = rules.slice(0, 14) + '...';
+ qcType = `文件
${rules}
`;
+ } else {
+ rules = features.cmds.join(",")
+ if (rules.length > 14) rules = rules.slice(0, 14) + '...';
+ qcType += `关键字
`
+ rules.split(',').forEach(r => {
+ qcType += `${r}`;
+ });
+ qcType += `
`
+ }
}
return qcType
}
@@ -628,7 +655,8 @@
输 出