更新记录
1.1.0(2026-11-05)
- 1.1.0:改写为 uni-app x 付费前端组件(仅 App、HBuilderX 4.25+、uni-app-x ^4.25.0);canvas 迁移到 W3C 标准 canvas 2D(uni.getElementById + getContext('2d') + scale(dpr)),废弃旧版 createCanvasContext/setFillStyle/draw/canvasToTempFilePath;导出改用 canvas.toDataURL('image/png')(BASE64,不再有 tempFilePath);组件由 Options API 改为
<script setup lang="uts">、逻辑.ts→.uts;exportPng/exportTransparent/undo/clearAll/replay 经 defineExpose 暴露;移除免费/Pro 门控(付费即全功能);新增根 index.uts 对外导出 API 与类型。 - 1.1.0(v1 阶段):签名质量与活性评分(防粘贴/模板/机器伪造,多维度:笔画数/覆盖率/速度方差/压力方差);笔迹回放(逐笔重绘,核验是否本人现场书写);透明背景 PNG 导出(合同/单据底图叠加);按功能级 Pro 闸门(transparent/replay/quality/timestamp/batch);拟合误差(fitError)修正为「点到连续曲线段」距离,消除采样离散误判;直线笔迹误差恒为 0,密集笔迹 ≤2px 验收成立。
- 1.0.0 首发:原笔迹平滑(中点贝塞尔)绘制;压感采集与线宽映射;撤销 / 清空 / 导出 PNG+BASE64;签名 HASH 校验与防伪时间戳接口(Pro);拟合误差实时可视化。
平台兼容性
uni-app x(4.25)
| Chrome | Safari | Android | iOS | 鸿蒙 | 微信小程序 |
|---|---|---|---|---|---|
| × | × | √ | √ | × | × |
电子签名板 Pro(zl-sign-pad)
uni-app x 原笔迹电子签名板(付费前端组件,仅 App 端,HBuilderX 4.25+):压感采集 + 曲线平滑(中点贝塞尔)+ 撤销/清空 + 导出 PNG BASE64/透明背景 + 笔迹回放 + 签名质量与活性评分(防伪)+ 哈希校验与防伪时间戳接口。基于 W3C 标准 canvas 2D。笔迹流畅度与还原度达到专业级,曲线拟合误差 ≤2px。
特性
- 原笔迹平滑:中点二次贝塞尔插值,消除锯齿与抖动,笔迹高度还原。
- 压感采集:支持触控压力映射线宽(设备支持时自动启用)。
- 撤销 / 清空:逐笔撤销,误操作零成本。
- 一键导出:导出 PNG BASE64(
toDataURL),以及透明背景 PNG(合同底图叠加)。 - 笔迹回放:逐笔重绘签名过程,核验是否本人现场书写。
- 质量与活性评分:多维度评估签名可信度(笔画数/覆盖率/速度方差/压力方差),识别粘贴/模板/机器伪造。
- 防伪校验:签名 HASH(FNV-1a)与时间戳接口,防抵赖。
- 拟合误差可视化:实时显示曲线拟合误差,验收 ≤2px。
付费前端组件:购买即全功能(普通版 / 源码版均解锁全部能力),无 license 门控。
安装
在 DCloud 插件市场 搜索 zl-sign-pad 导入 uni_modules,在 uni-app x 项目页面中通过 easycom 引入组件即可(仅 App 端)。
快速开始
<template>
<zl-sign-pad ref="pad" :width="320" :height="160" />
<button @click="onExport">导出</button>
</template>
<script setup lang="uts">
import { ref } from 'vue'
const pad = ref<any>(null)
function onExport() {
const r = pad.value.exportPng()
// r = { base64, hash, fitError, transparent }
}
</script>
API
| 方法 | 说明 |
|---|---|
exportPng() |
返回 {base64, hash, fitError, transparent}(BASE64 PNG) |
exportTransparent() |
透明背景导出 |
replay() |
笔迹回放 |
undo() |
撤销最后一笔 |
clearAll() |
清空画布 |
applyTimestamp() |
防伪时间戳(接入自有服务) |
Props
width / height / penColor / bgColor / baseWidth / enablePressure / pro(兼容保留,付费全功能)
性能与验收
| 指标 | 目标 | 验收 |
|---|---|---|
| 曲线拟合误差 | ≤ 2px | 密集采样笔迹偏移 ≤ 2px(fitError 实时显示) |
| 渲染帧率 | ≥ 60fps | 实时绘制无卡顿 |
| 导出耗时 | ≤ 200ms | 320×160 PNG 导出 |
合规说明
- 仅在用户本地采集手写笔迹用于生成签名图片,不读取、不上传任何用户隐私数据。
- 签名图片由接入方自行处理与存储,插件不内置任何采集或上传行为。
- 全自研实现,无第三方侵权。
付费说明
普通授权版 / 源码授权版双版本。付费即全功能(导出、透明背景、笔迹回放、质量评分、防伪时间戳全部开放)。
更新说明
- 1.0.0 首发:原笔迹中点贝塞尔平滑、压感采集、撤销/清空、PNG/BASE64 导出、签名哈希校验(FNV-1a)、防伪时间戳接口、拟合误差可视化。
- 1.1.0 深度增强:透明背景 PNG 导出(合同底图叠加)、笔迹回放(弧长重采样)、质量与活性评分(四维:笔画数/覆盖率/速度方差/压力方差)、拟合误差度量修正(点到连续曲线段,直线笔迹误差恒为 0)、批量导出。
- 1.1.0(uni-app x 重构):改写为 uni-app x 付费前端组件(仅 App、HBuilderX 4.25+);canvas 迁移到 W3C 标准 canvas 2D(
getElementById+getContext('2d')+scale(dpr),废弃旧版createCanvasContext/setFillStyle/draw);导出改用toDataURL(BASE64,无 tempFilePath);移除免费/Pro 门控(付费即全功能);新增根index.uts对外导出 API 与类型。

收藏人数:
购买源码授权版(
试用
使用 HBuilderX 导入示例项目
赞赏(0)
下载 1
赞赏 0
下载 12745935
赞赏 1959
赞赏
京公网安备:11010802035340号