255 lines
6.0 KiB
Batchfile
255 lines
6.0 KiB
Batchfile
|
|
@echo off
|
|||
|
|
chcp 65001 >nul
|
|||
|
|
setlocal enabledelayedexpansion
|
|||
|
|
|
|||
|
|
:: ========================================
|
|||
|
|
:: 教务系统 - Windows智能启动脚本
|
|||
|
|
:: ========================================
|
|||
|
|
|
|||
|
|
:: 颜色定义
|
|||
|
|
color 0A
|
|||
|
|
|
|||
|
|
:: 清屏并显示标题
|
|||
|
|
:MAIN_MENU
|
|||
|
|
cls
|
|||
|
|
echo ========================================
|
|||
|
|
echo 教务系统 - 智能启动脚本 (Windows)
|
|||
|
|
echo ========================================
|
|||
|
|
echo.
|
|||
|
|
echo 请选择操作:
|
|||
|
|
echo.
|
|||
|
|
echo 0) 启动所有产业
|
|||
|
|
echo --------------
|
|||
|
|
echo 1) 文旅产业 (端口: 5150)
|
|||
|
|
echo 2) 智能制造 (端口: 5151)
|
|||
|
|
echo 3) 智能开发 (端口: 5152)
|
|||
|
|
echo 4) 财经商贸 (端口: 5153)
|
|||
|
|
echo 5) 视觉设计 (端口: 5154)
|
|||
|
|
echo 6) 交通物流 (端口: 5155)
|
|||
|
|
echo 7) 大健康 (端口: 5156)
|
|||
|
|
echo 8) 土木水利 (端口: 5157)
|
|||
|
|
echo 9) 食品产业 (端口: 5158)
|
|||
|
|
echo 10) 化工产业 (端口: 5159)
|
|||
|
|
echo 11) 能源产业 (端口: 5160)
|
|||
|
|
echo 12) 环保产业 (端口: 5161)
|
|||
|
|
echo --------------
|
|||
|
|
echo a) 停止所有产业
|
|||
|
|
echo s) 查看运行状态
|
|||
|
|
echo q) 退出
|
|||
|
|
echo.
|
|||
|
|
|
|||
|
|
set /p 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 无效选项!
|
|||
|
|
timeout /t 2 >nul
|
|||
|
|
goto MAIN_MENU
|
|||
|
|
|
|||
|
|
:START_ALL
|
|||
|
|
echo.
|
|||
|
|
echo 正在启动所有产业...
|
|||
|
|
call :START_INDUSTRY frontend "文旅产业" 5150
|
|||
|
|
call :START_INDUSTRY frontend_智能制造 "智能制造" 5151
|
|||
|
|
call :START_INDUSTRY frontend_智能开发 "智能开发" 5152
|
|||
|
|
call :START_INDUSTRY frontend_财经商贸 "财经商贸" 5153
|
|||
|
|
call :START_INDUSTRY frontend_视觉设计 "视觉设计" 5154
|
|||
|
|
call :START_INDUSTRY frontend_交通物流 "交通物流" 5155
|
|||
|
|
call :START_INDUSTRY frontend_大健康 "大健康" 5156
|
|||
|
|
call :START_INDUSTRY frontend_土木水利 "土木水利" 5157
|
|||
|
|
call :START_INDUSTRY frontend_食品 "食品产业" 5158
|
|||
|
|
call :START_INDUSTRY frontend_化工 "化工产业" 5159
|
|||
|
|
call :START_INDUSTRY frontend_能源 "能源产业" 5160
|
|||
|
|
call :START_INDUSTRY frontend_环保 "环保产业" 5161
|
|||
|
|
echo.
|
|||
|
|
echo 所有产业启动完成!
|
|||
|
|
pause
|
|||
|
|
goto MAIN_MENU
|
|||
|
|
|
|||
|
|
:START_1
|
|||
|
|
call :START_INDUSTRY frontend "文旅产业" 5150
|
|||
|
|
pause
|
|||
|
|
goto MAIN_MENU
|
|||
|
|
|
|||
|
|
:START_2
|
|||
|
|
call :START_INDUSTRY frontend_智能制造 "智能制造" 5151
|
|||
|
|
pause
|
|||
|
|
goto MAIN_MENU
|
|||
|
|
|
|||
|
|
:START_3
|
|||
|
|
call :START_INDUSTRY frontend_智能开发 "智能开发" 5152
|
|||
|
|
pause
|
|||
|
|
goto MAIN_MENU
|
|||
|
|
|
|||
|
|
:START_4
|
|||
|
|
call :START_INDUSTRY frontend_财经商贸 "财经商贸" 5153
|
|||
|
|
pause
|
|||
|
|
goto MAIN_MENU
|
|||
|
|
|
|||
|
|
:START_5
|
|||
|
|
call :START_INDUSTRY frontend_视觉设计 "视觉设计" 5154
|
|||
|
|
pause
|
|||
|
|
goto MAIN_MENU
|
|||
|
|
|
|||
|
|
:START_6
|
|||
|
|
call :START_INDUSTRY frontend_交通物流 "交通物流" 5155
|
|||
|
|
pause
|
|||
|
|
goto MAIN_MENU
|
|||
|
|
|
|||
|
|
:START_7
|
|||
|
|
call :START_INDUSTRY frontend_大健康 "大健康" 5156
|
|||
|
|
pause
|
|||
|
|
goto MAIN_MENU
|
|||
|
|
|
|||
|
|
:START_8
|
|||
|
|
call :START_INDUSTRY frontend_土木水利 "土木水利" 5157
|
|||
|
|
pause
|
|||
|
|
goto MAIN_MENU
|
|||
|
|
|
|||
|
|
:START_9
|
|||
|
|
call :START_INDUSTRY frontend_食品 "食品产业" 5158
|
|||
|
|
pause
|
|||
|
|
goto MAIN_MENU
|
|||
|
|
|
|||
|
|
:START_10
|
|||
|
|
call :START_INDUSTRY frontend_化工 "化工产业" 5159
|
|||
|
|
pause
|
|||
|
|
goto MAIN_MENU
|
|||
|
|
|
|||
|
|
:START_11
|
|||
|
|
call :START_INDUSTRY frontend_能源 "能源产业" 5160
|
|||
|
|
pause
|
|||
|
|
goto MAIN_MENU
|
|||
|
|
|
|||
|
|
:START_12
|
|||
|
|
call :START_INDUSTRY frontend_环保 "环保产业" 5161
|
|||
|
|
pause
|
|||
|
|
goto MAIN_MENU
|
|||
|
|
|
|||
|
|
:: 启动单个产业的函数
|
|||
|
|
:START_INDUSTRY
|
|||
|
|
set dir=%1
|
|||
|
|
set name=%2
|
|||
|
|
set port=%3
|
|||
|
|
|
|||
|
|
echo.
|
|||
|
|
echo ========================================
|
|||
|
|
echo 启动 %name% (端口: %port%)
|
|||
|
|
echo ========================================
|
|||
|
|
|
|||
|
|
:: 检查目录是否存在
|
|||
|
|
if not exist "%dir%" (
|
|||
|
|
echo [错误] 目录 %dir% 不存在!
|
|||
|
|
exit /b 1
|
|||
|
|
)
|
|||
|
|
|
|||
|
|
:: 检查端口是否被占用
|
|||
|
|
netstat -an | findstr ":%port%" >nul
|
|||
|
|
if %errorlevel%==0 (
|
|||
|
|
echo [警告] 端口 %port% 已被占用
|
|||
|
|
set /p stop_choice=是否停止现有服务并重启?(y/n):
|
|||
|
|
if /i "!stop_choice!"=="y" (
|
|||
|
|
echo 正在停止端口 %port% 的服务...
|
|||
|
|
for /f "tokens=5" %%a in ('netstat -aon ^| findstr ":%port%"') do (
|
|||
|
|
taskkill /F /PID %%a >nul 2>&1
|
|||
|
|
)
|
|||
|
|
timeout /t 2 >nul
|
|||
|
|
) else (
|
|||
|
|
echo 跳过 %name%
|
|||
|
|
exit /b 1
|
|||
|
|
)
|
|||
|
|
)
|
|||
|
|
|
|||
|
|
:: 检查并安装依赖
|
|||
|
|
cd %dir%
|
|||
|
|
if not exist "node_modules" (
|
|||
|
|
echo [信息] 检测到依赖未安装,正在安装...
|
|||
|
|
echo 这可能需要1-3分钟,请稍候...
|
|||
|
|
call npm install
|
|||
|
|
if !errorlevel! neq 0 (
|
|||
|
|
echo [错误] %name% 依赖安装失败!
|
|||
|
|
cd ..
|
|||
|
|
exit /b 1
|
|||
|
|
)
|
|||
|
|
echo [成功] %name% 依赖安装成功!
|
|||
|
|
) else (
|
|||
|
|
echo [信息] %name% 依赖已存在
|
|||
|
|
)
|
|||
|
|
|
|||
|
|
:: 启动服务
|
|||
|
|
echo [信息] 正在启动 %name%...
|
|||
|
|
start /min cmd /c "npm run dev"
|
|||
|
|
cd ..
|
|||
|
|
|
|||
|
|
timeout /t 3 >nul
|
|||
|
|
|
|||
|
|
:: 验证启动
|
|||
|
|
netstat -an | findstr ":%port%" >nul
|
|||
|
|
if %errorlevel%==0 (
|
|||
|
|
echo [成功] %name% 启动成功!
|
|||
|
|
echo 访问地址: http://localhost:%port%
|
|||
|
|
) else (
|
|||
|
|
echo [错误] %name% 启动失败!
|
|||
|
|
exit /b 1
|
|||
|
|
)
|
|||
|
|
|
|||
|
|
exit /b 0
|
|||
|
|
|
|||
|
|
:STOP_ALL
|
|||
|
|
echo.
|
|||
|
|
echo 正在停止所有产业服务...
|
|||
|
|
:: 停止所有node进程
|
|||
|
|
taskkill /F /IM node.exe >nul 2>&1
|
|||
|
|
echo 所有服务已停止
|
|||
|
|
pause
|
|||
|
|
goto MAIN_MENU
|
|||
|
|
|
|||
|
|
:CHECK_STATUS
|
|||
|
|
cls
|
|||
|
|
echo ========================================
|
|||
|
|
echo 产业运行状态检查
|
|||
|
|
echo ========================================
|
|||
|
|
echo.
|
|||
|
|
call :CHECK_PORT 5150 "文旅产业"
|
|||
|
|
call :CHECK_PORT 5151 "智能制造"
|
|||
|
|
call :CHECK_PORT 5152 "智能开发"
|
|||
|
|
call :CHECK_PORT 5153 "财经商贸"
|
|||
|
|
call :CHECK_PORT 5154 "视觉设计"
|
|||
|
|
call :CHECK_PORT 5155 "交通物流"
|
|||
|
|
call :CHECK_PORT 5156 "大健康"
|
|||
|
|
call :CHECK_PORT 5157 "土木水利"
|
|||
|
|
call :CHECK_PORT 5158 "食品产业"
|
|||
|
|
call :CHECK_PORT 5159 "化工产业"
|
|||
|
|
call :CHECK_PORT 5160 "能源产业"
|
|||
|
|
call :CHECK_PORT 5161 "环保产业"
|
|||
|
|
echo.
|
|||
|
|
pause
|
|||
|
|
goto MAIN_MENU
|
|||
|
|
|
|||
|
|
:CHECK_PORT
|
|||
|
|
netstat -an | findstr ":%1" >nul
|
|||
|
|
if %errorlevel%==0 (
|
|||
|
|
echo [运行中] %2 (端口: %1) - http://localhost:%1
|
|||
|
|
) else (
|
|||
|
|
echo [未启动] %2 (端口: %1)
|
|||
|
|
)
|
|||
|
|
exit /b 0
|
|||
|
|
|
|||
|
|
:EXIT
|
|||
|
|
echo 再见!
|
|||
|
|
exit
|