#!/bin/bash
# SafeCheckIn Cloud Server v5.4 启动脚本

# 自动切换到脚本所在目录（无论从哪里运行都有效）
cd "$(dirname "$0")"

echo "============================================"
echo "  SafeCheckIn Cloud Server v5.4"
echo "============================================"
echo ""

# 检查 Python3
if ! command -v python3 &> /dev/null; then
    echo "[错误] 未找到 python3，请先安装："
    echo "  sudo apt update && sudo apt install -y python3 python3-pip python3-venv"
    exit 1
fi

# 检查主程序文件
if [ ! -f "main_final.py" ]; then
    echo "[错误] main_final.py 不存在，请检查文件是否完整"
    echo "当前目录: $(pwd)"
    ls -la
    exit 1
fi

# 清除 Python 缓存，防止加载旧代码
find . -type d -name "__pycache__" -exec rm -rf {} + 2>/dev/null
find . -type f -name "*.pyc" -delete 2>/dev/null

# 检查虚拟环境，不存在则创建
if [ ! -d "venv" ]; then
    echo "首次运行，正在创建 Python 虚拟环境..."
    python3 -m venv venv
    if [ $? -ne 0 ]; then
        echo "[错误] 创建虚拟环境失败"
        exit 1
    fi
fi

# 激活虚拟环境
source venv/bin/activate

# 安装/更新依赖
echo "检查依赖包..."
pip install fastapi uvicorn "pydantic[email]" python-multipart --quiet

echo ""
echo "============================================"
echo "  服务器地址: http://0.0.0.0:8000"
echo "  管理后台:   http://YOUR_SERVER_IP:8000/admin"
echo "  API 文档:   http://YOUR_SERVER_IP:8000/docs"
echo "  按 Ctrl+C  停止服务器"
echo "============================================"
echo ""

# 启动服务器
python3 main_final.py
