import { exec } from 'child_process' const steps = [ { name: '检查程序员精神状态', emoji: '🧐', command: 'echo "精神状态:适合摸鱼"' }, { name: '编译TypeScript代码', emoji: '⚡', command: 'npm run build' }, { name: '压缩打包', emoji: '📦', command: 'echo "打包完成!"' }, { name: '上传到服务器', emoji: '🚀', command: 'scp -r dist/course root@haijunit.icu:/opt/course/' }, { name: '重启服务', emoji: '🔁', command: 'echo "服务重启完成!"' } ] async function fancyDeploy() { console.log('🎬 开始表演部署魔术...\n') for (let i = 0; i < steps.length; i++) { const step = steps[i] const progress = `[${i + 1}/${steps.length}]` console.log(`${progress} ${step.emoji} ${step.name}`) try { await new Promise((resolve, reject) => { exec(step.command, (error) => { if (error && !step.command.startsWith('echo')) { reject(error) } else { console.log(` ✅ 完成\n`) resolve(true) } }) }) } catch (error) { console.log(` ❌ 失败: ${error}`) console.log('\n💡 建议:大声说"这在我电脑上是好的!"') return } } console.log('🎉 所有步骤完成!') console.log('🏆 恭喜你成功完成了一次华丽的部署!') } fancyDeploy()