#!/bin/bash # 游铛铛客户端后端启动脚本 # 设置脚本遇到错误时退出 set -e # 颜色输出 RED='\033[0;31m' GREEN='\033[0;32m' YELLOW='\033[1;33m' NC='\033[0m' # No Color echo -e "${GREEN}游铛铛客户端后端启动脚本${NC}" # 检查Python是否安装 if ! command -v python3 &> /dev/null; then echo -e "${RED}错误:未找到Python3,请先安装Python3${NC}" exit 1 fi # 检查是否在backend-client目录 if [ ! -f "app/main.py" ]; then echo -e "${RED}错误:请在backend-client目录下运行此脚本${NC}" exit 1 fi # 检查依赖是否已安装 if [ ! -d "venv" ] && [ ! -d ".venv" ]; then echo -e "${YELLOW}警告:未找到虚拟环境,建议先创建虚拟环境并安装依赖${NC}" echo -e "${YELLOW}运行:python3 -m venv venv && source venv/bin/activate && pip install -r requirements.txt${NC}" fi # 解析命令行参数 MODE="dev" if [ "$1" = "prod" ] || [ "$1" = "production" ]; then MODE="prod" elif [ "$1" = "dev" ] || [ "$1" = "development" ]; then MODE="dev" fi echo -e "${GREEN}启动模式:$MODE${NC}" if [ "$MODE" = "dev" ]; then echo -e "${GREEN}启动客户端开发服务器...${NC}" echo -e "${YELLOW}API文档:http://localhost:9000/docs${NC}" uvicorn app.main:app --reload --host 0.0.0.0 --port 9000 else echo -e "${GREEN}启动客户端生产服务器...${NC}" echo -e "${YELLOW}API文档:http://localhost:9000/docs${NC}" uvicorn app.main:app --host 0.0.0.0 --port 9000 --workers 4 fi