From 38a38d54c66dfe6b85e26ba7f4f3cc3c70ad1814 Mon Sep 17 00:00:00 2001
From: tony.cheng <chengmingwei_1984122@126.com>
Date: Mon, 16 Mar 2026 14:42:40 +0800
Subject: [PATCH] feat: 优化外呼组件和案件数据上下文,完善实时外呼功能

---
 web-app/deploy/deploy.sh |  152 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 152 insertions(+), 0 deletions(-)

diff --git a/web-app/deploy/deploy.sh b/web-app/deploy/deploy.sh
new file mode 100644
index 0000000..cd33870
--- /dev/null
+++ b/web-app/deploy/deploy.sh
@@ -0,0 +1,152 @@
+#!/bin/bash
+
+# ============================================
+# 云小调前端一键部署脚本
+# 目标服务器:36.140.67.217
+# 使用方式:./deploy.sh
+# ============================================
+
+set -e
+
+# 配置变量
+SERVER_IP="36.140.67.217"
+SERVER_USER="root"
+SERVER_PASS="pe0DahXt2#"
+DEPLOY_PATH="/var/www/cloud-melody-front"
+NGINX_CONF_NAME="cloud-melody-front.conf"
+
+# 颜色输出
+RED='\033[0;31m'
+GREEN='\033[0;32m'
+YELLOW='\033[1;33m'
+NC='\033[0m'
+
+log_info() {
+    echo -e "${GREEN}[INFO]${NC} $1"
+}
+
+log_warn() {
+    echo -e "${YELLOW}[WARN]${NC} $1"
+}
+
+log_error() {
+    echo -e "${RED}[ERROR]${NC} $1"
+}
+
+# 检查依赖
+check_dependencies() {
+    log_info "检查依赖..."
+    
+    if ! command -v npm &> /dev/null; then
+        log_error "npm 未安装,请先安装 Node.js"
+        exit 1
+    fi
+    
+    if ! command -v sshpass &> /dev/null; then
+        log_warn "sshpass 未安装,正在安装..."
+        if [[ "$OSTYPE" == "darwin"* ]]; then
+            brew install sshpass 2>/dev/null || brew install hudochenkov/sshpass/sshpass
+        elif [[ "$OSTYPE" == "linux-gnu"* ]]; then
+            sudo apt-get install -y sshpass || sudo yum install -y sshpass
+        fi
+    fi
+    
+    log_info "依赖检查完成"
+}
+
+# 构建项目
+build_project() {
+    log_info "开始构建项目..."
+    
+    cd "$(dirname "$0")/.."
+    
+    # 安装依赖
+    log_info "安装依赖..."
+    npm install
+    
+    # 构建生产包
+    log_info "构建生产包..."
+    npm run build
+    
+    if [ ! -d "build" ]; then
+        log_error "构建失败,build 目录不存在"
+        exit 1
+    fi
+    
+    log_info "构建完成"
+}
+
+# 部署到服务器
+deploy_to_server() {
+    log_info "开始部署到服务器 ${SERVER_IP}..."
+    
+    # 创建远程目录
+    sshpass -p "${SERVER_PASS}" ssh -o StrictHostKeyChecking=no ${SERVER_USER}@${SERVER_IP} "
+        mkdir -p ${DEPLOY_PATH}
+        mkdir -p /etc/nginx/conf.d
+    "
+    
+    # 上传构建文件
+    log_info "上传构建文件..."
+    sshpass -p "${SERVER_PASS}" scp -o StrictHostKeyChecking=no -r build/* ${SERVER_USER}@${SERVER_IP}:${DEPLOY_PATH}/
+    
+    # 上传 nginx 配置
+    log_info "配置 Nginx..."
+    sshpass -p "${SERVER_PASS}" scp -o StrictHostKeyChecking=no \
+        "$(dirname "$0")/cloud-melody-front.conf" \
+        ${SERVER_USER}@${SERVER_IP}:/etc/nginx/conf.d/${NGINX_CONF_NAME}
+    
+    # 重启 nginx
+    log_info "重启 Nginx..."
+    sshpass -p "${SERVER_PASS}" ssh -o StrictHostKeyChecking=no ${SERVER_USER}@${SERVER_IP} "
+        # 检查 nginx 配置
+        nginx -t
+        
+        # 重启 nginx
+        systemctl restart nginx || service nginx restart
+        
+        # 设置开机自启
+        systemctl enable nginx || chkconfig nginx on
+    "
+    
+    log_info "部署完成!"
+}
+
+# 显示部署结果
+show_result() {
+    echo ""
+    echo "============================================"
+    echo -e "${GREEN}部署成功!${NC}"
+    echo "============================================"
+    echo ""
+    echo "访问地址:"
+    echo "  前端页面:http://${SERVER_IP}:9002"
+    echo "  后端API:http://${SERVER_IP}:9015"
+    echo ""
+    echo "服务器信息:"
+    echo "  IP:${SERVER_IP}"
+    echo "  用户:${SERVER_USER}"
+    echo "  部署路径:${DEPLOY_PATH}"
+    echo ""
+    echo "常用命令:"
+    echo "  查看 Nginx 状态:ssh root@${SERVER_IP} 'systemctl status nginx'"
+    echo "  查看 Nginx 日志:ssh root@${SERVER_IP} 'tail -f /var/log/nginx/error.log'"
+    echo "  重启 Nginx:ssh root@${SERVER_IP} 'systemctl restart nginx'"
+    echo "============================================"
+}
+
+# 主流程
+main() {
+    echo ""
+    echo "============================================"
+    echo "    云小调前端一键部署脚本"
+    echo "============================================"
+    echo ""
+    
+    check_dependencies
+    build_project
+    deploy_to_server
+    show_result
+}
+
+main "$@"

--
Gitblit v1.8.0