fix(install): 修复选择使用上次配置后仍需逐项交互的问题
- 添加 useSavedConfig 标志控制配置流程 - 选择使用上次配置时跳过 configureDatabase/configureServices - 直接显示配置摘要后进入确认步骤
This commit is contained in:
+27
-3
@@ -70,25 +70,49 @@ ${colors.reset}`);
|
|||||||
log.info('运行模式: 非交互式(使用默认配置)');
|
log.info('运行模式: 非交互式(使用默认配置)');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let useSavedConfig = false;
|
||||||
|
|
||||||
const savedConfig = loadSavedConfig();
|
const savedConfig = loadSavedConfig();
|
||||||
if (savedConfig) {
|
if (savedConfig) {
|
||||||
log.info(`检测到上次安装配置 (${savedConfig.savedAt || '未知时间'})`);
|
log.info(`检测到上次安装配置 (${savedConfig.savedAt || '未知时间'})`);
|
||||||
if (!cmdArgs.nonInteractive) {
|
if (!cmdArgs.nonInteractive) {
|
||||||
const useSaved = await ask('是否使用上次配置作为默认值? (Y/n)', 'Y');
|
const useSaved = await ask('是否使用上次配置? (Y/n)', 'Y');
|
||||||
if (useSaved.toLowerCase() === 'y') {
|
if (useSaved.toLowerCase() === 'y') {
|
||||||
applySavedConfig(savedConfig);
|
applySavedConfig(savedConfig);
|
||||||
log.success('已加载上次配置');
|
log.success('已加载上次配置');
|
||||||
|
useSavedConfig = true;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
applySavedConfig(savedConfig);
|
applySavedConfig(savedConfig);
|
||||||
log.success('已加载上次配置');
|
log.success('已加载上次配置');
|
||||||
|
useSavedConfig = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
await checkEnvironment();
|
await checkEnvironment();
|
||||||
await configureDatabase(cmdArgs);
|
|
||||||
await configureServices(cmdArgs);
|
if (useSavedConfig) {
|
||||||
|
log.step('数据库配置');
|
||||||
|
log.info(`数据库类型: ${config.dbType}`);
|
||||||
|
if (config.dbType === 'mysql') {
|
||||||
|
log.info(`MySQL: ${config.dbConfig.host}:${config.dbConfig.port}/${config.dbConfig.database}`);
|
||||||
|
}
|
||||||
|
log.divider();
|
||||||
|
|
||||||
|
log.step('服务配置');
|
||||||
|
log.info(`后端端口: ${config.backendPort}`);
|
||||||
|
log.info(`运行环境: ${config.nodeEnv}`);
|
||||||
|
log.info(`前端部署: ${config.frontendDeploy}`);
|
||||||
|
log.info(`前端端口: ${config.frontendPort}`);
|
||||||
|
if (config.frontendDeploy === 'nginx') {
|
||||||
|
log.info(`域名: ${config.domain}`);
|
||||||
|
}
|
||||||
|
log.divider();
|
||||||
|
} else {
|
||||||
|
await configureDatabase(cmdArgs);
|
||||||
|
await configureServices(cmdArgs);
|
||||||
|
}
|
||||||
|
|
||||||
if (!cmdArgs.nonInteractive) {
|
if (!cmdArgs.nonInteractive) {
|
||||||
await confirmConfiguration();
|
await confirmConfiguration();
|
||||||
|
|||||||
Reference in New Issue
Block a user