Files
feishu_approval_design/README.md
Weiming 4e924327ab
Some checks are pending
continuous-integration/drone/push Build is running
测试触发
2026-06-11 17:56:16 +08:00

3.8 KiB
Raw Permalink Blame History

飞书审批配置服务

内网 Web 服务:用户在浏览器中设计审批表单与流程,保存时下载包含全部配置的独立 HTML 文件,可离线打开或分发给他人。

功能

  • 在线编辑:基础信息、表单设计、流程设计
  • 保存并下载 HTML:配置写入 HTML 文件,无需本地 bat / data 文件夹
  • 导入 HTML:继续编辑之前导出的配置文件

环境要求

  • Node.js 16.xCentOS 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

方式 ANodeSource推荐

curl -fsSL https://rpm.nodesource.com/setup_16.x | sudo bash -
sudo yum install -y nodejs
node -v   # 应显示 v16.x.x

方式 Bnvm

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

方式 CWindows 服务

使用 nssmnode 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 服务单元示例

使用流程

  1. 访问服务地址,开始新建或导入已有 HTML
  2. 完成表单与流程设计
  3. 点击 「保存并下载 HTML」,获得独立配置文件
  4. 下载的 HTML 可双击离线打开;再次编辑可导入回在线服务

健康检查

curl http://localhost:8080/api/health