From ebbc7b7661e9486a98c69c8277f6b50aa1536dfd Mon Sep 17 00:00:00 2001 From: fofolee Date: Wed, 8 Jan 2025 16:40:18 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8DparseVarInput=E5=9C=A8?= =?UTF-8?q?=E5=A4=84=E7=90=86=E7=89=B9=E6=AE=8A=E5=AD=97=E7=AC=A6=E6=97=B6?= =?UTF-8?q?=E7=9A=84BUG?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/composer/common/VariableInput.vue | 9 ++------- src/js/composer/varInputValManager.js | 7 ++++++- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/components/composer/common/VariableInput.vue b/src/components/composer/common/VariableInput.vue index d1617d1..a98cfed 100644 --- a/src/components/composer/common/VariableInput.vue +++ b/src/components/composer/common/VariableInput.vue @@ -293,16 +293,11 @@ export default defineComponent({ const value = this.getItemValue(option); this.$emit("update:modelValue", newVarInputVal("str", value)); }, - escapePath(paths) { - if (!paths) return null; - if (typeof paths === "string") return paths.replace(/\\/g, "\\\\"); - return paths.map((path) => path.replace(/\\/g, "\\\\")); - }, handleFileOpen(dialog) { let { type, options } = window.lodashM.cloneDeep(dialog); if (!type) type = "open"; if (type === "open") { - const files = this.escapePath(utools.showOpenDialog(options)); + const files = utools.showOpenDialog(options); if (!files) return; if (files.length > 1) { this.$emit("update:modelValue", newVarInputVal("var", files)); @@ -310,7 +305,7 @@ export default defineComponent({ this.$emit("update:modelValue", newVarInputVal("str", files[0])); } } else { - const file = this.escapePath(utools.showSaveDialog(options)); + const file = utools.showSaveDialog(options); if (!file) return; this.$emit("update:modelValue", newVarInputVal("str", file)); } diff --git a/src/js/composer/varInputValManager.js b/src/js/composer/varInputValManager.js index f07614f..698589a 100644 --- a/src/js/composer/varInputValManager.js +++ b/src/js/composer/varInputValManager.js @@ -37,5 +37,10 @@ export const newEmptyVarInputVal = (type = "str") => { * @returns {string} 处理后的字符串 */ export const stringifyVarInputVal = (argv) => { - return argv.isString ? `"${argv.value}"` : argv.value; + if (!argv.isString) return argv.value; + try { + return JSON.stringify(argv.value); + } catch (e) { + return `"${argv.value}"`; + } };