从 Simple-FR 拆出 Platform.Server 并重命名为 MiGu.Server;frontends 源码与构建脚本迁入本仓库。地图监控在 projection/cars 失败或为空时回退 reflection 车辆列表;Simple 仓库已移除旧 Platform.Server。 Co-authored-by: Cursor <cursoragent@cursor.com>
93 lines
2.4 KiB
Batchfile
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
|