GoldSign 是面向黄金销售/回收交易场景的电子合同签约系统,目标是把传统线下身份核
验、合同确认、手写签名、合同归档流程线上化,降低人工审核和纸质合同管理成本。系
统包含微信小程序端、后端服务和管理后台。用户端支持微信登录、身份证正反面上传、
OCR 识别、实名认证/人脸核验、手机号与银行卡信息采集、合同预览、阅读确认、
Canvas 手写电子签名、签署成功回执、历史合同列表与详情查看。管理端支持客户管
理、合同模板管理、合同派发、签约记录查询、合同 PDF 导出、审计日志和管理员操作
日志查看。核心业务流程为:用户登录后进入实名认证,上传身份证并确认识别信息,通
过人脸核验后补充收款资料,系统生成待签合同,用户阅读合同内容并手写签名提交,后
端生成归档编号、合同哈希和签署版 PDF,最终在历史合同中留存可追溯记录。
项目采用前后端分离架构。小程序端使用 uni-app/uvue 开发,按首页、实名认证、身份
证上传、OCR 确认、人脸核验、资料填写、合同预览、电子签名、签署成功、历史合同、
用户中心等页面拆分,并封装 api/auth、api/user、api/contract、api/sign 接口层,
支持 Mock 数据和真实服务两种模式,便于前期独立调试和后期联调。后端使用 Node.js
+ Koa 搭建 REST API,通过 JWT 区分用户端和管理端登录态,数据库使用 PostgreSQL
存储用户、合同、模板、审计日志等数据,敏感信息如身份证号、手机号、银行卡号加密
存储并在列表中脱敏展示。管理后台使用 Vue3 + Vite + Element Plus + Pinia + Vue
Router,实现仪表盘、用户管理、合同管理、模板管理和日志查询。本人主要负责完整签
约闭环的设计与实现,包括 17 个小程序页面、用户认证接口、合同生成与签名提交接
口、后台合同/客户管理接口,以及 PDF 归档能力。项目难点主要在实名信息、签名图
片、合同状态和归档记录的一致性处理;通过统一状态机、接口权限校验、事务提交、签
名图片合法性校验、合同哈希和审计日志记录,保证签约流程可回溯、可恢复、可导出