mirror of
https://github.com/fofolee/uTools-quickcommand.git
synced 2025-06-08 22:51:25 +08:00
可视化编排新增代码片段功能
This commit is contained in:
parent
e6afc60f49
commit
a6c4016831
@ -11,11 +11,11 @@
|
|||||||
<q-select
|
<q-select
|
||||||
:model-value="argvs.language"
|
:model-value="argvs.language"
|
||||||
@update:modelValue="updateArgvs('language', $event)"
|
@update:modelValue="updateArgvs('language', $event)"
|
||||||
:options="Object.keys(programs).slice(2, -1)"
|
:options="programOptions"
|
||||||
label="编程语言"
|
label="编程语言"
|
||||||
filled
|
filled
|
||||||
dense
|
dense
|
||||||
class="col-6"
|
class="col"
|
||||||
>
|
>
|
||||||
<template v-slot:append>
|
<template v-slot:append>
|
||||||
<q-avatar size="sm" square>
|
<q-avatar size="sm" square>
|
||||||
@ -39,6 +39,7 @@
|
|||||||
class="col-3"
|
class="col-3"
|
||||||
filled
|
filled
|
||||||
dense
|
dense
|
||||||
|
v-if="!isCodeSnippet"
|
||||||
:model-value="argvs.scriptCode"
|
:model-value="argvs.scriptCode"
|
||||||
@update:modelValue="updateArgvs('scriptCode', $event)"
|
@update:modelValue="updateArgvs('scriptCode', $event)"
|
||||||
label="脚本文件编码"
|
label="脚本文件编码"
|
||||||
@ -50,6 +51,7 @@
|
|||||||
class="col-3"
|
class="col-3"
|
||||||
filled
|
filled
|
||||||
dense
|
dense
|
||||||
|
v-if="!isCodeSnippet"
|
||||||
:model-value="argvs.outputCode"
|
:model-value="argvs.outputCode"
|
||||||
@update:modelValue="updateArgvs('outputCode', $event)"
|
@update:modelValue="updateArgvs('outputCode', $event)"
|
||||||
label="命令行输出编码"
|
label="命令行输出编码"
|
||||||
@ -59,7 +61,7 @@
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row q-col-gutter-sm">
|
<div class="row q-col-gutter-sm" v-if="!isCodeSnippet">
|
||||||
<div class="col-6">
|
<div class="col-6">
|
||||||
<ArrayEditor
|
<ArrayEditor
|
||||||
topLabel="脚本参数"
|
topLabel="脚本参数"
|
||||||
@ -176,10 +178,23 @@ export default defineComponent({
|
|||||||
this.defaultArgvs
|
this.defaultArgvs
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
|
isCodeSnippet() {
|
||||||
|
return this.modelValue.value === "createCodeSnippet";
|
||||||
|
},
|
||||||
|
programOptions() {
|
||||||
|
const startIndex = this.isCodeSnippet ? 1 : 2;
|
||||||
|
return Object.keys(programs).slice(startIndex, -1);
|
||||||
|
},
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
parseCodeToArgvs(code) {
|
parseCodeToArgvs(code) {
|
||||||
if (!code) return this.defaultArgvs;
|
if (!code) return this.defaultArgvs;
|
||||||
|
if (this.isCodeSnippet) {
|
||||||
|
const result = parseFunction(code);
|
||||||
|
return {
|
||||||
|
code: quickcomposer.coding.base64Decode(result.argvs?.[0]),
|
||||||
|
};
|
||||||
|
}
|
||||||
try {
|
try {
|
||||||
const variableFormatPaths = ["arg1.args[*]"];
|
const variableFormatPaths = ["arg1.args[*]"];
|
||||||
const result = parseFunction(code, { variableFormatPaths });
|
const result = parseFunction(code, { variableFormatPaths });
|
||||||
@ -196,6 +211,11 @@ export default defineComponent({
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
generateCode(argvs = this.argvs) {
|
generateCode(argvs = this.argvs) {
|
||||||
|
if (this.isCodeSnippet) {
|
||||||
|
return `quickcomposer.coding.base64Decode("${quickcomposer.coding.base64Encode(
|
||||||
|
argvs.code
|
||||||
|
)}")`;
|
||||||
|
}
|
||||||
const options = {
|
const options = {
|
||||||
language: argvs.language,
|
language: argvs.language,
|
||||||
};
|
};
|
||||||
|
@ -23,7 +23,7 @@ export const scriptCommands = {
|
|||||||
value: "quickcommand.runCode",
|
value: "quickcommand.runCode",
|
||||||
label: "运行脚本",
|
label: "运行脚本",
|
||||||
component: "ScriptEditor",
|
component: "ScriptEditor",
|
||||||
desc: "运行各种编程语言的代码",
|
description: "运行各种编程语言的代码,需要预安装对应的执行环境",
|
||||||
asyncMode: "await",
|
asyncMode: "await",
|
||||||
outputs: {
|
outputs: {
|
||||||
label: "运行结果",
|
label: "运行结果",
|
||||||
@ -31,6 +31,17 @@ export const scriptCommands = {
|
|||||||
typeName: "字符串",
|
typeName: "字符串",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
value: "createCodeSnippet",
|
||||||
|
label: "新建代码片段",
|
||||||
|
component: "ScriptEditor",
|
||||||
|
description: "单纯将代码片段赋值到变量中,不会执行",
|
||||||
|
outputs: {
|
||||||
|
label: "代码片段",
|
||||||
|
suggestName: "codeSnippet",
|
||||||
|
typeName: "字符串",
|
||||||
|
},
|
||||||
|
},
|
||||||
{
|
{
|
||||||
value: "return",
|
value: "return",
|
||||||
label: "函数返回",
|
label: "函数返回",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user