diff --git a/scripts/init-admin.mjs b/scripts/init-admin.mjs index d44e3b5..994bba9 100644 --- a/scripts/init-admin.mjs +++ b/scripts/init-admin.mjs @@ -9,11 +9,20 @@ if (!isDatabaseConfigured()) { process.exit(1); } -const rl = readline.createInterface({ input, output }); -const username = (await rl.question('admin username [admin]: ')).trim() || 'admin'; -const password = await rl.question('admin password: '); -const confirm = await rl.question('confirm password: '); -rl.close(); +const [usernameArg, passwordArg, confirmArg] = process.argv.slice(2); +let username = (usernameArg ?? '').trim(); +let password = passwordArg ?? ''; +let confirm = confirmArg ?? ''; + +if (!username || !password || !confirm) { + const rl = readline.createInterface({ input, output }); + username = username || (await rl.question('admin username [admin]: ')).trim() || 'admin'; + password = password || (await rl.question('admin password: ')); + confirm = confirm || (await rl.question('confirm password: ')); + rl.close(); +} else { + username = username.trim() || 'admin'; +} if (!password || password !== confirm) { console.error('密码为空或两次输入不一致');