mirror of
https://github.com/fofolee/uTools-quickcommand.git
synced 2025-06-11 16:14:05 +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" />
|
||||
<span class="text-subtitle1">命令流程</span>
|
||||
<q-space />
|
||||
<CodePreview :generate-code="generateCode" />
|
||||
<CodePreview :generate-code="generateFlowCode" />
|
||||
</div>
|
||||
<q-scroll-area class="command-scroll">
|
||||
<ComposerFlow v-model="commandFlow" @add-command="addCommand" />
|
||||
@ -48,7 +48,7 @@ import ComposerList from "./ComposerList.vue";
|
||||
import ComposerFlow from "./ComposerFlow.vue";
|
||||
import CodePreview from "./CodePreview.vue";
|
||||
import { commandCategories } from "js/composer/composerConfig";
|
||||
|
||||
import { generateCode } from "js/composer/generateCode";
|
||||
// 从commandCategories中提取所有命令
|
||||
const availableCommands = commandCategories.reduce((commands, category) => {
|
||||
return commands.concat(
|
||||
@ -116,29 +116,11 @@ export default defineComponent({
|
||||
value: action.value || action.cmd,
|
||||
});
|
||||
},
|
||||
generateCode() {
|
||||
let code = [];
|
||||
|
||||
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");
|
||||
generateFlowCode() {
|
||||
return generateCode(this.commandFlow);
|
||||
},
|
||||
handleComposer(type) {
|
||||
const code = this.generateCode();
|
||||
const code = this.generateFlowCode();
|
||||
this.$emit("use-composer", { type, code });
|
||||
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