博客
关于我
vue 实现鼠标签名,支持PC\移动端
阅读量:300 次
发布时间:2019-03-01

本文共 1390 字,大约阅读时间需要 4 分钟。

Vue项目中使用vue-esign插件进行电子签名

在Vue项目中集成电子签名功能,可以通过使用vue-esign插件轻松实现。以下是使用步骤和代码示例:

1. 安装插件

首先,在项目中安装vue-esign插件:

npm install vue-esign --save

2. 在主文件中引入插件

main.js中引入并注册插件:

import vueEsign from 'vue-esign'Vue.use(vueEsign)

3. 在组件中使用

在需要使用签名功能的组件中,引入vue-esign并配置相关属性:

4. 获取签名数据

在生成签名时,可以通过handleGenerate方法获取签名数据:

handleGenerate() {  this.$refs.esign.generate().then(res => {    var _this = this    const blob = _this.dataURLtoBlob(res)    const tofile = _this.blobToFile(blob, '签名.jpg')    setTimeout(async () => {      const formData = new FormData()      formData.append('file', tofile, tofile.name)      formData.append('fileType', 9)      // 发送AJAX请求    }, 1000)  }).catch(err => {    this.$notify({      title: '提示',      message: '失败',      type: 'warning'    })  })}dataURLtoBlob(dataurl) {  var arr = dataurl.split(',')  var mime = arr[0].match(/:(.*?);/)[1]  var bstr = atob(arr[1])  var n = bstr.length  var u8arr = new Uint8Array(n)  while (n--) {    u8arr[n] = bstr.charCodeAt(n)  }  return new Blob([u8arr], {    type: mime  })}blobToFile(theBlob, fileName) {  theBlob.lastModifiedDate = new Date()  theBlob.name = fileName  return theBlob}

5. 清空签名

当需要清空签名时,可以调用reset方法:

handleReset() {  if (this.$refs.esign) {    this.$refs.esign.reset()  }  var obj = document.getElementById("canvas")  obj.style.backgroundColor = "#fff"}

通过以上步骤,可以在Vue项目中轻松集成电子签名功能,并根据需求进行数据处理和AJAX提交。

转载地址:http://asnv.baihongyu.com/

你可能感兴趣的文章
NOTE:rfc5766-turn-server
查看>>
Notepad ++ 安装与配置教程(非常详细)从零基础入门到精通,看完这一篇就够了
查看>>
Notepad++在线和离线安装JSON格式化插件
查看>>
notepad++最详情汇总
查看>>
notepad++正则表达式替换字符串详解
查看>>
notepad如何自动对齐_notepad++怎么自动排版
查看>>
Notes on Paul Irish's "Things I learned from the jQuery source" casts
查看>>
Notification 使用详解(很全
查看>>
NotImplementedError: Cannot copy out of meta tensor; no data! Please use torch.nn.Module.to_empty()
查看>>
NotImplementedError: Could not run torchvision::nms
查看>>
nova基于ubs机制扩展scheduler-filter
查看>>
Now trying to drop the old temporary tablespace, the session hangs.
查看>>
nowcoder—Beauty of Trees
查看>>
np.arange()和np.linspace()绘制logistic回归图像时得到不同的结果?
查看>>
np.power的使用
查看>>
NPM 2FA双重认证的设置方法
查看>>
npm build报错Cannot find module ‘webpack/lib/rules/BasicEffectRulePlugin‘解决方法
查看>>
npm build报错Cannot find module ‘webpack‘解决方法
查看>>
npm ERR! ERESOLVE could not resolve报错
查看>>
npm ERR! fatal: unable to connect to github.com:
查看>>