新建命令正则匹配功能改为直接导入命令

This commit is contained in:
fofolee
2024-05-07 13:07:08 +08:00
parent 897d597885
commit 545d4b3b31
5 changed files with 125 additions and 125 deletions

View File

@@ -4,21 +4,25 @@
// 是否含有 quickcommand 键值
let isJsonQc = (obj, strict = true) => {
var keys = strict ? ["features", "program", "cmd", "output"] : ["program", "cmd"]
if (keys.filter(x => typeof obj[x] == 'undefined').length) return false
return true
}
var keys = strict
? ["features", "program", "cmd", "output"]
: ["program", "cmd"];
if (keys.filter((x) => typeof obj[x] == "undefined").length) return false;
return true;
};
// 判断是否为可导入的快捷命令
let qcparser = (json, strict = true) => {
try {
var qc = JSON.parse(json)
} catch (error) {
return false
}
if (isJsonQc(qc, strict)) return { single: true, qc: qc }
else if (!Object.values(qc).filter(q => !isJsonQc(q, strict)).length) return { single: false, qc: qc }
else return false
}
try {
if (json.slice(0, 3) === "qc=") json = window.base64Decode(json.slice(3));
var qc = JSON.parse(json);
} catch (error) {
return false;
}
if (isJsonQc(qc, strict)) return { single: true, qc: qc };
else if (!Object.values(qc).filter((q) => !isJsonQc(q, strict)).length)
return { single: false, qc: qc };
else return false;
};
export default qcparser
export default qcparser;