精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

一款開箱即用的電子簽名組件

開發 前端
我們可以使用它輕松的實現電子簽名, 比如說常用的合同簽字, 文稿簽名, 藝術簽名等, 并支持一鍵將簽名保存.

hello, 大家好, 我是徐夕, 今天又到了分享時間. 今天和大家分享一下我最近開源的輕量級電子簽名組件——react-sign2.

圖片

我們可以使用它輕松的實現電子簽名, 比如說常用的合同簽字, 文稿簽名, 藝術簽名等, 并支持一鍵將簽名保存.

基本使用

我們要想直接使用, 可以在 npm? 上安裝 react-sign2 :

# 或者yarn add react-sign2
npm i react-sign2

然后一個簡單的使用如下:

import Sign from 'react-sign2';

export default () =>
<Sign width={400} notallow={(c) =>;

react-sign2還提供了很多可定制的屬性, 來方便使用者靈活定制電子簽名, 以下是開放性屬性介紹:

圖片

比如我可以調整線條的顏色:

圖片

調整線條寬度:

圖片

在具體使用的時候靈活配置即可, 我還提供了業務中經常用到的監聽事件, 方便使用者靈活調用:

  • onSave保存時的回調
  • onClear當畫布清空時的回調
  • onDrawEnd每次繪制結束時的回調

實現思路

按照筆者之前的習慣, 在設計組件之前都會先明確組件的設計需求, 然后根據健壯組件的設計原則來落地組件, 這里給大家分享一下我總結的幾條組件設計經驗:

  • 對組件進行嚴格的屬性設計, 保證業務層能低成本使用組件, 并保持一定的可配性
  • 組件內外部類型約定(ts規范), 并提供對邏輯的兼容性
  • 可讀性(代碼格式統一清晰,注釋完整,代碼結構層次分明,編程范式使用得當)
  • 可用性(代碼功能完整,在不同場景都能很好兼容,業務邏輯覆蓋率)
  • 復用性(代碼可以很好的被其他業務模塊復用)
  • 可維護性(代碼易于維護和擴展,并有一定的向下/向上兼容性)
  • 高性能(組件具有一定的性能, 如復雜場景的渲染, 計算等)

對于電子簽名組件, 我們最小化的需求就是能滿足用戶的線上簽名, 并能保存簽名數據.

圖片

以上就是我們最小化的需求, 為了滿足我總結的組件設計幾大原則, 我們需要對組件進行近一步的需求分析: 簽名的顏色, 筆觸的粗細, 平滑度, 支持自定義事件等.

這些都是組件第一個階段可以想到的配置點, 也是能應對第一階段業務需求的功能, 所以有了第一版的組件需求設計:

圖片

接下來就需要用 typescript 來規范組件的輸入和輸出了. 具體定義如下:

export interface IProp {
/**
* @description 畫布寬度
* @default 400
*/
width?: number;
/**
* @description 畫布高度
* @default 200
*/
height?: number;
/**
* @description 線寬
* @default 4
*/
lineWidth?: number;
/**
* @description 線段顏色
* @default 'red'
*/
strokeColor?: string;
/**
* @description 設置線條兩端圓角
* @default 'round'
*/
lineCap?: string;
/**
* @description 線條交匯處圓角
* @default 'round'
*/
lineJoin?: string;
/**
* @description 畫布背景顏色
* @default 'transparent'
*/
bgColor?: string;
/**
* @description true
*/
showBtn?: boolean;
/**
* @description 當保存時的回調, blob為生成的圖片bob
* @default -
*/
onSave?: (blob: Blob) => void;
/**
* @description 當畫布清空時的回調, 參數為畫布的上下文對象,可以直接使用canvas的api
* @default -
*/
onClear?: (canvasContext: CanvasRenderingContext2D) => void;
/**
* @description 當畫布結束時的回調
* @default -
*/
onDrawEnd?: (canvas: HTMLCanvasElement) => void;
}

接下來就到了我們具體的代碼實現階段. 由于電子簽名的核心技術采用的是canvas?(雖然用dom和svg也可以實現), 所以無論你是用的react?還是vue3?, 或者似乎原生態javascript?, 都能低成本的封裝. 這里筆者采用全球程序員最愛用的react 來實現.

圖片

以上是組件的基本屬性定義和代碼結構, 畫圖部分涉及到 canvas 的比較細節的部分, 如果大家對圖形學感興趣可以參考我的專欄:

100+前端幾何學應用案例 100+前端幾何學應用案例

具體實現的源碼我已經上傳到github, 感興趣的朋友大家可以參考一下, 有問題隨時交流反饋.

github: https://github.com/MrXujiang/react-sign

大家如果想直接使用, 可以使用如下方式安裝使用:

react-sign2 官方演示文檔

擴展

這里給大家聊點題外話, 也是大家比較關注的話題——如何持續維護開源項目. 就拿本文中實現的 react-sign2 舉例,  以上分享的只是組件的第一階段實現, 為了讓我們的開源組件能被更多的人使用, 我們必須與時俱進, 隨著技術的發展持續迭代優化技術底層實現, 比如跨平臺, 跨終端, 跨框架, 優化或者增加新功能:

圖片

這樣我們的開源組件庫才能覆蓋更多場景, 被更多人使用.

所以, 開源的正確打開方式, 你學會了嗎? 如果對上面的迭代方向感興趣, 歡迎在評論區交流, 一起共建v3.0.0.

參考資料

  1. https://developer.mozilla.org/zh-CN/docs/Web/API/Canvas_API
  2. https://juejin.cn/post/7174251833773752350
責任編輯:武曉燕 來源: 趣談前端
相關推薦

2023-10-31 08:03:33

開源電子簽名組件

2021-07-01 07:51:44

Vite管理模版

2013-11-01 09:37:19

Android系統架構工具

2015-06-30 09:49:19

管理平臺開源KVM

2021-08-31 15:53:48

Nuxt 開箱服務

2024-08-19 09:25:42

2023-01-15 20:28:32

前端圖片壓縮

2023-03-08 21:25:58

開源工具庫開箱

2022-08-08 08:29:55

圖片壓縮前端互聯網

2023-11-04 12:43:44

前端圖片參數

2011-04-14 14:55:02

超云云計算

2021-09-26 05:41:47

基礎設施連接無線技術網絡

2025-07-10 00:00:05

開箱ApacheHertzbeat

2020-12-03 09:33:58

前端開發工具

2016-09-19 13:44:54

vue翻頁組件Web

2022-02-28 08:19:25

圖片預覽動畫前端

2021-09-01 17:43:32

StreamNativ開源

2021-09-28 09:30:18

uni-appVue 3.0uniCloud
點贊
收藏

51CTO技術棧公眾號

99久久婷婷国产综合精品青牛牛| 国产日韩一级片| 亚洲老女人视频免费| 精品日韩视频在线观看| 美脚丝袜一区二区三区在线观看| 久久国产视频一区| 奇米影视亚洲| 欧美性高清videossexo| 椎名由奈jux491在线播放 | 不卡在线一区二区| 欧美日韩高清一区| 国产真实老熟女无套内射| 五月婷婷免费视频| 久久精品国产亚洲aⅴ| 久久综合国产精品台湾中文娱乐网| 男人的天堂免费| 欧美久久天堂| 中文字幕一区二区三区av| 国产不卡一区二区在线观看| 中文字幕激情小说| 国产精品99在线观看| 亚洲国产精品久久91精品| 国产美女三级视频| av在线下载| 久久看人人爽人人| 亚洲iv一区二区三区| 五月激情六月丁香| 一级欧洲+日本+国产| 亚洲成人在线网| 黄色永久免费网站| 俺来俺也去www色在线观看| 日本一区二区三区四区在线视频| 亚洲qvod图片区电影| 国内自拍视频在线播放| 综合一区在线| 亚洲最新av在线网站| 中文字幕永久免费| 亚洲www.| 亚洲成人自拍网| 在线视频福利一区| 精品999视频| 国产成人在线影院 | 欧美一二三区视频| 91精品国产91久久久久久密臀| 日韩电影大片中文字幕| 少妇愉情理伦片bd| 成人精品国产| 精品露脸国产偷人在视频| 吴梦梦av在线| 成人77777| 99re6这里只有精品视频在线观看 99re8在线精品视频免费播放 | 午夜精品国产| 中文字幕在线观看亚洲| 在线观看日韩精品视频| jizz久久精品永久免费| 欧美性猛交xxxx黑人交| 欧美 日韩 国产一区| 菠萝菠萝蜜在线观看| 国产精品无遮挡| 日韩国产欧美一区| 国产鲁鲁视频在线观看免费| 99r精品视频| 国产综合18久久久久久| 亚洲国产精品一| 国产激情一区二区三区四区| 国产免费一区视频观看免费| 国产日韩在线免费观看| 丝袜亚洲另类丝袜在线| 青草青草久热精品视频在线观看| 男女视频免费看| 亚洲乱码视频| 久久免费视频网站| 国产成人亚洲精品自产在线 | 亚洲黄页视频免费观看| 国产69视频在线观看| 6080亚洲理论片在线观看| 3d动漫精品啪啪一区二区竹菊| 亚洲第一中文av| 在线看欧美视频| 欧美亚洲国产一卡| 午夜精品久久久久久久99热影院| 久久av影院| 精品视频一区二区不卡| 在线黄色免费看| 国产日本亚洲| 日韩美女在线视频| 老司机免费视频| 日韩成人av在线资源| 精品视频在线导航| 亚洲午夜久久久久久久国产| 日韩欧美网站| 欧美成人国产va精品日本一级| 欧美日韩偷拍视频| aa国产精品| 国产成人av在线播放| 在线观看免费视频一区| 狠狠久久亚洲欧美| 国产精品高清一区二区三区| 熟妇人妻一区二区三区四区| 久久亚洲私人国产精品va媚药| 日本一区二区三区四区在线观看| 91porn在线观看| 中文字幕一区二区不卡| 国产日产欧美一区二区| 24小时免费看片在线观看| 欧美视频在线观看 亚洲欧| 国产97色在线 | 日韩| 涩涩涩久久久成人精品| 精品国产一区二区三区忘忧草| 黄色片视频免费观看| 九九热线有精品视频99| 国产一区二区免费| 中国毛片直接看| 亚洲电影成人| 国产精品免费在线免费| 超碰在线播放97| 久久久高清一区二区三区| 黄色高清视频网站| 日韩av影片| 91麻豆精品国产自产在线| 一级黄色免费视频| 欧美猛男做受videos| 欧美大胆在线视频| 伊人中文字幕在线观看| 国产大陆精品国产| 色一情一乱一伦一区二区三欧美| 影音先锋在线播放| 在线欧美日韩国产| 国产真实乱人偷精品| 99精品美女| 2019中文字幕免费视频| 国产特级黄色片| 国产视频一区二区在线| 妺妺窝人体色www看人体| 黄色精品视频| 亚洲女成人图区| 国产亚洲精久久久久久无码77777| 久久这里有精品15一区二区三区| 99re国产视频| av在线免费观看网| 精品福利在线看| 色哟哟在线观看视频| 欧美午夜精彩| 日韩av毛片网| 欧美一区二区公司| 亚洲欧美日韩久久精品| 人人干人人干人人| 狠狠色狠狠色综合婷婷tag| 精品少妇v888av| 国产又粗又黄视频| 国产女主播视频一区二区| 黄色av网址在线播放| 国产成人高清精品免费5388| 美女av一区二区| 91成品人影院| 国产精品初高中害羞小美女文| 激情婷婷综合网| 青青视频一区二区| 国外视频精品毛片| 欧美天堂在线视频| 性欧美疯狂xxxxbbbb| 岛国大片在线免费观看| 欧美视频官网| 国产精品日韩一区二区三区| 欧美人与性动交α欧美精品济南到| 欧美日韩不卡在线| 久久人妻无码aⅴ毛片a片app| 日韩电影在线观看网站| 日本一区不卡| 全球中文成人在线| 俺也去精品视频在线观看| 国产一区二区三区成人| 日韩毛片视频在线看| 国产精品久久a| 国产精品久久久乱弄| 成人欧美一区二区三区黑人孕妇 | 黄色av网站免费观看| 久久午夜国产精品| 成人免费视频久久| av一区二区在线播放| 国产精品啪视频| 国产一二区在线| 日韩一卡二卡三卡国产欧美| 久久机热这里只有精品| 99久久国产综合精品色伊| 国产视频九色蝌蚪| 偷拍精品福利视频导航| 欧美孕妇与黑人孕交| 国内在线精品| 欧美日韩高清在线播放| 免费在线黄色片| av在线不卡电影| 成人黄色片视频| 日本在线电影一区二区三区| 国产综合久久久久久| 黄网站在线免费| 亚洲国产高清高潮精品美女| 亚洲 欧美 中文字幕| 国产精品久久久久四虎| 久久久久亚洲av无码网站| 影音先锋久久久| 日本日本精品二区免费| 国产一区二区三区视频在线| 97在线看免费观看视频在线观看| 国产69精品久久app免费版| 欧美一区二区性放荡片| 日本熟女一区二区| 国产日韩成人精品| 久久久精品人妻一区二区三区| 一区二区三区精品视频在线观看 | 日韩一二三四| 欧美日韩大陆一区二区| 国产稀缺真实呦乱在线| 国产精品人成在线观看免费| 久久精品无码专区| 日韩va欧美va亚洲va久久| 欧美日韩午夜爽爽| 欧美系列电影免费观看| 亚洲精品免费网站| 国产超碰精品| 午夜精品久久久久久久久久久久久| 丁香在线视频| 亚洲国产福利在线| 国产青青草视频| 色噜噜夜夜夜综合网| 日本黄色片免费观看| 91麻豆产精品久久久久久| 肉色超薄丝袜脚交| 日日噜噜夜夜狠狠视频欧美人| 欧美一二三不卡| 日韩黄色大片网站| 精品久久精品久久| 亚洲国产中文在线| 成人国内精品久久久久一区| 日韩av影片| 欧美激情一区二区三区在线视频观看 | 奇米影视888狠狠狠777不卡| 91精品啪在线观看国产60岁| 老熟妇仑乱一区二区av| 中文字幕五月欧美| 成人无码av片在线观看| 99久久免费精品高清特色大片| 国产又粗又长又爽又黄的视频| 日本美女一区二区| 欧美,日韩,国产在线| 午夜视频精品| 成年人三级视频| 欧美韩国日本在线观看| 日韩高清国产精品| 久操国产精品| eeuss一区二区三区| 精品视频91| 91精品免费视频| 久久福利在线| 国产视频观看一区| 97欧美成人| 国产精品嫩草视频| 91国内外精品自在线播放| 97视频在线播放| 国产精品xx| 91成人免费观看网站| av在线加勒比| 97国产真实伦对白精彩视频8| 国产蜜臀在线| 另类美女黄大片| 巨大荫蒂视频欧美大片| 久久在线视频在线| www国产在线观看 | 搞黄网站在线观看| 久久综合伊人77777| av在线播放观看| 欧美黄色片免费观看| 韩国成人免费视频| 欧美日韩国产va另类| 国产蜜臀在线| 欧美一级在线亚洲天堂| 刘亦菲一区二区三区免费看| 日韩免费观看网站| 国产综合色在线观看| 国产美女主播一区| 日韩精品一区二区三区中文| 动漫3d精品一区二区三区 | 日韩一区和二区| 在线免费观看视频网站| 51精品视频一区二区三区| 精品人妻一区二区三区含羞草| 欧美大胆一级视频| 天堂а在线中文在线无限看推荐| 亚洲精品在线电影| 婷婷五月综合激情| 亚洲人高潮女人毛茸茸| 亚洲s色大片| 欧美国产视频一区二区| 精品国产18久久久久久| 欧美r级电影在线观看| 国产精品一二三区视频| 久久久久久九九九| 日韩一级特黄| 久久综合精品一区| 欧美日本一区| 久久精品影视大全| 99久久99久久精品国产片果冻| 午夜成人亚洲理伦片在线观看| 天天综合天天做天天综合| 国产精品九九九九| 亚洲欧美激情在线视频| 搞黄网站在线看| 91精品在线观看视频| 精品国产乱码久久久久久果冻传媒 | 1stkiss在线漫画| 国产97在线|亚洲| 成人午夜网址| 欧美h视频在线观看| 日韩avvvv在线播放| 天天插天天射天天干| 亚洲精品第1页| 91精品在线视频观看| 亚洲欧洲激情在线| 免费在线小视频| 国产精品福利视频| 欧美性色综合| 久久久九九九热| 国产精品妹子av| 国产在线一级片| 亚洲最新av网址| 亚洲第一会所| 欧美专区一二三| 免费日韩av| 日本xxx在线播放| 精品国产91久久久久久| 二区三区在线视频| 欧美大片在线免费观看| www.久久草.com| 亚洲综合第一| 久久91精品久久久久久秒播| 亚洲色图欧美色| 欧美手机在线视频| av资源种子在线观看| 国产精品色婷婷视频| 欧美色网址大全| 性欧美1819| 国产精品嫩草影院com| 中国a一片一级一片| 一区二区三区美女xx视频| 欧美福利在线播放| 色综合久久av| 麻豆精品一区二区av白丝在线| www久久久久久久| 欧美色男人天堂| 免费av在线| 99re国产视频| 国产日韩精品视频一区二区三区| 一级国产黄色片| 色偷偷成人一区二区三区91| 可以直接在线观看的av| 国产精品27p| 精品日韩免费| 亚洲激情在线看| 一区二区欧美精品| 日本美女一级片| 国产成人精品电影久久久| 中文字幕精品影院| 免费涩涩18网站入口| 亚洲日本一区二区三区| 亚洲高清视频网站| 欧美最猛性xxxxx(亚洲精品)| 红桃视频在线观看一区二区| wwwwwxxxx日本| 亚洲午夜久久久久| 免费在线视频你懂得| 国产精品亚洲欧美导航| 中文字幕人成人乱码| 99精品一区二区三区无码吞精| 色综合久久66| 黄色动漫在线| 久久一区二区三区av| 免费在线观看不卡| 久久久国产精华液| 日韩精品极品在线观看| 日本国产一区| 男人日女人视频网站| 国产蜜臀av在线一区二区三区| 99久久精品日本一区二区免费| 91精品国产91久久久| 久久久影院免费| 精品国产人妻一区二区三区| 欧美三级蜜桃2在线观看| 乱插在线www| 西游记1978| 成人高清在线视频| 中文字幕在线观看第二页| 国模极品一区二区三区| 久久精品国产99久久| 人妻少妇精品视频一区二区三区| 在线不卡中文字幕播放| 韩日成人影院| 高清无码一区二区在线观看吞精| 久久精品人人做| 日韩在线一区二区三区四区| 国产一区二区色|