feat: 添加 Windows 专用部署脚本
- deploy-windows.bat: 一键部署脚本 (Node.js + PM2) - docker-windows.bat: Docker 一键部署脚本 - manage-windows.bat: 服务管理工具 (启动/停止/日志/自启) - check-env.bat: 环境检查工具 - uninstall.bat: 卸载清理工具 - WINDOWS_DEPLOY.md: Windows 部署完整文档
This commit is contained in:
358
WINDOWS_DEPLOY.md
Normal file
358
WINDOWS_DEPLOY.md
Normal file
@@ -0,0 +1,358 @@
|
||||
# Windows 部署指南
|
||||
|
||||
## 📦 快速开始
|
||||
|
||||
### 方法一:一键部署(推荐)
|
||||
|
||||
1. **双击运行** `deploy-windows.bat`
|
||||
2. 按提示完成配置
|
||||
3. 部署完成后服务自动启动
|
||||
|
||||
### 方法二:Docker 部署
|
||||
|
||||
1. **双击运行** `docker-windows.bat`
|
||||
2. 按提示完成配置
|
||||
3. Docker 自动构建并启动
|
||||
|
||||
---
|
||||
|
||||
## 🛠️ 脚本说明
|
||||
|
||||
| 脚本文件 | 用途 |
|
||||
|---------|------|
|
||||
| `deploy-windows.bat` | 一键部署脚本(Node.js + PM2) |
|
||||
| `docker-windows.bat` | Docker 一键部署脚本 |
|
||||
| `manage-windows.bat` | 服务管理工具(启动/停止/日志) |
|
||||
| `check-env.bat` | 环境检查工具 |
|
||||
| `uninstall.bat` | 卸载清理工具 |
|
||||
|
||||
---
|
||||
|
||||
## 📋 前置要求
|
||||
|
||||
### Node.js 部署方式
|
||||
|
||||
- **Node.js** v18+ ([下载地址](https://nodejs.org/))
|
||||
- **npm**(随 Node.js 自动安装)
|
||||
|
||||
### Docker 部署方式
|
||||
|
||||
- **Docker Desktop for Windows** ([下载地址](https://www.docker.com/products/docker-desktop/))
|
||||
- 启用 WSL2 后端(推荐)
|
||||
|
||||
---
|
||||
|
||||
## 🔧 详细步骤
|
||||
|
||||
### 1. 环境检查
|
||||
|
||||
运行 `check-env.bat` 检查环境是否就绪。
|
||||
|
||||
```cmd
|
||||
.\check-env.bat
|
||||
```
|
||||
|
||||
根据输出安装缺失的组件。
|
||||
|
||||
---
|
||||
|
||||
### 2. 配置环境变量
|
||||
|
||||
编辑 `.env` 文件:
|
||||
|
||||
```env
|
||||
# 飞书配置
|
||||
FEISHU_APP_ID=cli_xxxxxxxxxx
|
||||
FEISHU_APP_SECRET=xxxxxxxxxxxxxx
|
||||
FEISHU_VERIFICATION_TOKEN=xxxxxxxxxxxxxx
|
||||
FEISHU_ENCRYPT_KEY=xxxxxxxxxxxxxx
|
||||
|
||||
# 飞书事件接收模式
|
||||
FEISHU_MODE=http
|
||||
|
||||
# 七牛云配置(可选)
|
||||
QINIU_ACCESS_KEY=xxxxxxxxxxxxxx
|
||||
QINIU_SECRET_KEY=xxxxxxxxxxxxxx
|
||||
QINIU_BUCKET=your-bucket-name
|
||||
QINIU_REGION=z0
|
||||
QINIU_DOMAIN=https://your-cdn.com
|
||||
|
||||
# 服务配置
|
||||
PORT=3030
|
||||
NODE_ENV=production
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### 3. 配置七牛云
|
||||
|
||||
编辑 `config/qiniu-config.json`:
|
||||
|
||||
```json
|
||||
{
|
||||
"buckets": {
|
||||
"default": {
|
||||
"accessKey": "YOUR_ACCESS_KEY",
|
||||
"secretKey": "YOUR_SECRET_KEY",
|
||||
"bucket": "your-bucket-name",
|
||||
"region": "z0",
|
||||
"domain": "https://your-cdn.com"
|
||||
}
|
||||
},
|
||||
"uploadPaths": {
|
||||
"ipa": "/ipa/app.ipa",
|
||||
"apk": "/apk/app.apk"
|
||||
},
|
||||
"uploadProfiles": {
|
||||
"iOS": {
|
||||
"bucket": "default",
|
||||
"path": "ipa"
|
||||
},
|
||||
"安卓": {
|
||||
"bucket": "default",
|
||||
"path": "apk"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### 4. 启动服务
|
||||
|
||||
#### 使用 PM2
|
||||
|
||||
```cmd
|
||||
.\manage-windows.bat
|
||||
```
|
||||
|
||||
选择 `1. 启动服务`
|
||||
|
||||
#### 使用 Docker
|
||||
|
||||
```cmd
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### 5. 设置开机自启
|
||||
|
||||
**PM2 方式**(需要管理员权限):
|
||||
|
||||
```cmd
|
||||
# 以管理员身份打开命令提示符
|
||||
pm2 startup
|
||||
pm2 save
|
||||
```
|
||||
|
||||
**Docker 方式**:
|
||||
|
||||
Docker Desktop 会自动随系统启动。
|
||||
|
||||
---
|
||||
|
||||
## 📊 管理命令
|
||||
|
||||
### PM2 命令
|
||||
|
||||
```cmd
|
||||
# 查看状态
|
||||
pm2 list
|
||||
|
||||
# 查看日志
|
||||
pm2 logs qiniu-bot
|
||||
|
||||
# 重启服务
|
||||
pm2 restart qiniu-bot
|
||||
|
||||
# 停止服务
|
||||
pm2 stop qiniu-bot
|
||||
|
||||
# 删除服务
|
||||
pm2 delete qiniu-bot
|
||||
|
||||
# 清空日志
|
||||
pm2 flush
|
||||
```
|
||||
|
||||
### Docker 命令
|
||||
|
||||
```cmd
|
||||
# 查看日志
|
||||
docker-compose logs -f qiniu-bot
|
||||
|
||||
# 重启服务
|
||||
docker-compose restart
|
||||
|
||||
# 停止服务
|
||||
docker-compose stop
|
||||
|
||||
# 启动服务
|
||||
docker-compose start
|
||||
|
||||
# 停止并删除
|
||||
docker-compose down
|
||||
|
||||
# 重新构建
|
||||
docker-compose build --no-cache
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🔍 故障排查
|
||||
|
||||
### 问题 1: 端口 3030 被占用
|
||||
|
||||
**解决方案:**
|
||||
|
||||
```cmd
|
||||
# 查找占用进程
|
||||
netstat -ano | findstr :3030
|
||||
|
||||
# 杀掉进程(替换 PID)
|
||||
taskkill /PID 12345 /F
|
||||
|
||||
# 或修改 .env 中的 PORT
|
||||
PORT=3031
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### 问题 2: PM2 未找到
|
||||
|
||||
**解决方案:**
|
||||
|
||||
```cmd
|
||||
# 全局安装 PM2
|
||||
npm install -g pm2
|
||||
|
||||
# 如果权限不足,以管理员身份运行
|
||||
# 或使用 yarn
|
||||
yarn global add pm2
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### 问题 3: Docker 构建失败
|
||||
|
||||
**解决方案:**
|
||||
|
||||
1. 确保 Docker Desktop 正在运行
|
||||
2. 增加 Docker 资源分配(设置 → Resources)
|
||||
3. 使用国内镜像加速器:
|
||||
|
||||
```json
|
||||
// Docker Desktop 设置 → Docker Engine
|
||||
{
|
||||
"registry-mirrors": [
|
||||
"https://docker.mirrors.ustc.edu.cn",
|
||||
"https://hub-mirror.c.163.com"
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### 问题 4: 依赖安装失败
|
||||
|
||||
**解决方案:**
|
||||
|
||||
```cmd
|
||||
# 清理缓存
|
||||
npm cache clean --force
|
||||
|
||||
# 删除 node_modules
|
||||
rmdir /s /q node_modules
|
||||
|
||||
# 重新安装
|
||||
npm install
|
||||
|
||||
# 或使用淘宝镜像
|
||||
npm config set registry https://registry.npmmirror.com
|
||||
npm install
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### 问题 5: 飞书回调失败
|
||||
|
||||
**检查清单:**
|
||||
|
||||
- [ ] 服务器有公网 IP 或使用内网穿透
|
||||
- [ ] 防火墙开放 3030 端口
|
||||
- [ ] 飞书开放平台配置正确的回调 URL
|
||||
- [ ] `.env` 中 `FEISHU_VERIFICATION_TOKEN` 和 `FEISHU_ENCRYPT_KEY` 正确
|
||||
|
||||
**测试回调 URL:**
|
||||
|
||||
```cmd
|
||||
# 使用 ngrok 内网穿透
|
||||
ngrok http 3030
|
||||
|
||||
# 将生成的 URL 配置到飞书开放平台
|
||||
# 例如:https://xxxx.ngrok.io/feishu/event
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📝 日志位置
|
||||
|
||||
### PM2 日志
|
||||
|
||||
```
|
||||
C:\Users\你的用户名\.pm2\logs\
|
||||
```
|
||||
|
||||
### Docker 日志
|
||||
|
||||
```cmd
|
||||
docker-compose logs qiniu-bot
|
||||
```
|
||||
|
||||
### 应用日志
|
||||
|
||||
```
|
||||
logs\*.log
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🧹 卸载
|
||||
|
||||
运行 `uninstall.bat` 自动清理。
|
||||
|
||||
或手动执行:
|
||||
|
||||
```cmd
|
||||
# PM2 方式
|
||||
pm2 stop qiniu-bot
|
||||
pm2 delete qiniu-bot
|
||||
rmdir /s /q node_modules
|
||||
del /q /s logs\*.*
|
||||
|
||||
# Docker 方式
|
||||
docker-compose down
|
||||
docker rmi qiniu-feishu-bot:latest
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 💡 最佳实践
|
||||
|
||||
1. **生产环境** 使用 Docker 部署(更稳定、易迁移)
|
||||
2. **开发环境** 使用 PM2 部署(调试方便)
|
||||
3. **定期备份** `config/` 和 `.env` 文件
|
||||
4. **监控日志** 使用 `pm2 logs` 或 `docker-compose logs -f`
|
||||
5. **更新部署** 先备份配置,再拉取代码,最后重启服务
|
||||
|
||||
---
|
||||
|
||||
## 📞 获取帮助
|
||||
|
||||
如遇问题,请提供以下信息:
|
||||
|
||||
1. 运行 `check-env.bat` 的输出
|
||||
2. 错误日志(`pm2 logs` 或 `docker-compose logs`)
|
||||
3. `.env` 配置(隐藏敏感信息)
|
||||
4. 操作系统版本
|
||||
95
check-env.bat
Normal file
95
check-env.bat
Normal file
@@ -0,0 +1,95 @@
|
||||
@echo off
|
||||
chcp 65001 >nul
|
||||
echo ========================================
|
||||
echo 环境检查工具
|
||||
echo ========================================
|
||||
echo.
|
||||
|
||||
REM 检查 Node.js
|
||||
echo [检查] Node.js...
|
||||
where node >nul 2>nul
|
||||
if %errorlevel% neq 0 (
|
||||
echo [✗] 未安装 Node.js
|
||||
echo 下载地址:https://nodejs.org/
|
||||
) else (
|
||||
for /f "tokens=2" %%i in ('node -v') do echo [✓] Node.js 版本:%%i
|
||||
)
|
||||
|
||||
echo.
|
||||
echo [检查] npm...
|
||||
where npm >nul 2>nul
|
||||
if %errorlevel% neq 0 (
|
||||
echo [✗] 未安装 npm
|
||||
) else (
|
||||
for /f "tokens=*" %%i in ('npm -v') do echo [✓] npm 版本:%%i
|
||||
)
|
||||
|
||||
echo.
|
||||
echo [检查] PM2...
|
||||
where pm2 >nul 2>nul
|
||||
if %errorlevel% neq 0 (
|
||||
echo [✗] 未安装 PM2
|
||||
echo 运行:npm install -g pm2
|
||||
) else (
|
||||
for /f "tokens=3" %%i in ('pm2 -v') do echo [✓] PM2 版本:%%i
|
||||
)
|
||||
|
||||
echo.
|
||||
echo [检查] Docker...
|
||||
where docker >nul 2>nul
|
||||
if %errorlevel% neq 0 (
|
||||
echo [✗] 未安装 Docker
|
||||
echo 下载地址:https://www.docker.com/products/docker-desktop/
|
||||
) else (
|
||||
for /f "tokens=*" %%i in ('docker --version') do echo [✓] Docker: %%i
|
||||
)
|
||||
|
||||
echo.
|
||||
echo [检查] 端口 3030...
|
||||
netstat -ano | findstr :3030 >nul 2>nul
|
||||
if %errorlevel% equ 0 (
|
||||
echo [⚠] 端口 3030 已被占用
|
||||
echo 占用进程 PID:
|
||||
netstat -ano | findstr :3030
|
||||
) else (
|
||||
echo [✓] 端口 3030 可用
|
||||
)
|
||||
|
||||
echo.
|
||||
echo [检查] .env 文件...
|
||||
if exist .env (
|
||||
echo [✓] .env 文件存在
|
||||
echo.
|
||||
echo [检查] 环境变量配置:
|
||||
findstr /C:"FEISHU_APP_ID=" .env
|
||||
findstr /C:"FEISHU_APP_SECRET=" .env
|
||||
findstr /C:"FEISHU_VERIFICATION_TOKEN=" .env
|
||||
findstr /C:"FEISHU_ENCRYPT_KEY=" .env
|
||||
) else (
|
||||
echo [✗] .env 文件不存在
|
||||
echo 请复制 .env.example 并配置
|
||||
)
|
||||
|
||||
echo.
|
||||
echo [检查] node_modules...
|
||||
if exist node_modules (
|
||||
echo [✓] 依赖已安装
|
||||
) else (
|
||||
echo [✗] 依赖未安装
|
||||
echo 运行:npm install
|
||||
)
|
||||
|
||||
echo.
|
||||
echo [检查] config 目录...
|
||||
if exist config\qiniu-config.json (
|
||||
echo [✓] 配置文件存在
|
||||
) else (
|
||||
echo [✗] 配置文件不存在
|
||||
echo 请创建 config\qiniu-config.json
|
||||
)
|
||||
|
||||
echo.
|
||||
echo ========================================
|
||||
echo 检查完成!
|
||||
echo ========================================
|
||||
pause
|
||||
107
deploy-windows.bat
Normal file
107
deploy-windows.bat
Normal file
@@ -0,0 +1,107 @@
|
||||
@echo off
|
||||
chcp 65001 >nul
|
||||
echo ========================================
|
||||
echo 七牛云上传 - 飞书机器人 Windows 部署
|
||||
echo ========================================
|
||||
echo.
|
||||
|
||||
REM 检查 Node.js
|
||||
where node >nul 2>nul
|
||||
if %errorlevel% neq 0 (
|
||||
echo [错误] 未检测到 Node.js
|
||||
echo 请先安装 Node.js v18+: https://nodejs.org/
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
for /f "tokens=2" %%i in ('node -v') do set NODE_VERSION=%%i
|
||||
echo [✓] Node.js 版本:%NODE_VERSION%
|
||||
|
||||
REM 检查 npm
|
||||
where npm >nul 2>nul
|
||||
if %errorlevel% neq 0 (
|
||||
echo [错误] 未检测到 npm
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
echo.
|
||||
echo [步骤 1/5] 安装依赖...
|
||||
call npm install
|
||||
if %errorlevel% neq 0 (
|
||||
echo [错误] 依赖安装失败
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
echo [✓] 依赖安装完成
|
||||
|
||||
echo.
|
||||
echo [步骤 2/5] 配置环境变量...
|
||||
if not exist .env (
|
||||
copy .env.example .env
|
||||
echo [✓] 已创建 .env 文件
|
||||
echo.
|
||||
echo !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
echo [重要] 请编辑 .env 文件并填入配置信息
|
||||
echo !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
echo.
|
||||
notepad .env
|
||||
echo.
|
||||
set /p CONTINUE="配置完成后按回车继续..."
|
||||
) else (
|
||||
echo [✓] .env 文件已存在
|
||||
)
|
||||
|
||||
echo.
|
||||
echo [步骤 3/5] 创建必要目录...
|
||||
if not exist logs mkdir logs
|
||||
if not exist config mkdir config
|
||||
echo [✓] 目录创建完成
|
||||
|
||||
echo.
|
||||
echo [步骤 4/5] 检查 PM2...
|
||||
where pm2 >nul 2>nul
|
||||
if %errorlevel% neq 0 (
|
||||
echo [!] PM2 未安装,正在安装...
|
||||
call npm install -g pm2
|
||||
if %errorlevel% neq 0 (
|
||||
echo [错误] PM2 安装失败,请以管理员身份运行此脚本
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
echo [✓] PM2 安装完成
|
||||
) else (
|
||||
echo [✓] PM2 已安装
|
||||
)
|
||||
|
||||
echo.
|
||||
echo [步骤 5/5] 启动服务...
|
||||
call pm2 start pm2.config.cjs --name qiniu-bot
|
||||
if %errorlevel% neq 0 (
|
||||
echo [错误] 服务启动失败
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
echo.
|
||||
echo ========================================
|
||||
echo 部署成功!
|
||||
echo ========================================
|
||||
echo.
|
||||
echo 服务状态查看:pm2 logs qiniu-bot
|
||||
echo 停止服务:pm2 stop qiniu-bot
|
||||
echo 重启服务:pm2 restart qiniu-bot
|
||||
echo.
|
||||
|
||||
REM 设置开机自启
|
||||
echo [提示] 是否设置开机自启?(Y/N)
|
||||
set /p AUTOSTART=
|
||||
if /i "%AUTOSTART%"=="Y" (
|
||||
echo.
|
||||
echo [提示] 请以管理员身份运行以下命令设置开机自启:
|
||||
echo pm2 startup
|
||||
echo pm2 save
|
||||
echo.
|
||||
)
|
||||
|
||||
pause
|
||||
76
docker-windows.bat
Normal file
76
docker-windows.bat
Normal file
@@ -0,0 +1,76 @@
|
||||
@echo off
|
||||
chcp 65001 >nul
|
||||
title 七牛云上传 - 飞书机器人 Docker 部署
|
||||
|
||||
REM 检查 Docker
|
||||
where docker >nul 2>nul
|
||||
if %errorlevel% neq 0 (
|
||||
echo [错误] 未检测到 Docker
|
||||
echo 请先安装 Docker Desktop: https://www.docker.com/products/docker-desktop/
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
echo [✓] Docker 已安装
|
||||
for /f "tokens=*" %%i in ('docker --version') do echo %%i
|
||||
|
||||
echo.
|
||||
echo [步骤 1/4] 配置环境变量...
|
||||
if not exist .env (
|
||||
copy .env.example .env
|
||||
echo [✓] 已创建 .env 文件
|
||||
echo.
|
||||
echo !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
echo [重要] 请编辑 .env 文件并填入配置信息
|
||||
echo !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
echo.
|
||||
notepad .env
|
||||
echo.
|
||||
set /p CONTINUE="配置完成后按回车继续..."
|
||||
) else (
|
||||
echo [✓] .env 文件已存在
|
||||
)
|
||||
|
||||
echo.
|
||||
echo [步骤 2/4] 创建必要目录...
|
||||
if not exist logs mkdir logs
|
||||
if not exist config mkdir config
|
||||
echo [✓] 目录创建完成
|
||||
|
||||
echo.
|
||||
echo [步骤 3/4] 构建镜像...
|
||||
call docker-compose build
|
||||
if %errorlevel% neq 0 (
|
||||
echo [错误] 镜像构建失败
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
echo [✓] 镜像构建完成
|
||||
|
||||
echo.
|
||||
echo [步骤 4/4] 启动容器...
|
||||
call docker-compose up -d
|
||||
if %errorlevel% neq 0 (
|
||||
echo [错误] 容器启动失败
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
echo [✓] 容器启动成功
|
||||
|
||||
echo.
|
||||
echo ========================================
|
||||
echo Docker 部署成功!
|
||||
echo ========================================
|
||||
echo.
|
||||
echo 容器名称:qiniu-bot
|
||||
echo 服务端口:3030
|
||||
echo.
|
||||
echo 常用命令:
|
||||
echo docker-compose logs -f qiniu-bot 查看日志
|
||||
echo docker-compose stop 停止服务
|
||||
echo docker-compose start 启动服务
|
||||
echo docker-compose restart 重启服务
|
||||
echo docker-compose down 停止并删除容器
|
||||
echo.
|
||||
|
||||
pause
|
||||
128
manage-windows.bat
Normal file
128
manage-windows.bat
Normal file
@@ -0,0 +1,128 @@
|
||||
@echo off
|
||||
chcp 65001 >nul
|
||||
title 七牛云上传 - 飞书机器人 管理工具
|
||||
|
||||
:MENU
|
||||
cls
|
||||
echo ========================================
|
||||
echo 七牛云上传 - 飞书机器人 管理工具
|
||||
echo ========================================
|
||||
echo.
|
||||
echo 1. 启动服务
|
||||
echo 2. 停止服务
|
||||
echo 3. 重启服务
|
||||
echo 4. 查看状态
|
||||
echo 5. 查看日志
|
||||
echo 6. 清空日志
|
||||
echo 7. 开机自启设置
|
||||
echo 8. 取消开机自启
|
||||
echo 0. 退出
|
||||
echo.
|
||||
echo ========================================
|
||||
set /p CHOICE="请选择操作 (0-8): "
|
||||
|
||||
if "%CHOICE%"=="1" goto START
|
||||
if "%CHOICE%"=="2" goto STOP
|
||||
if "%CHOICE%"=="3" goto RESTART
|
||||
if "%CHOICE%"=="4" goto STATUS
|
||||
if "%CHOICE%"=="5" goto LOGS
|
||||
if "%CHOICE%"=="6" goto CLEAR_LOGS
|
||||
if "%CHOICE%"=="7" goto STARTUP
|
||||
if "%CHOICE%"=="8" goto UNSTARTUP
|
||||
if "%CHOICE%"=="0" goto EXIT
|
||||
|
||||
echo 无效选择!
|
||||
timeout /t 2 >nul
|
||||
goto MENU
|
||||
|
||||
:START
|
||||
echo.
|
||||
echo [正在启动服务...]
|
||||
call pm2 start qiniu-bot
|
||||
if %errorlevel% equ 0 (
|
||||
echo [✓] 服务启动成功
|
||||
) else (
|
||||
echo [错误] 服务启动失败
|
||||
)
|
||||
pause
|
||||
goto MENU
|
||||
|
||||
:STOP
|
||||
echo.
|
||||
echo [正在停止服务...]
|
||||
call pm2 stop qiniu-bot
|
||||
if %errorlevel% equ 0 (
|
||||
echo [✓] 服务停止成功
|
||||
) else (
|
||||
echo [错误] 服务停止失败
|
||||
)
|
||||
pause
|
||||
goto MENU
|
||||
|
||||
:RESTART
|
||||
echo.
|
||||
echo [正在重启服务...]
|
||||
call pm2 restart qiniu-bot
|
||||
if %errorlevel% equ 0 (
|
||||
echo [✓] 服务重启成功
|
||||
) else (
|
||||
echo [错误] 服务重启失败
|
||||
)
|
||||
pause
|
||||
goto MENU
|
||||
|
||||
:STATUS
|
||||
cls
|
||||
echo.
|
||||
call pm2 list
|
||||
echo.
|
||||
pause
|
||||
goto MENU
|
||||
|
||||
:LOGS
|
||||
cls
|
||||
echo.
|
||||
echo [按 Ctrl+C 退出日志查看]
|
||||
echo.
|
||||
call pm2 logs qiniu-bot --lines 100
|
||||
goto MENU
|
||||
|
||||
:CLEAR_LOGS
|
||||
echo.
|
||||
echo [正在清空日志...]
|
||||
call pm2 flush
|
||||
if %errorlevel% equ 0 (
|
||||
echo [✓] 日志已清空
|
||||
) else (
|
||||
echo [错误] 日志清空失败
|
||||
)
|
||||
pause
|
||||
goto MENU
|
||||
|
||||
:STARTUP
|
||||
echo.
|
||||
echo !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
echo [重要] 请以管理员身份运行以下命令:
|
||||
echo !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
echo.
|
||||
echo pm2 startup
|
||||
echo pm2 save
|
||||
echo.
|
||||
echo 复制上述命令到管理员命令提示符执行
|
||||
echo.
|
||||
pause
|
||||
goto MENU
|
||||
|
||||
:UNSTARTUP
|
||||
echo.
|
||||
echo [正在取消开机自启...]
|
||||
call pm2 unstartup
|
||||
echo [✓] 开机自启已取消
|
||||
pause
|
||||
goto MENU
|
||||
|
||||
:EXIT
|
||||
echo.
|
||||
echo 再见!
|
||||
timeout /t 2 >nul
|
||||
exit /b 0
|
||||
71
uninstall.bat
Normal file
71
uninstall.bat
Normal file
@@ -0,0 +1,71 @@
|
||||
@echo off
|
||||
chcp 65001 >nul
|
||||
echo ========================================
|
||||
echo 七牛云上传 - 飞书机器人 卸载工具
|
||||
echo ========================================
|
||||
echo.
|
||||
echo [警告] 此操作将:
|
||||
echo 1. 停止并删除 PM2 服务
|
||||
echo 2. 删除 node_modules
|
||||
echo 3. 删除日志文件
|
||||
echo.
|
||||
echo [注意] .env 和 config 文件将保留
|
||||
echo.
|
||||
|
||||
set /p CONFIRM="确认要卸载吗?(Y/N): "
|
||||
if /i not "%CONFIRM%"=="Y" (
|
||||
echo 已取消
|
||||
pause
|
||||
exit /b 0
|
||||
)
|
||||
|
||||
echo.
|
||||
echo [步骤 1/4] 停止 PM2 服务...
|
||||
where pm2 >nul 2>nul
|
||||
if %errorlevel% equ 0 (
|
||||
call pm2 stop qiniu-bot
|
||||
call pm2 delete qiniu-bot
|
||||
echo [✓] PM2 服务已删除
|
||||
) else (
|
||||
echo [!] PM2 未安装,跳过
|
||||
)
|
||||
|
||||
echo.
|
||||
echo [步骤 2/4] 删除 node_modules...
|
||||
if exist node_modules (
|
||||
rmdir /s /q node_modules
|
||||
echo [✓] node_modules 已删除
|
||||
) else (
|
||||
echo [!] node_modules 不存在,跳过
|
||||
)
|
||||
|
||||
echo.
|
||||
echo [步骤 3/4] 删除日志...
|
||||
if exist logs (
|
||||
del /q /s logs\*.*
|
||||
echo [✓] 日志已清空
|
||||
) else (
|
||||
echo [!] logs 目录不存在,跳过
|
||||
)
|
||||
|
||||
echo.
|
||||
echo [步骤 4/4] 清理 PM2 缓存...
|
||||
where pm2 >nul 2>nul
|
||||
if %errorlevel% equ 0 (
|
||||
call pm2 flush
|
||||
echo [✓] PM2 缓存已清理
|
||||
)
|
||||
|
||||
echo.
|
||||
echo ========================================
|
||||
echo 卸载完成!
|
||||
echo ========================================
|
||||
echo.
|
||||
echo 保留的文件:
|
||||
echo - .env (配置文件)
|
||||
echo - config/ (七牛云配置)
|
||||
echo - 源代码文件
|
||||
echo.
|
||||
echo 如需重新部署,运行 deploy-windows.bat
|
||||
echo.
|
||||
pause
|
||||
Reference in New Issue
Block a user