#!/bin/bash # 色彩定义 GREEN='\033[0;32m' YELLOW='\033[1;33m' RED='\033[0;31m' NC='\033[0m' # No Color echo -e "${GREEN}========================================${NC}" echo -e "${GREEN} 库存过滤修复 - 快速部署脚本${NC}" echo -e "${GREEN}========================================${NC}" echo "" # 项目根目录 PROJECT_ROOT="/Users/hexiaodong/Desktop/git/erp2025/Antis.Erp.Plat" # 后端编译输出目录 BACKEND_BUILD_DIR="$PROJECT_ROOT/netcore/src/Application/NCC.API/bin/Release/net6.0" # 前端编译输出目录 FRONTEND_BUILD_DIR="$PROJECT_ROOT/antis-ncc-admin/dist" echo -e "${YELLOW}📦 检查编译输出文件...${NC}" echo "" # 检查后端编译输出 if [ -d "$BACKEND_BUILD_DIR" ]; then echo -e "${GREEN}✓ 后端编译输出目录存在${NC}" echo " 路径: $BACKEND_BUILD_DIR" DLL_COUNT=$(find "$BACKEND_BUILD_DIR" -name "*.dll" | wc -l) echo " DLL 文件数: $DLL_COUNT" else echo -e "${RED}✗ 后端编译输出目录不存在${NC}" exit 1 fi echo "" # 检查前端编译输出 if [ -d "$FRONTEND_BUILD_DIR" ]; then echo -e "${GREEN}✓ 前端编译输出目录存在${NC}" echo " 路径: $FRONTEND_BUILD_DIR" HTML_FILE="$FRONTEND_BUILD_DIR/index.html" if [ -f "$HTML_FILE" ]; then FILE_SIZE=$(ls -lh "$HTML_FILE" | awk '{print $5}') echo " index.html 文件大小: $FILE_SIZE" fi else echo -e "${RED}✗ 前端编译输出目录不存在${NC}" exit 1 fi echo "" echo -e "${YELLOW}📋 请输入部署路径${NC}" echo "" # 获取后端部署目录 read -p "后端部署目录 (API DLL 位置) [按Enter使用默认]: " BACKEND_DEPLOY_DIR BACKEND_DEPLOY_DIR=${BACKEND_DEPLOY_DIR:-"/opt/ncc-api/bin"} # 获取前端部署目录 read -p "前端部署目录 (Web 文件位置) [按Enter使用默认]: " FRONTEND_DEPLOY_DIR FRONTEND_DEPLOY_DIR=${FRONTEND_DEPLOY_DIR:-"/var/www/html/admin"} echo "" echo -e "${YELLOW}⚙️ 部署配置:${NC}" echo "" echo "后端:" echo " 来源: $BACKEND_BUILD_DIR" echo " 目标: $BACKEND_DEPLOY_DIR" echo "" echo "前端:" echo " 来源: $FRONTEND_BUILD_DIR" echo " 目标: $FRONTEND_DEPLOY_DIR" echo "" # 确认部署 read -p "确认部署? (y/n): " -n 1 -r echo "" if [[ ! $REPLY =~ ^[Yy]$ ]]; then echo -e "${YELLOW}⚠️ 部署已取消${NC}" exit 0 fi echo "" echo -e "${GREEN}🚀 开始部署...${NC}" echo "" # 部署后端 if [ -d "$BACKEND_DEPLOY_DIR" ]; then echo -e "${YELLOW}备份后端文件...${NC}" BACKUP_DIR="${BACKEND_DEPLOY_DIR}.backup.$(date +%Y%m%d_%H%M%S)" cp -r "$BACKEND_DEPLOY_DIR" "$BACKUP_DIR" echo -e "${GREEN}✓ 备份完成: $BACKUP_DIR${NC}" echo -e "${YELLOW}复制后端文件...${NC}" cp -r "$BACKEND_BUILD_DIR"/* "$BACKEND_DEPLOY_DIR/" echo -e "${GREEN}✓ 后端文件复制完成${NC}" else echo -e "${RED}✗ 后端部署目录不存在: $BACKEND_DEPLOY_DIR${NC}" fi echo "" # 部署前端 if [ -d "$FRONTEND_DEPLOY_DIR" ]; then echo -e "${YELLOW}备份前端文件...${NC}" BACKUP_DIR="${FRONTEND_DEPLOY_DIR}.backup.$(date +%Y%m%d_%H%M%S)" cp -r "$FRONTEND_DEPLOY_DIR" "$BACKUP_DIR" echo -e "${GREEN}✓ 备份完成: $BACKUP_DIR${NC}" echo -e "${YELLOW}复制前端文件...${NC}" cp -r "$FRONTEND_BUILD_DIR"/* "$FRONTEND_DEPLOY_DIR/" echo -e "${GREEN}✓ 前端文件复制完成${NC}" else echo -e "${YELLOW}⚠️ 前端部署目录不存在,创建中...${NC}" mkdir -p "$FRONTEND_DEPLOY_DIR" cp -r "$FRONTEND_BUILD_DIR"/* "$FRONTEND_DEPLOY_DIR/" echo -e "${GREEN}✓ 前端目录已创建并复制文件${NC}" fi echo "" echo -e "${GREEN}========================================${NC}" echo -e "${GREEN} ✓ 部署完成!${NC}" echo -e "${GREEN}========================================${NC}" echo "" echo -e "${YELLOW}📌 后续步骤:${NC}" echo "" echo "1. 重启后端 API 服务" echo " - 停止 NCC.API" echo " - 启动 NCC.API" echo "" echo "2. 清除浏览器缓存 (Ctrl+Shift+Delete)" echo "" echo "3. 验证功能" echo " - 登录收银台" echo " - 搜索商品" echo " - 检查库存显示是否正确" echo "" echo -e "${YELLOW}📄 查看详细部署指南:${NC}" echo " $PROJECT_ROOT/DEPLOYMENT_GUIDE.md" echo ""