@echo off
chcp 65001 >nul
setlocal EnableDelayedExpansion

set "FRONTEND_DIR=frontend"
set "BACKEND_DIR=backend"

echo ========================================
echo   前后端合并构建部署工具
echo ========================================
echo.

if "%~1"=="build" (
    echo [模式] 仅构建（不启动服务）
    call :build
    echo.
    echo [完成] 构建成功！使用 java -jar %BACKEND_DIR%\target\*.jar 运行
    goto :eof
)

if "%~1"=="" (
    echo [模式] 构建 + 启动
    call :build
    echo.
    echo [启动] 正在启动后端服务...
    cd %BACKEND_DIR%
    mvn spring-boot:run -q
    goto :eof
)

echo [错误] 用法: run.bat        (构建+运行)
echo        run.bat build   (仅构建)
goto :eof

:build
echo ---- [1/3] 前端打包（直接输出到后端 static 目录）----
cd %FRONTEND_DIR%
call npm run build
if errorlevel 1 (
    echo [错误] 前端打包失败！
    exit /b 1
)
cd ..

echo ---- [2/3] 后端打包 ----
cd %BACKEND_DIR%
call mvn package -DskipTests -q
if errorlevel 1 (
    echo [错误] 后端打包失败！
    cd ..
    exit /b 1
)
cd ..

echo ---- [3/3] 构建完成 ----
goto :eof
