From f7caa604d3e80ca0b4532f4c571bbe2f97bb4db9 Mon Sep 17 00:00:00 2001 From: fofolee Date: Sun, 3 Apr 2022 11:41:44 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=BA=95=E6=A0=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/js/quickcommandParser.js | 24 +++ src/pages/ConfigurationPage.vue | 276 +++++++++++++++++++++++++++++--- 2 files changed, 274 insertions(+), 26 deletions(-) create mode 100644 src/js/quickcommandParser.js diff --git a/src/js/quickcommandParser.js b/src/js/quickcommandParser.js new file mode 100644 index 0000000..4372f00 --- /dev/null +++ b/src/js/quickcommandParser.js @@ -0,0 +1,24 @@ +/** + * 判断内容是否为 quickcommand 可导入格式 + */ + +// 是否含有 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 +} + +// 判断是否为可导入的快捷命令 +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 +} + +export default qcparser diff --git a/src/pages/ConfigurationPage.vue b/src/pages/ConfigurationPage.vue index 302bd86..265aa42 100644 --- a/src/pages/ConfigurationPage.vue +++ b/src/pages/ConfigurationPage.vue @@ -1,27 +1,34 @@