Files
ALL-teach_sys/start-industry.bat
KQL 743c8d4d67 添加Windows支持脚本
- start-industry.bat: Windows批处理脚本
- start-industry.ps1: PowerShell脚本(功能更强大)

现在支持跨平台使用:
- Linux/Mac: ./start-industry.sh
- Windows CMD: start-industry.bat
- Windows PowerShell: .\start-industry.ps1
2025-09-24 14:27:13 +08:00

255 lines
6.0 KiB
Batchfile
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

@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