手写签名
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md ,安装 @user_f1b049da/uzr20262174。
技能介绍
解决什么问题
在报销单、交接单、确认书这类页面里,工程师常需要一段『用户手写签字』的能力。手写签名技能定位明确:轻量的页面内手写确认,不做 CA 电子签章。
它覆盖三类常见需求:
- 页面内手写确认签名:表单底部直接嵌入画布,用户签字后即可确认提交。
- 移动端手指签字:不依赖鼠标,手指即可在画布上书写。
- 导出签名图贴到单据预览:把签字结果导出成 PNG,用于预览与存档。
技能如何工作
技能灵感来自能力工具箱 signature-pad,通过几个明确步骤实现轻量签名功能:
- 挂载签名画布:在页面放入
canvas并挂载签名能力,容器需固定宽高。 - 提供操作按钮:清除与确认,确认时通过
toDataURL('image/png')导出 PNG 图片。 - 交给业务保存:将 DataURL 交给业务流程处理,可选压缩后再上传。
- 自测覆盖两端:桌面鼠标与触控各测一遍,空签名需被拦截。
实现要点与原创部分会在代码中以 小四原创 标注,便于识别来源。
适用边界与注意点
签名前必须检查 isEmpty(),空签名一律拒绝。它不等同于合法电子签名法下的可靠电子签章,文案中需明确标注『非 CA 电子签章,法律效力以业务制度为准』,避免误用。
工程实现上,组件销毁时要卸载事件,触控设备还需关注 passive 相关处理,防止滚动穿透。默认不要把签名图传到不明外网,导出的图片应在受控的业务链路中流转。
使用场景
- 前端工程师在报销单确认页嵌入手写签名画布,让用户签字后导出 PNG 存档
- 移动端开发者在交接确认单中接入手指签字,提交前拦截空签名并上传签名图
- 全栈工程师在单据预览页把导出的签名 DataURL 贴到图片上,用于最终确认展示
- 小程序开发者在合规确认页加入手写签名,明确标注非 CA 电子签章并按业务制度处理
适合人员
- 负责在表单和单据页面接入手写确认签名的前端工程师
- 需要在移动端支持手指签字并处理空签名拦截的移动开发者
- 把签名图导出后贴到单据预览或业务系统保存的全栈工程师
- 在小程序或网页中实现轻量手写确认、但不替代 CA 电子签章的研发人员