@echo off
chcp 65001 >nul
setlocal enabledelayedexpansion

echo 🚀 开始构建 IPTV Windows 桌面应用...
echo.

:: 检查 Rust
where cargo >nul 2>nul
if %errorlevel% neq 0 (
    echo ❌ Rust 未安装，请先安装:
    echo    访问 https://rustup.rs/ 下载安装程序
    pause
    exit /b 1
)

for /f "tokens=*" %%a in ('cargo --version') do set CARGO_VERSION=%%a
echo ✓ Rust 已安装 (!CARGO_VERSION!)
echo.

:: 步骤1: 构建 ui
echo 📦 步骤 1/4: 构建 ui 应用...
cd ui
call npm install
if %errorlevel% neq 0 (
    echo ❌ npm install 失败
    pause
    exit /b 1
)

call npm run build
if %errorlevel% neq 0 (
    echo ❌ 构建 ui 失败
    pause
    exit /b 1
)

:: 复制 API 数据
if exist "dist-web\api" rmdir /s /q "dist-web\api"
xcopy /e /i /y "public\api" "dist-web\api"
cd ..

:: 步骤2: 安装依赖
echo 📦 步骤 2/4: 安装 Tauri 依赖...
cd desktop
call npm install
if %errorlevel% neq 0 (
    echo ❌ npm install 失败
    pause
    exit /b 1
)

:: 步骤3: 构建 Windows 应用
echo 🔨 步骤 3/4: 构建 Windows 应用（这可能需要几分钟）...
call npx tauri build
if %errorlevel% neq 0 (
    echo ❌ 构建失败
    pause
    exit /b 1
)

:: 步骤4: 检查输出
echo ✅ 步骤 4/4: 检查输出...
echo.

set "APP_PATH=src-tauri\target\release\bundle\msi"
set "EXE_PATH=src-tauri\target\release\bundle\nsis"

echo 🎉 构建成功！
echo.
echo 📦 安装包位置:
if exist "%APP_PATH%" (
    dir /b "%APP_PATH%\*.msi" 2>nul && echo    MSI: %APP_PATH%\*.msi
)
if exist "%EXE_PATH%" (
    dir /b "%EXE_PATH%\*.exe" 2>nul && echo    EXE: %EXE_PATH%\*.exe
)

echo.
echo 🚀 运行方式:
echo    1. 安装 MSI 版本（推荐）
echo    2. 或直接运行 exe 版本
echo.
pause
