电子合同签署平台

部署使用指南 · 佰川星途

一、部署方式

方式A:本地运行(测试/内部使用)

如果你的电脑24小时开机、陪玩通过局域网或内网穿透访问,可以直接本地运行。

  1. 确保已安装 Node.js 18+
  2. 打开终端,进入项目目录:
cd e-contract-sign
npm install        # 安装依赖(首次)
node server.js     # 启动服务

启动后访问 http://localhost:3000 即可使用。

内网穿透(让外部访问):使用 npx localtunnel --port 3000ngrok http 3000 可生成公网链接,陪玩通过该链接签署合同。适合快速测试。

方式B:云服务器部署(生产推荐)

  1. 购买一台云服务器(阿里云/腾讯云轻量服务器,2核4G即可,约¥60/月)
  2. 安装 Node.js 和 PM2 进程守护:
# 安装 Node.js 18 LTS
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt-get install -y nodejs

# 安装 PM2(保持服务后台运行)
sudo npm install -g pm2

# 上传项目到服务器(可用 scp 或宝塔面板)
scp -r e-contract-sign/ root@你的服务器IP:/opt/
  1. 安装依赖并启动:
cd /opt/e-contract-sign
npm install --production
pm2 start server.js --name e-contract
pm2 save
pm2 startup    # 设置开机自启
  1. 配置 Nginx 反向代理 + HTTPS:
# /etc/nginx/conf.d/e-contract.conf
server {
    listen 80;
    server_name sign.你的域名.com;

    location / {
        proxy_pass http://127.0.0.1:3000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}
# 申请免费 SSL 证书
sudo certbot --nginx -d sign.你的域名.com
重要:生产环境必须配置 HTTPS!电子签名法要求电子合同必须通过安全通道传输,且 CA 证书、实名认证等服务也要求 HTTPS 回调地址。

方式C:Docker 部署(进阶)

# Dockerfile
FROM node:18-alpine
WORKDIR /app
COPY package*.json ./
RUN npm install --production
COPY . .
EXPOSE 3000
CMD ["node", "server.js"]

# 构建运行
docker build -t e-contract .
docker run -d -p 3000:3000 -v $(pwd)/data:/app/data --name e-contract e-contract

二、使用流程(给陪玩发合同)

创建模板
新建合同
批量导入签署人
发送合同
复制签署链接发陪玩
陪玩在线签署

1登录管理后台

  1. 打开 http://你的域名/admin
  2. 输入账号 admin 密码 admin888
  3. 建议登录后修改密码

2创建合同模板(只需做一次)

  1. 点击左侧 「合同模板」「+ 新建模板」
  2. 输入模板名称,如 陪玩合作协议
  3. 输入合同正文(标题用 # 开头,条款用 ## 开头)
  4. 保存模板

3新建合同 + 批量导入签署人

  1. 点击 「合同管理」「+ 新建合同」
  2. 输入合同标题(如 陪玩合作协议-2026年7月批次
  3. 选择刚才创建的模板,内容自动填充
  4. 在签署人区域点击 「批量导入」 切换模式
  5. 在文本框中粘贴签署人信息,每行一人,格式:姓名,手机号,身份证号
  6. 确认人数正确后点击 「保存合同」
批量导入格式:
张三,13800138000,510106199001010011
李四,13900139000,510106199002020022
王五,13700137000,510106199003030033

可从 Excel 复制三列(姓名、手机号、身份证号),直接粘贴进来。

4发送合同

  1. 在合同列表中找到刚创建的合同(状态为「草稿」)
  2. 点击 「发送」 按钮
  3. 系统自动为每个签署人生成专属签署链接

5复制签署链接发给陪玩

  1. 点击合同 「详情」 按钮
  2. 看到每位签署人对应的签署链接
  3. 点击 「复制」 按钮,将链接发给对应的陪玩(微信/QQ/短信均可)
批量发送链接的建议:
• 600人量大,建议在管理后台批量复制链接后,用企微/群发工具发送
• 或开发一个「批量短信通知」接口,自动给陪玩手机号发签署链接短信
• 每个签署链接唯一且独立,陪玩之间互不干扰

6陪玩签署流程

陪玩收到链接后,用手机浏览器打开:

  1. 身份验证 — 输入姓名+身份证号,系统核验与录入信息一致
  2. 阅读合同 — 完整查看合同内容,勾选「我已阅读并同意」
  3. 手写签名 — 用手指在手机屏幕上手写签名
  4. 签署完成 — 系统生成CA证书+时间戳+存证,可下载已签署PDF

你在管理后台 「数据概览」 可以实时看到签署进度(已签/未签/签署率),点击「详情」查看每个人的签署状态,点击「PDF」下载已签署的合同文件。

三、上线生产环境待办

当前系统已完整可用,但法律效力的几个关键环节还是模拟实现。要真正具备法律效力,需要完成以下接入:

服务 推荐服务商 费用参考 代码位置
CA数字证书 CFCA / e签宝 / 法大大 ¥2-5/次 src/services/caService.js
实名认证 腾讯云/阿里云 二三要素 ¥0.3-1/次 src/services/identityService.js
可信时间戳 联合信任 / 国家授时中心 ¥1/次 src/services/timestampService.js
区块链存证 蚂蚁链 / 腾讯至信链 ¥0.5/次 src/services/evidenceService.js
最低成本方案:如果预算有限,建议先接入实名认证(二三要素,¥0.3-0.5/次)+ CA证书(e签宝API,¥2-3/次),即可达到法律级效力。
600人一次性签署,成本约 ¥1500-2100。

其他待优化项: