关系经济人类预测化学自然
投稿投诉
自然科学
知识物理
化学生物
地理解释
预测理解
本质社会
人类现象
行为研究
经济政治
心理结构
关系指导
人文遗产

开源推荐!一款开箱即用的电子签名组件

4月24日 星宿房投稿
  作者:徐小夕
  公众号:趣谈前端
  hello,大家好,我是徐夕,今天又到了分享时间。今天和大家分享一下我最近开源的轻量级电子签名组件reactsign2。
  我们可以使用它轻松的实现电子签名,比如说常用的合同签字,文稿签名,艺术签名等,并支持一键将签名保存。基本使用
  我们要想直接使用,可以在npm上安装reactsign2:或者yarnaddreactsign2npmireactsign2
  然后一个简单的使用如下:importSignfromreactsign2;exportdefault()Signwidth{400}onDrawEnd{(c)console。log(c)};
  reactsign2还提供了很多可定制的属性,来方便使用者灵活定制电子签名,以下是开放性属性介绍:
  比如我可以调整线条的颜色:
  调整线条宽度:
  在具体使用的时候灵活配置即可,我还提供了业务中经常用到的监听事件,方便使用者灵活调用:onSave保存时的回调onClear当画布清空时的回调onDrawEnd每次绘制结束时的回调实现思路
  按照笔者之前的习惯,在设计组件之前都会先明确组件的设计需求,然后根据健壮组件的设计原则来落地组件,这里给大家分享一下我总结的几条组件设计经验:对组件进行严格的属性设计,保证业务层能低成本使用组件,并保持一定的可配性组件内外部类型约定(ts规范),并提供对逻辑的兼容性可读性(代码格式统一清晰,注释完整,代码结构层次分明,编程范式使用得当)可用性(代码功能完整,在不同场景都能很好兼容,业务逻辑覆盖率)复用性(代码可以很好的被其他业务模块复用)可维护性(代码易于维护和扩展,并有一定的向下向上兼容性)高性能(组件具有一定的性能,如复杂场景的渲染,计算等)
  对于电子签名组件,我们最小化的需求就是能满足用户的线上签名,并能保存签名数据。
  以上就是我们最小化的需求,为了满足我总结的组件设计几大原则,我们需要对组件进行近一步的需求分析:签名的颜色,笔触的粗细,平滑度,支持自定义事件等。
  这些都是组件第一个阶段可以想到的配置点,也是能应对第一阶段业务需求的功能,所以有了第一版的组件需求设计:
  接下来就需要用typescript来规范组件的输入和输出了。具体定义如下:exportinterfaceIProp{description画布宽度default400width?:description画布高度default200height?:description线宽default4lineWidth?:description线段颜色defaultredstrokeColor?:description设置线条两端圆角defaultroundlineCap?:description线条交汇处圆角defaultroundlineJoin?:description画布背景颜色defaulttransparentbgColor?:descriptiontrueshowBtn?:description当保存时的回调,blob为生成的图片bobdefaultonSave?:(blob:Blob)description当画布清空时的回调,参数为画布的上下文对象,可以直接使用canvas的apidefaultonClear?:(canvasContext:CanvasRenderingContext2D)description当画布结束时的回调defaultonDrawEnd?:(canvas:HTMLCanvasElement)}
  接下来就到了我们具体的代码实现阶段。由于电子签名的核心技术采用的是canvas(虽然用dom和svg也可以实现),所以无论你是用的react还是vue3,或者似乎原生态javascript,都能低成本的封装。这里笔者采用全球程序员最爱用的react来实现。
  以上是组件的基本属性定义和代码结构,画图部分涉及到canvas的比较细节的部分,如果大家对图形学感兴趣可以参考我的专栏:
  100前端几何学应用案例100前端几何学应用案例
  具体实现的源码我已经上传到github,感兴趣的朋友大家可以参考一下,有问题随时交流反馈。
  大家如果想直接使用,可以使用如下方式安装使用:
  reactsign2官方演示文档扩展
  这里给大家聊点题外话,也是大家比较关注的话题如何持续维护开源项目。就拿本文中实现的reactsign2举例,以上分享的只是组件的第一阶段实现,为了让我们的开源组件能被更多的人使用,我们必须与时俱进,随着技术的发展持续迭代优化技术底层实现,比如跨平台,跨终端,跨框架,优化或者增加新功能:
  这样我们的开源组件库才能覆盖更多场景,被更多人使用。
  所以,开源的正确打开方式,你学会了吗?如果对上面的迭代方向感兴趣,欢迎一起共建v3。0。0。更多推荐Dooring低代码关于辅助设计的思考和实践
  低代码平台组件间通信方案复盘
  如何评价Dooring低代码零代码搭建平台?
投诉 评论 转载

有你陪伴我不孤单因为有你的陪伴,我度过了一个个难关;因为有你的鼓励,我攻克了一道道难题。因为有你,在成长的路上,我从不孤单。小的时候,妈妈总会鼓励我:要勇敢,遇到困难不要退缩,不要害怕。……下来造句用下来造句大全181、雨是一年雨季中最温的。春雨下起来,就如千缕万缕细细的银丝,带着冬季残留下来的微微寒意,还带着春天的喜讯,微笑着温柔的下起来,冲刷着冬天遗留下来的痕迹,迎来春天。1……陀思妥耶夫斯基自述穷人小引鲁迅千八百八十年,是陀思妥夫斯基完成了他的巨制之一《卡拉玛卓夫兄弟》这一年;他在手记上说:以完全的写实主义在人中间发见人。这是彻头彻尾俄国底特质。在这意义上,我自然是民族底的。人称……笑傲江湖第一大门派是日月神教还是五岳剑派《笑傲江湖》中,为了对抗日月神教,华山派、嵩山派、恒山派、泰山派、衡山派结为同盟,因这五派的武功都已剑术为主,所以被称为五岳剑派。五岳剑派的历史已有百年,只是他们表面上和和气气……1天白嫖LOL全英雄和皮肤LOL台服超强活动!LOL台服下载英雄联盟台服最强活动,从下载到白嫖全英雄海量皮肤攻略现在开始!光全英雄就价值3512。5元,更别说还能白嫖皮肤了,以下所有网址我都会放在文章最后。一、注册台服账号……NBA180俱乐部有多难?建队76年仅9位入选,现役4人,库前言:对于一名NBA射手来说,如果能进入NBA180俱乐部那就是对一名投手最大的褒奖,这就好比一支球队的当家球星取得常规赛MVP那么重要。你也许会说我夸张了,180俱乐部……中蜂强群的标准是怎样的强群是养蜂生产获取高产的基础,在大流蜜期一个强群的生产效率远远要大于弱群,因此如何将蜂群培育成为强群是养蜂人的重点工作,但什么样的群势才算得上强群呢?下面我们就一起来看一看中蜂……网络营销渠道建设案例分析(一)李宁公司简介1990年,某有限公司从广东三水起步。1995年,某公司成为中国体育用品行业的领跑者。1998年,公司建立了本土公司第一家服装与鞋的产品设计开发中心,成……为梦想而奋斗梦想是什么?梦想是一根蜡烛,燃烧自己,照亮我们。梦想是什么?梦想是一架飞机,翱翔空中,承载梦想。我的梦想是当一名画家,这个梦想要追溯到我在幼儿园时,老师让我们画一幅……男生对女生表白感动话一、一首小情歌,一个小小的我,想你的时候感动太多,忍不住掉下眼泪一颗,化作了云儿一朵,化作了河畔一个,愿你抬头看到我,心烦想到我,是时时刻刻知道爱你的人是我,是我,还是我,亲爱……和尚的媳妇有一个卖豆腐的小孩总是认为尼姑是和尚媳妇,有一天尼姑去买豆腐,这个小孩就叫她和尚媳妇。这可气坏了尼姑,没给豆腐钱就走了。小孩坐在地上就哭。这时正好路过一个和尚……开源推荐!一款开箱即用的电子签名组件作者:徐小夕公众号:趣谈前端hello,大家好,我是徐夕,今天又到了分享时间。今天和大家分享一下我最近开源的轻量级电子签名组件reactsign2。我们可以使……
十个男九个肾亏补肾四大秘诀快来看字母哥4314下半场砍34分,雄鹿力克篮网获3连胜校准造句用校准造句大全解析妈妈喂奶与减肥的真实关系9598!新疆队首败,赛末遭逆转!于德豪14分,替补奇兵17以产品为例为你解读交互大定律美的生活美好的趣味生活,源于何处手机与笔记本电脑辐射大吗校园引进直饮水有哪些优势今年春天奶奶裙火了,可以选择这几款,减龄优雅又气质齐鸣造句用齐鸣造句大全第十一届中式台球国际大师赛全球总决赛赛况
网吧需要几个消防通道【歌词】施舍的爱歌手:彤杰热评聚热点网 7月10日广东省第十三届运动会羽毛球观战记好运造句用好运造句大全提前庆祝结婚三周年2017年有关儿童节的对联关于春天日记国乒有多内卷?陈梦晒晨跑照,秀马甲线!球迷伊藤美诚赢不了她佛手主要栽培品种有哪些?金鹰女神候选人关键词公布,传闻宋茜已拿下金鹰女神股票继承纠纷怎样处理办公室健身减肥操的做法

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找菏泽德阳山西湖州宝鸡上海茂名内江三亚信阳长春北海西安安徽黄石烟台沧州湛江肇庆鹤壁六安韶关成都钦州