Skip to content

BizSignature 手写签名 ​

纯 canvas + Pointer Events 签名板:鼠标 / 触摸 / 手写笔统一,按 devicePixelRatio 高清导出 PNG;跨设备重绘保持笔迹、清空 / 确认操作条、透明底或指定背景导出;协议阅读门控(滚动到底 + 阅读倒计时 + 同意勾选全满足后开放签署)。审批签署、回单确认、单据电子签名、协议签署。零第三方依赖。

基础签署 ​

请在此区域内签名
签名 + 确认事件回显 PNG。

笔迹样式 ​

细线蓝笔(0.15cm 笔锋)
粗线红笔(马克笔)
pen-color / pen-width / height 自定义。

合同签署流 ​

签署人
手机号
手写签名
请在此区域内签名
签署人 + 手机号 + 签名校验齐全后提交。

白底导出 ​

请在此区域内签名
background-color 指定导出背景(默认透明底适合叠加合同底图)。

只读回显 ​

请签名
disabled 禁止再绘制,查看已签署结果。

外部控制(expose) ​

请在此区域内签名
isEmpty:否
clear / isEmpty / toDataURL 组合自定义操作条。

协议阅读门控 ​

员工竞业协议
一、竞业限制范围 乙方在离职后 24 个月内,不得入职与甲方存在竞争关系的企业,不得以任何形式为竞争方提供服务。 二、补偿标准 甲方按乙方离职前十二个月平均工资的 30%,按月支付竞业补偿金。 三、违约责任 乙方违反本协议约定的,应一次性向甲方支付相当于全部补偿金三倍的违约金,并继续履行竞业限制义务。 四、其他 本协议自双方签署之日起生效,一式两份。如对条款有疑问,请在签署前咨询人力资源部。(正文持续滚动到底后可勾选同意)
请继续滚动阅读至协议底部
请在此区域内签名

(未签署)

agreement 传入即启用:协议区滚动到底解锁勾选,勾选后才可「确认签名」;confirm 事件第二参数附阅读状态(标题 / 是否读完 / 阅读秒数 / 是否同意)。

阅读倒计时 ​

服务开通协议(倒计时签署)
第 1 章 服务条款。双方确认本协议项下权利义务,任何修订需以书面形式作出并经双方签署。(示例条款,滚动到底并等待倒计时结束) 第 2 章 服务条款。双方确认本协议项下权利义务,任何修订需以书面形式作出并经双方签署。(示例条款,滚动到底并等待倒计时结束) 第 3 章 服务条款。双方确认本协议项下权利义务,任何修订需以书面形式作出并经双方签署。(示例条款,滚动到底并等待倒计时结束)
10s 后可签署
请在此区域内签名

阅读门槛 10 秒:滚动到底解锁勾选,倒计时结束后「确认签名」可用

agreement.duration 阅读秒数门槛:倒计时结束前确认按钮禁用(与滚动到底叠加生效)。

自定义协议排版 ​

数据授权协议

数据授权范围(v3.2)

为提供风险监测服务,需授权读取以下数据:

  • 企业基础工商信息与年报
  • 设备运行指标(脱敏后)
  • 授权有效期 12 个月,可随时在「设置-授权管理」中撤回

版本 v3.2 · 生效日期 2026-10-01 · 历史版本可在协议档案中查阅

请继续滚动阅读至协议底部
请在此区域内签名

插槽内容同样参与滚动到底判定;read-complete 事件:未读完

agreement 插槽整体替换协议正文(富文本 / 版本号 / 加粗条款),滚动到底判定不受影响。

已签署协议回显 ​

员工竞业协议(已签署 · v2.1)
一、竞业限制范围:离职后 24 个月内不得入职竞争企业。 二、补偿标准:按离职前十二个月平均工资 30% 按月支付。 (只读回显:签署于 2026-09-12,协议快照随签名一并归档)
请在此区域内签名
disabled + agreement(require-scroll: false)只读展示协议与当时同意状态,审查归档场景。

印章盖印基础 ​

请在此区域内签名
印章×

拖动印章调整落章位置、滚轮缩放大小、悬停右上角 × 移除;签名后点「确认签名」导出笔迹 + 印章合成图。

seals 传入即启用印章层:拖拽定位 / 滚轮缩放 / 悬停删除(触屏设备删除按钮常显),确认导出笔迹 + 印章合成 PNG。

文档底图盖章 ​

请在签署栏签名
印章×

document-image 作为最底层图层(cover 铺满签署区);确认导出 = 底图 + 笔迹 + 印章三层合成。

document-image 作为最底层图层(cover 铺满),导出 = 底图 + 笔迹 + 印章三层合成,合同页签署栏场景。

多枚印章并存 ​

请在此区域内签名
印章×
印章×

两枚印章独立操作(拖拽 / 滚轮缩放 / 悬停删除);仅盖章不签名也可确认(签署物 = 笔迹或印章至少其一)。

公章 + 财务章独立拖拽 / 缩放 / 删除;仅盖章(无笔迹)也可确认——签署物 = 笔迹或印章至少其一。

印章样式定制 ​

请在此区域内签名
印章×

width / opacity / x / y 定制初始样式与位置(比例口径,挂载后按容器尺寸换算);拖拽缩放后可经 getSeals 读取最终摆放随单据存档。

width / opacity / x / y 定制初始样式与位置;getSeals() 读取拖拽缩放后的最终摆放随单据存档。

Props ​

属性名类型默认值说明
heightnumber200画布高度(px,宽度自适应)
pen-colorstring'#1f2d3d'画笔颜色
pen-widthnumber2.5画笔线宽
background-colorstring'transparent'导出背景色
show-toolbarbooleantrue内置操作条(清空 / 确认)
confirm-textstring'确认签名'确认按钮文案
placeholderstring'请在此区域内签名'占位提示
disabledbooleanfalse只读
agreementBizSignatureAgreement—协议阅读门控(传入即启用):{ title, content, maxHeight=240, requireScroll=true, duration=0, agreeText };全满足后开放签署,confirm 附协议状态
sealsBizSignatureSealItem[]—印章盖印层(传入即启用):{ id?, image, width=120, opacity=0.9, x=0.72, y=0.55 },可拖拽 / 滚轮缩放 / 悬停删除(触屏常显),确认时与笔迹合成导出
document-imagestring''底图(合同页扫描 / A4 模板):最底层图层,签名与印章叠加其上

Events ​

事件名参数说明
confirm(dataUrl: string, agreement?: BizSignatureAgreementState)点击确认签名(PNG dataURL);agreement 门控启用时第二参数附 { title, readCompleted, seconds, accepted }
change(empty: boolean)签署状态变化
agreement-accept(accepted: boolean)协议同意勾选状态变化
read-complete—首次滚动阅读到底(正文不足一屏时挂载即触发)

Slots ​

插槽名说明
toolbar-extra操作条右侧扩展位
agreement协议正文整体替换(保留滚动到底判定),配合 agreement 配置使用

Expose ​

名称类型说明
clear() => void清空重签(印章层保留)
toDataURL() => string导出 PNG dataURL(仅笔迹 + 背景)
isEmpty() => boolean是否未签署
getAgreementState() => BizSignatureAgreementState | undefined协议阅读状态(未启用 agreement 时为 undefined)
resetAgreement() => void重置协议阅读状态(勾选 / 阅读进度 / 倒计时)
exportImage() => Promise<string>全图层合成导出(底图 + 笔迹 + 印章);未启用印章 / 底图时等价 toDataURL
getSeals() => SealState[]当前印章摆放状态(拖拽后位置 / 缩放 / 不透明度)