#!/bin/bash # Dream-Machine 采购清单管理系统快速启动脚本 # Quick start script for Dream-Machine Purchase List Management System set -e # 颜色定义 GREEN='\033[0;32m' YELLOW='\033[1;33m' RED='\033[0;31m' BLUE='\033[0;34m' NC='\033[0m' # No Color # 显示横幅 echo -e "${BLUE}" echo "╔══════════════════════════════════════════════════════════════╗" echo "║ Dream-Machine 采购清单管理系统 ║" echo "║ Purchase List Management ║" echo "╚══════════════════════════════════════════════════════════════╝" echo -e "${NC}" # 检查系统要求 echo -e "${YELLOW}🔍 检查系统要求...${NC}" # 检查 Node.js if ! command -v node &> /dev/null; then echo -e "${RED}❌ Node.js 未安装。请安装 Node.js v18.0.0 或更高版本${NC}" exit 1 fi NODE_VERSION=$(node --version | cut -d'v' -f2) echo -e "${GREEN}✅ Node.js 版本: v${NODE_VERSION}${NC}" # 检查 npm if ! command -v npm &> /dev/null; then echo -e "${RED}❌ npm 未安装${NC}" exit 1 fi NPM_VERSION=$(npm --version) echo -e "${GREEN}✅ npm 版本: ${NPM_VERSION}${NC}" # 检查 Make if command -v make &> /dev/null; then echo -e "${GREEN}✅ Make 可用 - 推荐使用 Makefile 命令${NC}" USE_MAKE=true else echo -e "${YELLOW}⚠️ Make 不可用 - 将使用 npm 命令${NC}" USE_MAKE=false fi echo "" # 询问用户选择 echo -e "${BLUE}🚀 请选择启动方式:${NC}" echo "1) 开发环境 (Development)" echo "2) 生产构建 (Production Build)" echo "3) 生产预览 (Production Preview)" echo "4) 显示帮助 (Show Help)" read -p "请输入选择 (1-4): " choice case $choice in 1) echo -e "${GREEN}🔧 启动开发环境...${NC}" if [ "$USE_MAKE" = true ]; then make dev else echo -e "${YELLOW}📦 安装依赖...${NC}" npm install echo -e "${YELLOW}🚀 启动开发服务器...${NC}" npm run dev fi ;; 2) echo -e "${GREEN}🏗️ 构建生产版本...${NC}" if [ "$USE_MAKE" = true ]; then make build else echo -e "${YELLOW}📦 安装依赖...${NC}" npm install echo -e "${YELLOW}🔍 代码检查...${NC}" npm run lint echo -e "${YELLOW}🏗️ 构建中...${NC}" npm run build fi echo -e "${GREEN}✅ 构建完成!输出目录: dist/${NC}" ;; 3) echo -e "${GREEN}👀 启动生产预览...${NC}" if [ "$USE_MAKE" = true ]; then make preview else if [ ! -d "dist" ]; then echo -e "${YELLOW}📦 安装依赖...${NC}" npm install echo -e "${YELLOW}🏗️ 构建生产版本...${NC}" npm run build fi echo -e "${YELLOW}🚀 启动预览服务器...${NC}" npm run preview fi ;; 4) echo -e "${BLUE}📚 可用命令:${NC}" echo "" if [ "$USE_MAKE" = true ]; then echo -e "${GREEN}使用 Makefile (推荐):${NC}" echo " make help - 显示所有可用命令" echo " make dev - 启动开发环境" echo " make build - 构建生产版本" echo " make preview - 预览生产版本" echo " make lint - 代码质量检查" echo " make clean - 清理文件" echo " make info - 显示项目信息" echo "" fi echo -e "${GREEN}使用 npm:${NC}" echo " npm install - 安装依赖" echo " npm run dev - 启动开发服务器" echo " npm run build - 构建生产版本" echo " npm run preview - 预览生产版本" echo " npm run lint - 代码质量检查" echo "" echo -e "${BLUE}📖 更多信息请查看:${NC}" echo " - README.md - 项目说明文档" echo " - DEPLOYMENT.md - 部署指南文档" ;; *) echo -e "${RED}❌ 无效选择${NC}" exit 1 ;; esac echo "" echo -e "${GREEN}🎉 感谢使用 Dream-Machine 采购清单管理系统!${NC}"