金蟾宝·合同助手后端服务与生产环境部署。本人独立完成后端API、数据库迁移、微信支付集成及容器化部署。
后端架构:Node.js+Express构建RESTful API,MVC分层(Routes→Controllers→Services→DAO),20+接口覆盖认证、合同、模板、法规检索、条款库、AI对话、订单。JWT无状态认证,环境变量管理敏感配置,Nodemailer接入QQ邮箱发送通知。
数据库设计:PostgreSQL 15设计9张表(users/contracts/orders/templates/laws/clause_categories/clause_items/user_token_packages),建立外键与索引。完成SQLite→PG迁移,解决驱动兼容(回调改async/await,占位符?→$1),2260条法规数据完整导入。Docker数据卷持久化存储。
微信支付集成:集成JSAPI/Native支付,统一下单、二维码生成、回调验签解密(APIv3密钥+商户证书)、订单状态自动流转。修复SDK初始化参数错误(publicKey应填apiclient_cert.pem)、证书路径、解密方法名(decipher_gcm),实现支付回调自动升级,无需人工干预。
容器化部署:Docker Compose编排三服务(前端+后端+数据库),Dockerfile基于Node.js 18 Alpine,数据库健康检查(pg_isready)。Nginx精细化路由(/api/→后端,/→前端静态),修复location优先级导致API返回HTML的线上故障,配置镜像加速器解决拉取超时。日常运维:docker logs日志、docker restart重启、nginx -s reload热重载。
架构图说明:上传的架构图展示前端分层依赖——页面组件→Zustand状态管理→存储层(IndexedDB/localStorage)→数据与规则,体现工程化设计。
项目已稳定运行于腾讯云Ubuntu 22.04 LTS,46天从零上线。