261 lines
7.5 KiB
Batchfile
261 lines
7.5 KiB
Batchfile
@echo off
|
|
chcp 65001 >nul 2>&1
|
|
setlocal enabledelayedexpansion
|
|
|
|
:: ========================================
|
|
:: Education System - Windows Startup Script
|
|
:: ========================================
|
|
|
|
:MAIN_MENU
|
|
cls
|
|
echo ========================================
|
|
echo Education System - Smart Launcher
|
|
echo 教务系统 - 智能启动器
|
|
echo ========================================
|
|
echo.
|
|
echo Select an option / 请选择一个选项:
|
|
echo.
|
|
echo [0] Start All Industries / 启动所有产业
|
|
echo --------------
|
|
echo [1] Cultural Tourism / 文旅产业 (Port: 5150)
|
|
echo [2] Smart Manufacturing / 智能制造 (Port: 5151)
|
|
echo [3] Smart Development / 智能开发 (Port: 5152)
|
|
echo [4] Finance and Commerce / 财经商贸 (Port: 5153)
|
|
echo [5] Visual Design / 视觉设计 (Port: 5154)
|
|
echo [6] Transportation / 交通物流 (Port: 5155)
|
|
echo [7] Healthcare / 大健康 (Port: 5156)
|
|
echo [8] Civil Engineering / 土木水利 (Port: 5157)
|
|
echo [9] Food Industry / 食品产业 (Port: 5158)
|
|
echo [10] Chemical Industry / 化工产业 (Port: 5159)
|
|
echo [11] Energy Industry / 能源产业 (Port: 5160)
|
|
echo [12] Environmental / 环保产业 (Port: 5161)
|
|
echo --------------
|
|
echo [A] Stop All / 停止所有
|
|
echo [S] Status / 查看状态
|
|
echo [Q] Exit / 退出
|
|
echo.
|
|
|
|
set /p choice="Enter your choice / 请输入选项: "
|
|
|
|
if "%choice%"=="0" goto START_ALL
|
|
if "%choice%"=="1" goto START_1
|
|
if "%choice%"=="2" goto START_2
|
|
if "%choice%"=="3" goto START_3
|
|
if "%choice%"=="4" goto START_4
|
|
if "%choice%"=="5" goto START_5
|
|
if "%choice%"=="6" goto START_6
|
|
if "%choice%"=="7" goto START_7
|
|
if "%choice%"=="8" goto START_8
|
|
if "%choice%"=="9" goto START_9
|
|
if "%choice%"=="10" goto START_10
|
|
if "%choice%"=="11" goto START_11
|
|
if "%choice%"=="12" goto START_12
|
|
if /i "%choice%"=="A" goto STOP_ALL
|
|
if /i "%choice%"=="S" goto CHECK_STATUS
|
|
if /i "%choice%"=="Q" goto EXIT
|
|
|
|
echo Invalid option! / 无效选项!
|
|
timeout /t 2 >nul
|
|
goto MAIN_MENU
|
|
|
|
:START_ALL
|
|
echo.
|
|
echo Starting all industries... / 正在启动所有产业...
|
|
call :START_INDUSTRY frontend "Cultural Tourism / 文旅产业" 5150
|
|
call :START_INDUSTRY frontend_智能制造 "Smart Manufacturing / 智能制造" 5151
|
|
call :START_INDUSTRY frontend_智能开发 "Smart Development / 智能开发" 5152
|
|
call :START_INDUSTRY frontend_财经商贸 "Finance Commerce / 财经商贸" 5153
|
|
call :START_INDUSTRY frontend_视觉设计 "Visual Design / 视觉设计" 5154
|
|
call :START_INDUSTRY frontend_交通物流 "Transportation / 交通物流" 5155
|
|
call :START_INDUSTRY frontend_大健康 "Healthcare / 大健康" 5156
|
|
call :START_INDUSTRY frontend_土木水利 "Civil Engineering / 土木水利" 5157
|
|
call :START_INDUSTRY frontend_食品 "Food Industry / 食品产业" 5158
|
|
call :START_INDUSTRY frontend_化工 "Chemical Industry / 化工产业" 5159
|
|
call :START_INDUSTRY frontend_能源 "Energy Industry / 能源产业" 5160
|
|
call :START_INDUSTRY frontend_环保 "Environmental / 环保产业" 5161
|
|
echo.
|
|
echo All industries started! / 所有产业已启动!
|
|
pause
|
|
goto MAIN_MENU
|
|
|
|
:START_1
|
|
call :START_INDUSTRY frontend "Cultural Tourism / 文旅产业" 5150
|
|
pause
|
|
goto MAIN_MENU
|
|
|
|
:START_2
|
|
call :START_INDUSTRY frontend_智能制造 "Smart Manufacturing / 智能制造" 5151
|
|
pause
|
|
goto MAIN_MENU
|
|
|
|
:START_3
|
|
call :START_INDUSTRY frontend_智能开发 "Smart Development / 智能开发" 5152
|
|
pause
|
|
goto MAIN_MENU
|
|
|
|
:START_4
|
|
call :START_INDUSTRY frontend_财经商贸 "Finance Commerce / 财经商贸" 5153
|
|
pause
|
|
goto MAIN_MENU
|
|
|
|
:START_5
|
|
call :START_INDUSTRY frontend_视觉设计 "Visual Design / 视觉设计" 5154
|
|
pause
|
|
goto MAIN_MENU
|
|
|
|
:START_6
|
|
call :START_INDUSTRY frontend_交通物流 "Transportation / 交通物流" 5155
|
|
pause
|
|
goto MAIN_MENU
|
|
|
|
:START_7
|
|
call :START_INDUSTRY frontend_大健康 "Healthcare / 大健康" 5156
|
|
pause
|
|
goto MAIN_MENU
|
|
|
|
:START_8
|
|
call :START_INDUSTRY frontend_土木水利 "Civil Engineering / 土木水利" 5157
|
|
pause
|
|
goto MAIN_MENU
|
|
|
|
:START_9
|
|
call :START_INDUSTRY frontend_食品 "Food Industry / 食品产业" 5158
|
|
pause
|
|
goto MAIN_MENU
|
|
|
|
:START_10
|
|
call :START_INDUSTRY frontend_化工 "Chemical Industry / 化工产业" 5159
|
|
pause
|
|
goto MAIN_MENU
|
|
|
|
:START_11
|
|
call :START_INDUSTRY frontend_能源 "Energy Industry / 能源产业" 5160
|
|
pause
|
|
goto MAIN_MENU
|
|
|
|
:START_12
|
|
call :START_INDUSTRY frontend_环保 "Environmental / 环保产业" 5161
|
|
pause
|
|
goto MAIN_MENU
|
|
|
|
:START_INDUSTRY
|
|
set dir=%1
|
|
set name=%2
|
|
set port=%3
|
|
|
|
echo.
|
|
echo ========================================
|
|
echo Starting: %name%
|
|
echo Port: %port%
|
|
echo ========================================
|
|
|
|
if not exist %dir% (
|
|
echo ERROR: Directory %dir% does not exist!
|
|
echo 错误: 目录 %dir% 不存在!
|
|
exit /b 1
|
|
)
|
|
|
|
netstat -an | findstr ":%port%" >nul 2>&1
|
|
if %errorlevel%==0 (
|
|
echo WARNING: Port %port% is already in use
|
|
echo 警告: 端口 %port% 已被占用
|
|
set /p stop_choice="Stop existing service? (y/n) / 停止现有服务? (y/n): "
|
|
if /i "!stop_choice!"=="y" (
|
|
echo Stopping service... / 正在停止服务...
|
|
for /f "tokens=5" %%a in ('netstat -aon ^| findstr ":%port%"') do (
|
|
taskkill /F /PID %%a >nul 2>&1
|
|
)
|
|
timeout /t 2 >nul
|
|
) else (
|
|
echo Skipping... / 跳过...
|
|
exit /b 1
|
|
)
|
|
)
|
|
|
|
cd %dir% 2>nul
|
|
if not exist node_modules (
|
|
echo INFO: Installing dependencies... / 正在安装依赖...
|
|
echo Please wait 1-3 minutes... / 请等待1-3分钟...
|
|
call npm install
|
|
if !errorlevel! neq 0 (
|
|
echo ERROR: Installation failed! / 安装失败!
|
|
cd ..
|
|
exit /b 1
|
|
)
|
|
echo SUCCESS: Dependencies installed! / 依赖安装完成!
|
|
) else (
|
|
echo INFO: Dependencies exist / 依赖已存在
|
|
)
|
|
|
|
echo INFO: Starting service... / 正在启动服务...
|
|
start /min cmd /c "npm run dev"
|
|
cd ..
|
|
|
|
echo Waiting for startup... / 等待启动...
|
|
timeout /t 3 >nul
|
|
|
|
netstat -an | findstr ":%port%" >nul 2>&1
|
|
if %errorlevel%==0 (
|
|
echo SUCCESS: Started successfully! / 启动成功!
|
|
echo.
|
|
echo Access URL: http://localhost:%port%
|
|
echo 访问地址: http://localhost:%port%
|
|
echo.
|
|
) else (
|
|
echo ERROR: Failed to start! / 启动失败!
|
|
exit /b 1
|
|
)
|
|
|
|
exit /b 0
|
|
|
|
:STOP_ALL
|
|
echo.
|
|
echo Stopping all services... / 正在停止所有服务...
|
|
taskkill /F /IM node.exe >nul 2>&1
|
|
if %errorlevel%==0 (
|
|
echo All services stopped! / 所有服务已停止!
|
|
) else (
|
|
echo No services running / 没有运行的服务
|
|
)
|
|
pause
|
|
goto MAIN_MENU
|
|
|
|
:CHECK_STATUS
|
|
cls
|
|
echo ========================================
|
|
echo Industry Status / 产业运行状态
|
|
echo ========================================
|
|
echo.
|
|
call :CHECK_PORT 5150 "Cultural Tourism / 文旅产业"
|
|
call :CHECK_PORT 5151 "Smart Manufacturing / 智能制造"
|
|
call :CHECK_PORT 5152 "Smart Development / 智能开发"
|
|
call :CHECK_PORT 5153 "Finance Commerce / 财经商贸"
|
|
call :CHECK_PORT 5154 "Visual Design / 视觉设计"
|
|
call :CHECK_PORT 5155 "Transportation / 交通物流"
|
|
call :CHECK_PORT 5156 "Healthcare / 大健康"
|
|
call :CHECK_PORT 5157 "Civil Engineering / 土木水利"
|
|
call :CHECK_PORT 5158 "Food Industry / 食品产业"
|
|
call :CHECK_PORT 5159 "Chemical Industry / 化工产业"
|
|
call :CHECK_PORT 5160 "Energy Industry / 能源产业"
|
|
call :CHECK_PORT 5161 "Environmental / 环保产业"
|
|
echo.
|
|
echo Press any key to continue... / 按任意键继续...
|
|
pause >nul
|
|
goto MAIN_MENU
|
|
|
|
:CHECK_PORT
|
|
set port=%1
|
|
set name=%2
|
|
netstat -an | findstr ":%port%" >nul 2>&1
|
|
if %errorlevel%==0 (
|
|
echo [RUNNING] %name% - Port: %port%
|
|
echo URL: http://localhost:%port%
|
|
) else (
|
|
echo [STOPPED] %name% - Port: %port%
|
|
)
|
|
exit /b 0
|
|
|
|
:EXIT
|
|
echo Goodbye! / 再见!
|
|
timeout /t 1 >nul
|
|
exit |