@echo off
chcp 65001 >nul
title Gold AutoTrade — 一键安装环境
setlocal enabledelayedexpansion

cd /d "%~dp0"

echo ==================================================
echo  Gold AutoTrade — 一键安装环境
echo ==================================================
echo.
echo 本脚本将自动完成以下步骤：
echo   1. 检查 Python 3 环境
echo   2. 创建虚拟环境 .venv
echo   3. 安装 Python 依赖包
echo   4. [可选] 检查 Node.js（用于可视化面板）
echo   5. [可选] 安装 npm 依赖
echo.
echo ==================================================

:: ── Step 1: Check Python ──────────────────────────────────
echo [1/5] 检查 Python...
set "PYTHON="
where python >nul 2>&1
if %errorlevel% equ 0 (
    for /f "delims=" %%i in ('python --version 2^>^&1') do set "PYVER=%%i"
    echo   ✓ !PYVER!
    set "PYTHON=python"
) else (
    where python3 >nul 2>&1
    if !errorlevel! equ 0 (
        for /f "delims=" %%i in ('python3 --version 2^>^&1') do set "PYVER=%%i"
        echo   ✓ !PYVER!
        set "PYTHON=python3"
    )
)

if "!PYTHON!"=="" (
    echo   ✗ 未找到 Python 3
    echo.
    echo   请从以下地址下载安装 Python 3：
    echo   https://www.python.org/downloads/
    echo.
    echo   ⚠ 安装时务必勾选 "Add Python to PATH"
    echo.
    start https://www.python.org/downloads/
    pause
    exit /b 1
)
echo.

:: ── Step 2: Create venv ─────────────────────────────────────
echo [2/5] 创建虚拟环境...
if exist ".venv\Scripts\python.exe" (
    echo   ✓ 虚拟环境已存在，跳过
) else (
    !PYTHON! -m venv .venv
    if !errorlevel! neq 0 (
        echo   ✗ 创建虚拟环境失败
        pause
        exit /b 1
    )
    echo   ✓ 虚拟环境已创建
)
echo.

:: ── Step 3: Install pip packages ────────────────────────────
echo [3/5] 安装 Python 依赖（可能需要几分钟）...
call .venv\Scripts\activate.bat
pip install --upgrade pip >nul 2>&1
pip install -r requirements.txt
if %errorlevel% neq 0 (
    echo.
    echo   ⚠ 部分包安装失败。使用备用镜像重试...
    pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
)
echo   ✓ Python 依赖安装完成
echo.

:: ── Step 4: Check Node.js (optional) ───────────────────────
echo [4/5] 检查 Node.js（可视化面板）...
where node >nul 2>&1
if %errorlevel% equ 0 (
    for /f "delims=" %%i in ('node --version 2^>^&1') do echo   ✓ Node.js %%i 已就绪
    set "HAS_NODE=1"
) else (
    echo   ⚠ 未找到 Node.js（可视化面板需要）
    echo     下载地址: https://nodejs.org/
    set "HAS_NODE=0"
)
echo.

:: ── Step 5: Install npm packages (optional) ─────────────────
echo [5/5] 安装 npm 依赖...
if "!HAS_NODE!"=="1" (
    if exist "gui_react\package.json" (
        cd gui_react
        if not exist "node_modules" (
            echo   正在安装（可能需要几分钟）...
            call npm install
            if !errorlevel! neq 0 (
                echo   ⚠ npm install 失败，跳过
            ) else (
                echo   ✓ npm 依赖安装完成
            )
        ) else (
            echo   ✓ npm 依赖已存在，跳过
        )
        cd ..
    )
) else (
    echo   ⚠ 跳过（无 Node.js）
)
echo.

echo ==================================================
echo  安装完成！
echo.
echo  现在可以双击 "启动试用(Windows).bat" 开始使用
echo ==================================================
echo.
pause
