mirror of
https://github.com/fofolee/uTools-quickcommand.git
synced 2025-06-13 01:14:11 +08:00
generateCode作为模块代码
This commit is contained in:
parent
1dafacf3f1
commit
41484991ab
@ -22,7 +22,7 @@
|
|||||||
<q-icon name="timeline" size="20px" class="q-mr-sm text-primary" />
|
<q-icon name="timeline" size="20px" class="q-mr-sm text-primary" />
|
||||||
<span class="text-subtitle1">命令流程</span>
|
<span class="text-subtitle1">命令流程</span>
|
||||||
<q-space />
|
<q-space />
|
||||||
<CodePreview :generate-code="generateCode" />
|
<CodePreview :generate-code="generateFlowCode" />
|
||||||
</div>
|
</div>
|
||||||
<q-scroll-area class="command-scroll">
|
<q-scroll-area class="command-scroll">
|
||||||
<ComposerFlow v-model="commandFlow" @add-command="addCommand" />
|
<ComposerFlow v-model="commandFlow" @add-command="addCommand" />
|
||||||
@ -48,7 +48,7 @@ import ComposerList from "./ComposerList.vue";
|
|||||||
import ComposerFlow from "./ComposerFlow.vue";
|
import ComposerFlow from "./ComposerFlow.vue";
|
||||||
import CodePreview from "./CodePreview.vue";
|
import CodePreview from "./CodePreview.vue";
|
||||||
import { commandCategories } from "js/composer/composerConfig";
|
import { commandCategories } from "js/composer/composerConfig";
|
||||||
|
import { generateCode } from "js/composer/generateCode";
|
||||||
// 从commandCategories中提取所有命令
|
// 从commandCategories中提取所有命令
|
||||||
const availableCommands = commandCategories.reduce((commands, category) => {
|
const availableCommands = commandCategories.reduce((commands, category) => {
|
||||||
return commands.concat(
|
return commands.concat(
|
||||||
@ -116,29 +116,11 @@ export default defineComponent({
|
|||||||
value: action.value || action.cmd,
|
value: action.value || action.cmd,
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
generateCode() {
|
generateFlowCode() {
|
||||||
let code = [];
|
return generateCode(this.commandFlow);
|
||||||
|
|
||||||
this.commandFlow.forEach((cmd) => {
|
|
||||||
let line = "";
|
|
||||||
|
|
||||||
if (cmd.outputVariable) {
|
|
||||||
line += `let ${cmd.outputVariable} = `;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (cmd.value === "ubrowser") {
|
|
||||||
line += cmd.argv;
|
|
||||||
} else {
|
|
||||||
line += `${cmd.value}(${cmd.argv})`;
|
|
||||||
}
|
|
||||||
|
|
||||||
code.push(line);
|
|
||||||
});
|
|
||||||
|
|
||||||
return code.join("\n");
|
|
||||||
},
|
},
|
||||||
handleComposer(type) {
|
handleComposer(type) {
|
||||||
const code = this.generateCode();
|
const code = this.generateFlowCode();
|
||||||
this.$emit("use-composer", { type, code });
|
this.$emit("use-composer", { type, code });
|
||||||
if (type !== "run") this.$emit("update:modelValue", false);
|
if (type !== "run") this.$emit("update:modelValue", false);
|
||||||
},
|
},
|
||||||
|
21
src/js/composer/generateCode.js
Normal file
21
src/js/composer/generateCode.js
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
export function generateCode(commandFlow) {
|
||||||
|
let code = [];
|
||||||
|
|
||||||
|
commandFlow.forEach((cmd) => {
|
||||||
|
let line = "";
|
||||||
|
|
||||||
|
if (cmd.outputVariable) {
|
||||||
|
line += `let ${cmd.outputVariable} = `;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (cmd.value === "ubrowser") {
|
||||||
|
line += cmd.argv;
|
||||||
|
} else {
|
||||||
|
line += `${cmd.value}(${cmd.argv})`;
|
||||||
|
}
|
||||||
|
|
||||||
|
code.push(line);
|
||||||
|
});
|
||||||
|
|
||||||
|
return code.join("\n");
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user