优化第一阶段

This commit is contained in:
yinsx
2025-12-22 12:07:12 +08:00
parent dd99e932b4
commit 1df41ac4ab
38 changed files with 340 additions and 300 deletions

View File

@ -0,0 +1,41 @@
import color from "picocolors";
import { initKeypress, onKey, stopKeypress } from "../../keyboard.js";
import { createStepUI } from "../../utils/stepui.js";
import { generateSteps } from "./config.js";
// 框架 + 组件配置 UI
export function createScaffoldUI(projectType) {
return createStepUI({
title: `${projectType} - 项目配置`,
getSteps: () => generateSteps(projectType, null),
onStepChange: framework => generateSteps(projectType, framework),
});
}
// 解析配置结果
export function formatResults(steps, results) {
const summary = [];
results.forEach((val, i) => {
if (Array.isArray(val) && val.length > 0) {
summary.push(`${steps[i].name}: ${val.join(", ")}`);
} else if (val && val !== "none") {
summary.push(`${steps[i].name}: ${val}`);
}
});
return summary.length ? summary : ["未选择任何组件"];
}
// 等待按键
export async function waitKey(message = "按任意键返回") {
console.log(color.dim(`\n${message}`));
return new Promise(resolve => {
initKeypress();
onKey(() => {
stopKeypress();
resolve();
});
});
}