#!/bin/bash # 最终部署脚本(含所有更新) set -e echo "🚀 部署完整系统(含登录功能优化)..." echo "" SERVER="root@45.249.208.118" SERVER_PASSWORD="lxvhNYFZ4160" REMOTE_DIR="/opt/flnxi-website" GREEN='\033[0;32m' BLUE='\033[0;34m' YELLOW='\033[1;33m' NC='\033[0m' # 检查 sshpass if ! command -v sshpass &> /dev/null; then echo -e "${YELLOW}安装 sshpass...${NC}" brew install hudochenkov/sshpass/sshpass || exit 1 fi echo -e "${BLUE}打包所有更新文件...${NC}" rm -f final-update.tar.gz tar -czf final-update.tar.gz \ lib \ app/api/auth \ components/Pricing.tsx \ package.json echo -e "${GREEN}✅ 文件打包完成${NC}" echo "" echo -e "${BLUE}上传到服务器...${NC}" sshpass -p "$SERVER_PASSWORD" scp -o StrictHostKeyChecking=no final-update.tar.gz $SERVER:$REMOTE_DIR/ echo -e "${GREEN}✅ 上传完成${NC}" echo "" echo -e "${BLUE}解压并重新构建...${NC}" sshpass -p "$SERVER_PASSWORD" ssh -o StrictHostKeyChecking=no $SERVER << 'ENDSSH' cd /opt/flnxi-website echo "📦 解压文件..." tar -xzf final-update.tar.gz rm final-update.tar.gz echo "🐳 停止旧容器..." docker-compose down echo "🔨 构建新镜像(这可能需要几分钟)..." docker-compose build --no-cache echo "🚀 启动服务..." docker-compose up -d echo "⏳ 等待30秒让服务完全启动..." sleep 30 echo "" echo "✅ 检查服务状态..." docker-compose ps echo "" echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" echo "🎉 部署完成!" echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" ENDSSH echo "" echo -e "${GREEN}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}" echo -e "${GREEN}🎉 所有更新已部署!${NC}" echo -e "${GREEN}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}" echo "" echo -e "${YELLOW}📝 功能说明:${NC}" echo "" echo "✅ 首页无需登录即可访问" echo "✅ 用户可以浏览所有内容(功能、定价等)" echo "✅ 点击【购买】按钮时:" echo " - 未登录:自动跳转到登录页" echo " - 已登录:跳转到联系表单" echo "✅ 点击导航栏【登录】按钮:跳转到登录页" echo "✅ 点击导航栏【注册】按钮:跳转到注册页" echo "" echo -e "${YELLOW}🧪 测试步骤:${NC}" echo "" echo "1. 访问: https://scs.flnxi.com" echo "2. 浏览首页(无需登录)" echo "3. 滚动到定价部分" echo "4. 点击【登录后购买】按钮" echo "5. 应该跳转到登录页" echo "6. 完成注册或登录" echo "7. 再次点击【立即购买】按钮" echo "8. 应该跳转到联系表单" echo "" echo -e "${YELLOW}📊 数据库信息:${NC}" echo "容器: flnxi-postgres" echo "端口: 5433" echo "数据库: flnxi_db" echo "" echo -e "${YELLOW}🔍 查看日志:${NC}" echo "ssh $SERVER 'cd /opt/flnxi-website && docker-compose logs -f --tail 50'" echo ""