report-service/start-service.bat
2025-04-15 11:38:14 +08:00

124 lines
3.6 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
title 报告服务启动程序
:: 创建日志文件
echo 启动时间: %date% %time% > service_log.txt
:: 设置控制台颜色
color 0A
echo ======================================
echo 报告服务启动程序
echo ======================================
echo.
:: 检查 Node.js 是否安装
echo [信息] 检查 Node.js 安装状态... >> service_log.txt
where node >nul 2>nul
if %errorlevel% neq 0 (
echo [错误] 未安装 Node.js请先安装 Node.js
echo [错误] 未安装 Node.js请先安装 Node.js >> service_log.txt
echo 请访问 https://nodejs.org 下载安装
echo.
echo 按任意键退出...
pause > nul
exit /b 1
)
echo [成功] Node.js 已安装 >> service_log.txt
:: 显示 Node.js 版本
echo [信息] Node.js 版本:
node -v
node -v >> service_log.txt
:: 检查是否已安装 PM2
echo [信息] 检查 PM2 安装状态... >> service_log.txt
where pm2 >nul 2>nul
if %errorlevel% neq 0 (
echo [信息] 正在安装 PM2...
echo [信息] 正在安装 PM2... >> service_log.txt
call npm install -g pm2
if %errorlevel% neq 0 (
echo [错误] PM2 安装失败,请以管理员权限运行此脚本
echo [错误] PM2 安装失败 >> service_log.txt
echo 请右键选择"以管理员身份运行"此脚本
echo.
echo 按任意键退出...
pause > nul
exit /b 1
)
)
echo [成功] PM2 已安装 >> service_log.txt
:: 切换到脚本所在目录
echo [信息] 切换工作目录... >> service_log.txt
cd /d "%~dp0"
echo 当前工作目录: %cd%
echo 当前工作目录: %cd% >> service_log.txt
:: 检查是否存在 package.json
echo [信息] 检查 package.json... >> service_log.txt
dir package.json 2>nul | find "package.json" >nul
if %errorlevel% neq 0 (
echo [错误] 未找到 package.json 文件
echo [错误] 未找到 package.json 文件 >> service_log.txt
echo 请确保在正确的项目目录中运行此脚本
echo 当前目录: %cd%
echo.
echo 目录内容:
dir
echo.
echo 按任意键退出...
pause > nul
exit /b 1
)
echo [成功] 找到 package.json >> service_log.txt
:: 安装依赖
echo [信息] 正在安装项目依赖...
echo [信息] 正在安装项目依赖... >> service_log.txt
call npm install >> service_log.txt 2>&1
if %errorlevel% neq 0 (
echo [错误] 依赖安装失败
echo [错误] 依赖安装失败 >> service_log.txt
echo 详细错误信息请查看 service_log.txt
echo.
echo 按任意键退出...
pause > nul
exit /b 1
)
echo [成功] 依赖安装完成 >> service_log.txt
:: 检查服务是否已在运行
echo [信息] 检查服务状态... >> service_log.txt
call pm2 list | findstr "report-service" >nul
if %errorlevel% equ 0 (
echo [信息] 服务已在运行,正在重启...
echo [信息] 服务已在运行,正在重启... >> service_log.txt
call pm2 restart report-service >> service_log.txt 2>&1
) else (
echo [信息] 正在启动服务...
echo [信息] 正在启动服务... >> service_log.txt
call pm2 start server.js --name "report-service" >> service_log.txt 2>&1
)
:: 显示服务状态
echo.
echo [信息] 服务状态:
call pm2 list
call pm2 list >> service_log.txt
echo.
echo [成功] 服务已启动!
echo [成功] 服务已启动! >> service_log.txt
echo 访问地址: http://localhost:3000
echo.
echo 提示:请不要关闭此窗口,服务将在后台继续运行
echo 如需停止服务,请运行 stop-service.bat
echo 如遇问题,请查看 service_log.txt 文件了解详细信息
echo ======================================
echo.
echo 按任意键继续...
pause > nul