#!/bin/bash # Kill any existing processes echo "Stopping any existing services..." pkill -f "src/Server.js" || true pkill -f "vue-cli-service" || true # Start backend service echo "Starting backend service..." cd /Users/hahaha/telegram-management-system/backend export REALTIME_MONITOR_PORT=${REALTIME_MONITOR_PORT:-18081} nohup env REALTIME_MONITOR_PORT=$REALTIME_MONITOR_PORT npm start > backend.log 2>&1 & BACKEND_PID=$! echo "Backend started with PID: $BACKEND_PID (Realtime WS: $REALTIME_MONITOR_PORT)" # Wait for backend to be ready echo "Waiting for backend to initialize..." sleep 5 # Start frontend service (Vben Admin) FRONTEND_PORT=${FRONTEND_PORT:-5173} FRONTEND_DIR="/Users/hahaha/telegram-management-system/frontend-vben" FRONTEND_LOG="$FRONTEND_DIR/frontend-dev.log" if command -v pnpm >/dev/null 2>&1; then echo "Starting frontend (Vben Admin) on port $FRONTEND_PORT..." cd "$FRONTEND_DIR" nohup pnpm dev:antd -- --host 0.0.0.0 --port $FRONTEND_PORT > "$FRONTEND_LOG" 2>&1 & FRONTEND_PID=$! echo "Frontend started with PID: $FRONTEND_PID" else echo "pnpm 未安装,跳过前端启动。请运行 'corepack enable' 并重新执行。" FRONTEND_PID="" fi # Save PIDs for later stopping echo $BACKEND_PID > /Users/hahaha/telegram-management-system/backend.pid if [ -n "$FRONTEND_PID" ]; then echo $FRONTEND_PID > /Users/hahaha/telegram-management-system/frontend.pid fi echo "" echo "Services started successfully!" echo "Backend: http://localhost:3000 (PID: $BACKEND_PID)" if [ -n "$FRONTEND_PID" ]; then echo "Frontend: http://localhost:$FRONTEND_PORT (PID: $FRONTEND_PID)" else echo "Frontend: 未启动 (pnpm 未检测到)" fi echo "Realtime Monitor WS: ws://localhost:${REALTIME_MONITOR_PORT}" echo "" echo "To view logs:" echo " Backend: tail -f /Users/hahaha/telegram-management-system/backend/backend.log" if [ -n "$FRONTEND_PID" ]; then echo " Frontend: tail -f $FRONTEND_LOG" fi echo "" echo "To stop services: run ./stop-services.sh"