Initial commit: 七牛云上传飞书机器人
功能: - 飞书交互卡片支持 - 七牛云文件上传 - 自动 CDN 刷新 - 多存储桶配置 - 跨平台部署(Linux/macOS/Windows) - Docker 支持
This commit is contained in:
284
WINDOWS.md
Normal file
284
WINDOWS.md
Normal file
@@ -0,0 +1,284 @@
|
||||
# Windows 快速开始指南
|
||||
|
||||
🪟 **Windows 用户专用部署指南**
|
||||
|
||||
---
|
||||
|
||||
## 方法一:双击启动(最简单)
|
||||
|
||||
### 1️⃣ 下载项目
|
||||
|
||||
- 从 GitHub 下载 ZIP 文件
|
||||
- 或使用 Git:`git clone <repo-url>`
|
||||
|
||||
### 2️⃣ 安装 Node.js
|
||||
|
||||
1. 访问 https://nodejs.org/
|
||||
2. 下载 **LTS 版本**(推荐 18.x 或更高)
|
||||
3. 双击安装,一路"下一步"
|
||||
4. 验证安装:
|
||||
```cmd
|
||||
node --version
|
||||
npm --version
|
||||
```
|
||||
|
||||
### 3️⃣ 配置应用
|
||||
|
||||
1. 打开项目文件夹
|
||||
2. 双击运行 `start.bat`
|
||||
3. 脚本会自动:
|
||||
- ✅ 检查 Node.js
|
||||
- ✅ 创建配置文件
|
||||
- ✅ 安装依赖
|
||||
- ⚠️ 提示你编辑配置
|
||||
|
||||
### 4️⃣ 编辑配置
|
||||
|
||||
脚本会提示你编辑两个文件:
|
||||
|
||||
**`.env` 文件**(飞书配置):
|
||||
```env
|
||||
FEISHU_APP_ID=cli_xxxxxx
|
||||
FEISHU_APP_SECRET=xxxxxx
|
||||
FEISHU_VERIFICATION_TOKEN=xxxxxx
|
||||
FEISHU_ENCRYPT_KEY=xxxxxx
|
||||
```
|
||||
|
||||
**`config\qiniu-config.json`**(七牛云配置):
|
||||
```json
|
||||
{
|
||||
"buckets": {
|
||||
"default": {
|
||||
"accessKey": "YOUR_ACCESS_KEY",
|
||||
"secretKey": "YOUR_SECRET_KEY",
|
||||
"bucket": "your-bucket",
|
||||
"region": "z0",
|
||||
"domain": "https://your-cdn.com"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### 5️⃣ 启动服务
|
||||
|
||||
配置完成后,再次双击 `start.bat`,看到:
|
||||
|
||||
```
|
||||
========================================
|
||||
🍙 七牛云上传机器人 - Windows 版
|
||||
========================================
|
||||
|
||||
✅ Node.js 已安装
|
||||
📦 正在安装依赖...
|
||||
✅ 依赖安装完成
|
||||
|
||||
🚀 正在启动服务...
|
||||
📍 监听端口:3000
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 方法二:作为 Windows 服务运行(推荐生产环境)
|
||||
|
||||
使用 **NSSM** 让服务开机自启、后台运行。
|
||||
|
||||
### 1️⃣ 下载 NSSM
|
||||
|
||||
访问 https://nssm.cc/download 下载最新版
|
||||
|
||||
### 2️⃣ 安装服务
|
||||
|
||||
以**管理员身份**打开命令提示符:
|
||||
|
||||
```cmd
|
||||
cd C:\path\to\qiniu-feishu-bot
|
||||
|
||||
nssm install QiniuBot "C:\Program Files\nodejs\node.exe" "C:\path\to\qiniu-feishu-bot\src\index.js"
|
||||
```
|
||||
|
||||
### 3️⃣ 配置服务
|
||||
|
||||
```cmd
|
||||
# 设置工作目录
|
||||
nssm set QiniuBot AppDirectory "C:\path\to\qiniu-feishu-bot"
|
||||
|
||||
# 设置环境变量
|
||||
nssm set QiniuBot AppEnvironmentExtra "NODE_ENV=production"
|
||||
nssm set QiniuBot AppEnvironmentExtra "PATH=%PATH%"
|
||||
|
||||
# 设置日志
|
||||
nssm set QiniuBot AppStdout "C:\path\to\qiniu-feishu-bot\logs\stdout.log"
|
||||
nssm set QiniuBot AppStderr "C:\path\to\qiniu-feishu-bot\logs\stderr.log"
|
||||
```
|
||||
|
||||
### 4️⃣ 启动服务
|
||||
|
||||
```cmd
|
||||
nssm start QiniuBot
|
||||
```
|
||||
|
||||
### 5️⃣ 管理命令
|
||||
|
||||
```cmd
|
||||
nssm stop QiniuBot # 停止
|
||||
nssm restart QiniuBot # 重启
|
||||
nssm status QiniuBot # 查看状态
|
||||
nssm remove QiniuBot # 删除服务(会提示确认)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 方法三:Docker Desktop
|
||||
|
||||
### 1️⃣ 安装 Docker Desktop
|
||||
|
||||
访问 https://www.docker.com/products/docker-desktop 下载
|
||||
|
||||
### 2️⃣ 构建镜像
|
||||
|
||||
打开 **PowerShell**:
|
||||
|
||||
```powershell
|
||||
cd C:\path\to\qiniu-feishu-bot
|
||||
|
||||
docker build -t qiniu-feishu-bot .
|
||||
```
|
||||
|
||||
### 3️⃣ 运行容器
|
||||
|
||||
```powershell
|
||||
docker run -d ^
|
||||
--name qiniu-bot ^
|
||||
-p 3000:3000 ^
|
||||
--restart unless-stopped ^
|
||||
--env-file .env ^
|
||||
-v ${PWD}\config:/app/config ^
|
||||
qiniu-feishu-bot
|
||||
```
|
||||
|
||||
### 4️⃣ 管理命令
|
||||
|
||||
```powershell
|
||||
docker logs -f qiniu-bot # 查看日志
|
||||
docker stop qiniu-bot # 停止
|
||||
docker start qiniu-bot # 启动
|
||||
docker rm qiniu-bot # 删除
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🔧 常见问题
|
||||
|
||||
### ❌ "node 不是内部或外部命令"
|
||||
|
||||
**解决:**
|
||||
1. 重新安装 Node.js
|
||||
2. 安装时勾选"Add to PATH"
|
||||
3. 重启命令提示符
|
||||
|
||||
### ❌ 端口 3000 被占用
|
||||
|
||||
**解决:**
|
||||
```cmd
|
||||
# 查找占用端口的进程
|
||||
netstat -ano | findstr :3000
|
||||
|
||||
# 杀死进程(替换 <PID> 为实际进程 ID)
|
||||
taskkill /PID <PID> /F
|
||||
|
||||
# 或修改端口
|
||||
# 编辑 .env 文件,设置 PORT=3001
|
||||
```
|
||||
|
||||
### ❌ 权限不足
|
||||
|
||||
**解决:**
|
||||
- 右键 `start.bat` → "以管理员身份运行"
|
||||
- 或右键命令提示符 → "以管理员身份运行"
|
||||
|
||||
### ❌ 依赖安装失败
|
||||
|
||||
**解决:**
|
||||
```cmd
|
||||
# 使用淘宝镜像
|
||||
npm config set registry https://registry.npmmirror.com
|
||||
|
||||
# 清除缓存重试
|
||||
npm cache clean --force
|
||||
npm install
|
||||
```
|
||||
|
||||
### ❌ 防火墙阻止访问
|
||||
|
||||
**解决:**
|
||||
1. 控制面板 → Windows Defender 防火墙
|
||||
2. 高级设置 → 入站规则 → 新建规则
|
||||
3. 端口 → TCP → 3000 → 允许连接
|
||||
|
||||
---
|
||||
|
||||
## 📝 配置飞书应用
|
||||
|
||||
### 1️⃣ 创建飞书应用
|
||||
|
||||
1. 访问 https://open.feishu.cn/
|
||||
2. 登录企业管理员账号
|
||||
3. 创建自建应用
|
||||
|
||||
### 2️⃣ 配置权限
|
||||
|
||||
添加权限:
|
||||
- `im:message` - 消息
|
||||
- `im:file` - 文件
|
||||
|
||||
### 3️⃣ 配置事件订阅
|
||||
|
||||
- **请求地址**:`https://your-domain.com/feishu/event`
|
||||
- **订阅事件**:`im.message.receive_v1`
|
||||
|
||||
> ⚠️ **注意**:飞书需要能访问你的服务器
|
||||
> - 云服务器:配置安全组开放 3000 端口
|
||||
> - 本地测试:使用内网穿透(ngrok、cpolar)
|
||||
|
||||
### 4️⃣ 获取配置信息
|
||||
|
||||
从飞书开放平台复制以下信息到 `.env`:
|
||||
- App ID
|
||||
- App Secret
|
||||
- Verification Token
|
||||
- Encrypt Key
|
||||
|
||||
---
|
||||
|
||||
## ✅ 验证部署
|
||||
|
||||
### 1️⃣ 检查服务
|
||||
|
||||
浏览器访问:http://localhost:3000/health
|
||||
|
||||
应看到:`{"status":"ok",...}`
|
||||
|
||||
### 2️⃣ 测试飞书
|
||||
|
||||
1. 在飞书中找到机器人
|
||||
2. 发送任意消息
|
||||
3. 应收到交互式卡片
|
||||
|
||||
### 3️⃣ 测试上传
|
||||
|
||||
```
|
||||
/upload --original default
|
||||
[附上一个文件]
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📞 获取帮助
|
||||
|
||||
- 查看日志:控制台输出或 `logs\` 目录
|
||||
- 检查配置:`.env` 和 `config\qiniu-config.json`
|
||||
- 重启服务:关闭 `start.bat` 窗口,重新运行
|
||||
|
||||
---
|
||||
|
||||
**🍙 祝你使用愉快!**
|
||||
Reference in New Issue
Block a user