#!/bin/bash # Top-Fans Gateway 启动脚本 echo "🚀 启动 Top-Fans Gateway..." echo "" # 检查 UserService 是否在运行 if ! lsof -i:20000 > /dev/null 2>&1; then echo "⚠️ 警告: UserService (端口 20000) 未运行" echo "请先启动 UserService:" echo " cd backend/services/userService && ./start.sh" echo "" fi # 检查 SocialService 是否在运行 if ! lsof -i:20001 > /dev/null 2>&1; then echo "⚠️ 警告: SocialService (端口 20001) 未运行" echo "请先启动 SocialService:" echo " cd backend/services/socialService && ./start.sh" echo "" fi # 设置环境变量(可选) export SERVER_PORT=${SERVER_PORT:-8080} export GIN_MODE=${GIN_MODE:-debug} export DUBBO_USER_SERVICE_URL=${DUBBO_USER_SERVICE_URL:-tri://127.0.0.1:20000} export DUBBO_SOCIAL_SERVICE_URL=${DUBBO_SOCIAL_SERVICE_URL:-tri://127.0.0.1:20001} echo "📋 配置信息:" echo " - 端口: $SERVER_PORT" echo " - 模式: $GIN_MODE" echo " - UserService: $DUBBO_USER_SERVICE_URL" echo " - SocialService: $DUBBO_SOCIAL_SERVICE_URL" echo "" # 检查端口是否被占用 if lsof -i:$SERVER_PORT > /dev/null 2>&1; then echo "❌ 错误: 端口 $SERVER_PORT 已被占用" echo "请修改 SERVER_PORT 环境变量或停止占用该端口的进程" exit 1 fi # 安装依赖(如果需要) if [ ! -f "go.sum" ]; then echo "📦 安装依赖..." go mod tidy if [ $? -ne 0 ]; then echo "❌ 依赖安装失败" echo "" echo "可能的解决方案:" echo " 1. 检查网络连接" echo " 2. 配置 Go 代理: export GOPROXY=https://goproxy.io,direct" echo " 3. 手动运行: go mod download" exit 1 fi fi echo "✅ 启动 Gateway..." go run main.go