更新记录

1.0.1(2025-12-17) 下载此版本

测试了微信小程序支持

1.0.0(2025-12-17) 下载此版本

发布 ikun-signature 组件,支持签名绘制、撤销、清空、保存及 Base64 导出。


平台兼容性

uni-app(3.6.15)

Vue2 Vue3 Chrome Safari app-vue app-nvue Android iOS 鸿蒙
-
微信小程序 支付宝小程序 抖音小程序 百度小程序 快手小程序 京东小程序 鸿蒙元服务 QQ小程序 飞书小程序 快应用-华为 快应用-联盟
- - - - - - - - -

uni-app x(3.6.15)

Chrome Safari Android iOS 鸿蒙 微信小程序
- - - - - -

ikun-signature 电子签名组件

组件概述

  • 类型:可视化电子签名组件
  • 用途:提供手写签名、撤销、清空、保存等基础能力,适用于业务签批、表单签署等场景。

支持平台

  • H5
  • App (App-Plus)
  • 微信小程序

快速使用

<template>
  <view class="container">
    <ikun-signature
      ref="signature"
      :canvas-width="300"
      :canvas-height="200"
      :default-pen-color="'#000000'"
      :default-pen-size="3"
      :show-watermark="true"
      :watermark-text="'电子签名'"
      @save="onSaveSignature"
    />
  </view>
</template>

<script>
export default {
  methods: {
    // 监听保存事件
    onSaveSignature(base64Image) {
      console.log('签名Base64:', base64Image)

      // NEXT: 可以上传到服务器或保存到本地
    }
  }
}
</script>

属性参数

属性名 说明 类型 默认值
canvas-width 画布宽度(单位 px),组件加载后会根据容器宽度自适应 Number 300
canvas-height 画布高度(单位 px) Number 200
background-color 画布背景色 String #ffffff
default-pen-color 初始画笔颜色 String #165DFF
default-pen-size 初始画笔粗细(px) Number 3
show-watermark 是否显示水印提示文字 Boolean true
watermark-text 水印内容 String 签名区域
show-guidelines 是否显示辅助线 Boolean true
quality canvasToTempFilePath 导出质量,范围 0 ~ 1 Number 1
save-success-duration 保存成功或失败提示时长(ms) Number 2000

事件说明

事件名 触发说明 回调参数
save 用户点击内置“保存签名”按钮并成功导出图片时触发 base64Datadata:image/png;base64,... 字符串

实例方法

通过 ref 获取组件实例后可调用以下方法:

方法名 说明 参数 返回值
undo() 撤销上一步笔画
clearCanvas() 清空画布并重置状态
saveAsBase64() 主动触发保存逻辑,与点击内置保存按钮一致 Promise<void>
getSignatureImage() 获取当前签名的 Base64 图片(无签名时返回 null Promise<string \| null>
reset() 重置组件(等价于 clearCanvas()

注意事项

  • 画布尺寸:组件初始化时会根据外层容器宽度进行一次适配,如需固定宽度可通过外层容器控制。
  • 撤销策略:每次完成笔画都会自动入栈,可连续撤销至空白画布。
  • 平台差异:导出 Base64 在不同平台底层实现不同,已针对 H5、App-Plus、微信小程序处理,无需额外配置。
  • 水印与辅助线:水印和辅助线仅为视觉提示,不会出现在导出的签名图片中。

常见问题

  • Q:如何判断用户是否已经签名?
    A:组件内部维护 hasSignature 状态,可通过监听 save 事件或调用实例方法后结合业务逻辑判断。

  • Q:如何在自定义按钮上触发保存?
    A:通过 ref 调用 saveAsBase64(),成功后会自动触发 save 事件。

更新日志

  • v1.0.0:发布 ikun-signature 组件,支持签名绘制、撤销、清空、保存及 Base64 导出。

隐私、权限声明

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

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

插件不采集任何数据

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

许可协议

MIT协议