Files
Migu2.0/build-platform-frontend.bat
zhaowei.huangandCursor 42978930ca feat: 迁入 MiGu.Server、平台前端与车辆列表 reflection 回退
从 Simple-FR 拆出 Platform.Server 并重命名为 MiGu.Server;frontends 源码与构建脚本迁入本仓库。地图监控在 projection/cars 失败或为空时回退 reflection 车辆列表;Simple 仓库已移除旧 Platform.Server。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-29 18:16:34 +08:00

93 lines
2.4 KiB
Batchfile

@echo off
chcp 65001 >nul 2>nul
setlocal enableextensions
rem ============================================================================
rem Migu2.0 platform frontend build (sync to MiGu.Server\wwwroot)
rem ----------------------------------------------------------------------------
rem Usage:
rem build-platform-frontend.bat [--reinstall] [--npm | --pnpm] [--no-start]
rem ============================================================================
set "ROOT=%~dp0"
set "FE_ROOT=%ROOT%frontends"
set "FE_APP=%ROOT%frontends\apps\simple-platform-vue"
set "DEST=%ROOT%MiGu.Server\wwwroot"
set "MIGU_BAT=%ROOT%MiGu.Server\build-and-run.bat"
set "NEED_INSTALL=0"
set "FORCE_PM="
set "START_MODE=platform"
:argloop
if "%~1"=="" goto argdone
if /I "%~1"=="--reinstall" set "NEED_INSTALL=1"
if /I "%~1"=="--npm" set "FORCE_PM=npm"
if /I "%~1"=="--pnpm" set "FORCE_PM=pnpm"
if /I "%~1"=="--no-start" set "START_MODE=none"
shift
goto argloop
:argdone
set "PM=%FORCE_PM%"
if "%PM%"=="" (
where pnpm >nul 2>nul
if not errorlevel 1 set "PM=pnpm"
)
if "%PM%"=="" set "PM=npm"
echo ============================================================
echo Migu2.0 platform frontend build
echo workspace : %FE_ROOT%
echo wwwroot : %DEST%
echo pm : %PM%
echo ============================================================
if not exist "%FE_ROOT%\package.json" (
echo [ERROR] Missing %FE_ROOT%\package.json
exit /b 1
)
pushd "%FE_ROOT%"
if errorlevel 1 exit /b 1
if not exist "node_modules" set "NEED_INSTALL=1"
if "%NEED_INSTALL%"=="1" (
echo [1/3] %PM% install ...
call %PM% install
if errorlevel 1 ( popd & exit /b 1 )
) else (
echo [1/3] node_modules exists, skip install. Use --reinstall to force.
)
echo [2/3] %PM% --filter simple-platform-vue build ...
if /I "%PM%"=="pnpm" (
call pnpm --filter simple-platform-vue build
) else (
pushd "%FE_APP%"
call npm run build
popd
)
if errorlevel 1 ( popd & exit /b 1 )
popd
if not exist "%FE_APP%\dist\index.html" (
echo [ERROR] dist not found
exit /b 1
)
echo [3/3] robocopy dist to wwwroot ...
if not exist "%DEST%" mkdir "%DEST%"
robocopy "%FE_APP%\dist" "%DEST%" /MIR /NFL /NDL /NJH /NJS /NP
set "RC=%ERRORLEVEL%"
if %RC% GEQ 8 exit /b %RC%
echo Done: %DEST%
if /I "%START_MODE%"=="none" exit /b 0
if not exist "%MIGU_BAT%" (
echo [WARN] Missing %MIGU_BAT%
exit /b 0
)
start "" cmd /k "%MIGU_BAT%"
exit /b 0