纳入范围: - backend/ Spring Boot 多模块后端(iot-common/device/rule/data/alarm/auth) - frontend/admin/ Vue3 + Element Plus 管理后台 - Android/ 涂鸦原生 APP (com.xhai.iot) - backend/sql/ Flyway 风格迁移脚本(V2~V21) - docs/ 对接文档与设计文档 排除范围: - 构建产物: node_modules/ target/ build/ dist/ .gradle/ - 签名密钥: *.jks *.keystore (严禁入库) - 本机配置: Android/local.properties - 运行日志: logs/ *.log - AI 协作本地数据 .codebuddy/ 与第三方 demo tuya-demo/ .gitattributes 统一以 LF 存储, Windows 批处理保留 CRLF
82 lines
2.8 KiB
Batchfile
82 lines
2.8 KiB
Batchfile
@echo off
|
||
chcp 65001 >nul
|
||
title IoT Platform - 全栈启动(使用预编译JAR)
|
||
|
||
set JAVA17=C:\Program Files\Eclipse Adoptium\jdk-17.0.19.10-hotspot\bin\java.exe
|
||
|
||
if not exist "%JAVA17%" (
|
||
echo [错误] 找不到 Java 17: %JAVA17%
|
||
echo 请确认 JDK 17 已安装在此路径
|
||
pause
|
||
exit /b 1
|
||
)
|
||
|
||
:: 各服务 JAR(注意:iot-device 带 exec classifier,其余为 fat jar 原名)
|
||
set DEV_JAR=%~dp0backend\iot-device\target\iot-device-1.0.0-exec.jar
|
||
set DATA_JAR=%~dp0backend\iot-data\target\iot-data-1.0.0.jar
|
||
set RULE_JAR=%~dp0backend\iot-rule\target\iot-rule-1.0.0.jar
|
||
set ALARM_JAR=%~dp0backend\iot-alarm\target\iot-alarm-1.0.0.jar
|
||
|
||
:: 校验 JAR 是否存在
|
||
for %%J in ("%DEV_JAR%" "%DATA_JAR%" "%RULE_JAR%" "%ALARM_JAR%") do (
|
||
if not exist %%J (
|
||
echo [错误] 找不到JAR文件: %%J
|
||
echo 请先编译: mvn -f backend/pom.xml -pl iot-device,iot-data,iot-rule,iot-alarm -am package -DskipTests
|
||
pause
|
||
exit /b 1
|
||
)
|
||
)
|
||
|
||
:: 释放已占用的后端端口(避免重跑时端口冲突)
|
||
echo [信息] 清理 9081-9084 端口旧进程...
|
||
for %%P in (9081 9082 9083 9084) do (
|
||
for /f "tokens=5" %%a in ('netstat -ano ^| findstr ":%%P.*LISTENING"') do (
|
||
taskkill /F /PID %%a >nul 2>&1
|
||
)
|
||
)
|
||
timeout /t 3 /nobreak >nul
|
||
|
||
echo ============================================
|
||
echo IoT Platform 全栈启动(4 个后端服务)
|
||
echo ============================================
|
||
echo.
|
||
|
||
echo [1/4] 启动 iot-device (端口 9081)...
|
||
start "iot-device-9081" cmd /k ""%JAVA17%" -jar "%DEV_JAR%""
|
||
|
||
echo [2/4] 启动 iot-data (端口 9082)...
|
||
start "iot-data-9082" cmd /k ""%JAVA17%" -jar "%DATA_JAR%""
|
||
|
||
echo [3/4] 启动 iot-rule (端口 9083)...
|
||
start "iot-rule-9083" cmd /k ""%JAVA17%" -jar "%RULE_JAR%""
|
||
|
||
echo [4/4] 启动 iot-alarm (端口 9084)...
|
||
start "iot-alarm-9084" cmd /k ""%JAVA17%" -jar "%ALARM_JAR%""
|
||
|
||
echo.
|
||
echo ============================================
|
||
echo 4个后端服务已在新窗口启动
|
||
echo 等待30秒后启动前端...
|
||
echo ============================================
|
||
timeout /t 30 /nobreak >nul
|
||
|
||
echo.
|
||
echo [下一步] 启动 uniapp 前端 (端口 9000)
|
||
start "uniapp-9000" cmd /k "cd /d f:\work\iotsaas\uniapp && npm run dev:h5"
|
||
|
||
echo.
|
||
echo [后台] 启动 admin 管理后台 (端口 3000)
|
||
start "admin-3000" cmd /k "cd /d f:\work\iotsaas\frontend\admin && (if not exist node_modules call npm install) && npm run dev"
|
||
|
||
echo.
|
||
echo 全部启动完成!
|
||
echo 设备服务 API: http://localhost:9081/doc.html
|
||
echo 数据服务 API: http://localhost:9082/doc.html
|
||
echo 规则服务 API: http://localhost:9083/doc.html
|
||
echo 告警服务 API: http://localhost:9084/doc.html
|
||
echo uniapp 前端: http://localhost:9000
|
||
echo admin 后台: http://localhost:3000
|
||
echo.
|
||
echo 关闭各个服务请在对应窗口中按 Ctrl+C
|
||
pause
|