-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathstart-hims-prod.bat
More file actions
135 lines (117 loc) · 4.01 KB
/
start-hims-prod.bat
File metadata and controls
135 lines (117 loc) · 4.01 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
@echo off
chcp 65001 >nul
echo 正在启动医院管理系统(生产环境)...
rem 设置工作目录
set "projectRoot=%~dp0"
set "backendDir=%projectRoot%backend"
set "frontendDir=%projectRoot%frontend"
set "configFile=%projectRoot%start-hims-config.bat"
rem 加载配置文件
if exist "%configFile%" (
echo 正在加载配置文件...
call "%configFile%"
) else (
echo 未找到配置文件,将使用默认配置
set MYSQL_HOST=localhost
set MYSQL_PORT=3306
set MYSQL_DATABASE=hims
set MYSQL_USERNAME=root
set MYSQL_PASSWORD=65353804778
set BACKEND_PORT=8080
set FRONTEND_PORT=3002
set STARTUP_DELAY_BACKEND=15
set STARTUP_DELAY_FRONTEND=8
)
rem 设置Java路径
if not "%JAVA_PATH%"=="" (
set "PATH=%JAVA_PATH%;%PATH%"
)
rem 设置Node路径
if not "%NODE_PATH%"=="" (
set "PATH=%NODE_PATH%;%PATH%"
)
rem 检查Java环境
echo 检查Java环境...
java -version >nul 2>&1
if %ERRORLEVEL% NEQ 0 (
echo [错误] 未检测到Java环境,请安装JDK 8或更高版本
echo 您可以从以下地址下载JDK: https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html
echo 或在start-hims-config.bat中设置JAVA_PATH变量
goto :error
)
rem 检查Node.js环境
echo 检查Node.js环境...
node -v >nul 2>&1
if %ERRORLEVEL% NEQ 0 (
echo [错误] 未检测到Node.js环境,请安装Node.js 14或更高版本
echo 您可以从以下地址下载Node.js: https://nodejs.org/
echo 或在start-hims-config.bat中设置NODE_PATH变量
goto :error
)
rem 检查MySQL服务
echo 检查MySQL服务...
sc query MySQL >nul 2>&1
if %ERRORLEVEL% NEQ 0 (
echo [警告] MySQL服务可能未启动,请确保MySQL已安装并正在运行
echo 您可以从以下地址下载MySQL: https://dev.mysql.com/downloads/installer/
echo 当前配置的MySQL连接信息:
echo 主机: %MYSQL_HOST%
echo 端口: %MYSQL_PORT%
echo 数据库: %MYSQL_DATABASE%
echo 用户名: %MYSQL_USERNAME%
choice /C YN /M "是否继续启动系统?"
if %ERRORLEVEL% EQU 2 goto :error
)
rem 检查后端目录
if not exist "%backendDir%\mvnw.cmd" (
echo [错误] 未找到后端启动文件: %backendDir%\mvnw.cmd
goto :error
)
rem 检查前端目录
if not exist "%frontendDir%\package.json" (
echo [错误] 未找到前端配置文件: %frontendDir%\package.json
goto :error
)
echo 正在构建前端生产版本...
cd /d "%frontendDir%" && npm install && npm run build
if %ERRORLEVEL% NEQ 0 (
echo [错误] 构建前端生产版本失败
goto :error
)
rem 创建临时的application-local.yml文件
echo 正在配置后端数据库连接...
(
echo spring:
echo datasource:
echo url: jdbc:mysql://%MYSQL_HOST%:%MYSQL_PORT%/%MYSQL_DATABASE%?useUnicode=true^&characterEncoding=utf-8^&serverTimezone=Asia/Shanghai^&useSSL=false^&allowPublicKeyRetrieval=true
echo username: %MYSQL_USERNAME%
echo password: %MYSQL_PASSWORD%
echo server:
echo port: %BACKEND_PORT%
) > "%backendDir%\src\main\resources\application-local.yml"
echo 环境检查完成,开始启动服务...
echo 正在启动后端服务(生产环境,端口: %BACKEND_PORT%)...
start cmd /k "cd /d "%backendDir%" && call .\mvnw.cmd spring-boot:run -Dspring-boot.run.profiles=prod,local"
echo 等待后端服务启动...
echo 正在等待后端服务启动,请稍候...
timeout /t %STARTUP_DELAY_BACKEND% /nobreak >nul
echo 正在启动前端服务(生产环境预览,端口: %FRONTEND_PORT%)...
cd /d "%frontendDir%" && npx serve -s dist -l %FRONTEND_PORT%
echo.
echo 医院管理系统(生产环境)已启动
echo 后端服务运行在 http://localhost:%BACKEND_PORT%
echo 前端服务运行在 http://localhost:%FRONTEND_PORT%
echo.
echo 如遇到问题,请检查:
echo 1. MySQL服务是否正常运行
echo 2. 端口%BACKEND_PORT%和%FRONTEND_PORT%是否被占用
echo 3. 防火墙是否阻止了应用程序
echo 4. 可以修改start-hims-config.bat文件调整配置
echo.
goto :end
:error
echo.
echo 启动失败,请解决上述问题后重试
pause
exit /b 1
:end