博客
关于我
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/

你可能感兴趣的文章
No Datastore Session bound to thread, and configuration does not allow creation of non-transactional
查看>>
No fallbackFactory instance of type class com.ruoyi---SpringCloud Alibaba_若依微服务框架改造---工作笔记005
查看>>
No Feign Client for loadBalancing defined. Did you forget to include spring-cloud-starter-loadbalanc
查看>>
No mapping found for HTTP request with URI [/...] in DispatcherServlet with name ...的解决方法
查看>>
No module named 'crispy_forms'等使用pycharm开发
查看>>
No module named cv2
查看>>
No module named tensorboard.main在安装tensorboardX的时候遇到的问题
查看>>
No module named ‘MySQLdb‘错误解决No module named ‘MySQLdb‘错误解决
查看>>
No new migrations found. Your system is up-to-date.
查看>>
No qualifying bean of type XXX found for dependency XXX.
查看>>
No resource identifier found for attribute 'srcCompat' in package的解决办法
查看>>
no session found for current thread
查看>>
No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android
查看>>
NO.23 ZenTaoPHP目录结构
查看>>
NO32 网络层次及OSI7层模型--TCP三次握手四次断开--子网划分
查看>>
NoClassDefFoundError: org/springframework/boot/context/properties/ConfigurationBeanFactoryMetadata
查看>>
Node JS: < 一> 初识Node JS
查看>>
Node-RED中使用JSON数据建立web网站
查看>>
Node-RED中使用json节点解析JSON数据
查看>>
Node-RED中使用node-random节点来实现随机数在折线图中显示
查看>>