3.8 KiB
3.8 KiB
飞书审批配置服务
内网 Web 服务:用户在浏览器中设计审批表单与流程,保存时下载包含全部配置的独立 HTML 文件,可离线打开或分发给他人。
功能
- 在线编辑:基础信息、表单设计、流程设计
- 保存并下载 HTML:配置写入 HTML 文件,无需本地 bat / data 文件夹
- 导入 HTML:继续编辑之前导出的配置文件
环境要求
- Node.js 16.x(CentOS 7 推荐 16.20 LTS)
- 无需
npm install(零第三方依赖,仅使用 Node 内置模块)
快速启动
cd Approval_of_design
node server.js
浏览器访问:http://服务器IP:8080
端口与监听地址可在 project.config.json 中修改:
{
"projectId": "approval_of_design",
"port": 8080,
"host": "0.0.0.0",
"label": "飞书审批配置服务"
}
CentOS 7 部署
1. 安装 Node.js 16.x
CentOS 7 自带 glibc 较旧,建议使用 NodeSource 16.x 或 nvm:
方式 A:NodeSource(推荐)
curl -fsSL https://rpm.nodesource.com/setup_16.x | sudo bash -
sudo yum install -y nodejs
node -v # 应显示 v16.x.x
方式 B:nvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
source ~/.bashrc
nvm install 16
nvm use 16
2. 上传并启动
sudo mkdir -p /opt/feishu-approval
# 将项目文件上传到 /opt/feishu-approval
cd /opt/feishu-approval
node server.js
或使用项目自带脚本:
chmod +x deploy/start.sh
./deploy/start.sh
3. systemd 开机自启(推荐)
# 修改 deploy/feishu-approval.service 中 WorkingDirectory、User 后:
sudo cp deploy/feishu-approval.service /etc/systemd/system/
sudo systemctl daemon-reload
sudo systemctl enable feishu-approval
sudo systemctl start feishu-approval
sudo systemctl status feishu-approval
4. 防火墙
sudo firewall-cmd --permanent --add-port=8080/tcp
sudo firewall-cmd --reload
5. 验证
curl http://127.0.0.1:8080/api/health
部署到其他环境
1. 上传项目
将整个 Approval_of_design 目录复制到内网服务器。
2. 启动服务
方式 A:直接运行
node server.js
方式 B:使用 pm2 守护进程(推荐)
npm install -g pm2
pm2 start server.js --name feishu-approval
pm2 save
pm2 startup
方式 C:Windows 服务
使用 nssm 将 node server.js 注册为 Windows 服务,开机自启。
3. 反向代理(可选)
若需通过 80 端口或 HTTPS 访问,可在 Nginx 中配置:
location / {
proxy_pass http://127.0.0.1:8080;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
4. 防火墙
在内网服务器开放 project.config.json 中配置的端口(默认 8080)。
API
| 方法 | 路径 | 说明 |
|---|---|---|
| GET | / |
在线编辑器 |
| GET | /api/health |
健康检查 |
| POST | /api/export |
提交 JSON 配置,返回 HTML 文件下载 |
| POST | /api/import |
提交 HTML 文本,解析其中的配置 JSON |
文件说明
| 文件 | 说明 |
|---|---|
server.js |
Web 服务主程序 |
飞书审批配置文件_V1.0.html |
编辑器模板(服务与导出共用) |
project.config.json |
端口、服务名称等配置 |
deploy/start.sh |
CentOS 7 启动脚本 |
deploy/feishu-approval.service |
systemd 服务单元示例 |
使用流程
- 访问服务地址,开始新建或导入已有 HTML
- 完成表单与流程设计
- 点击 「保存并下载 HTML」,获得独立配置文件
- 下载的 HTML 可双击离线打开;再次编辑可导入回在线服务
健康检查
curl http://localhost:8080/api/health