更新记录

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 与类型。

隐私、权限声明

1. 本插件需要申请的系统权限列表:

无(仅本地画布渲染与图片导出)

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

本插件仅在用户本地采集手写笔迹用于生成签名图片,不读取、不上传任何用户隐私数据;签名图片由接入方自行处理与存储。

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

无

暂无用户评论。