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

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

1 、安装插件 vue-esign

npm install vue-esign --save

2、在main.js引用

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

3、页面中使用

清空
保存
引入地址 import { baseUrl} from '@/utils/env.js'; data () { return { lineWidth: 6, lineColor: '#000000', bgColor: '', resultImg: '', isCrop: false }},

**4、返回数据为base64 具体看你返回得数据 **

handleGenerate() {    // 获取base64                var _this = this                _this.$refs.esign.generate().then(res => {                       // 转成文件                    var blob = _this.dataURLtoBlob(res)                    var tofile = _this.blobToFile(blob, '签名.jpg')                    setTimeout(async () => {                           const formData = new FormData()                        formData.append('file', tofile, tofile.name)                        formData.append('fileType', 9)                        // ajax 请求                    })                }).catch(err => {                        // 画布没有签字时提示                     this.$notify({                           title: '提示',                        message: '失败',                        type: 'warning'                    });                })            },            // 将base64转换为blob            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 })            },            // 将blob转换为file            blobToFile(theBlob, fileName) {                   theBlob.lastModifiedDate = new Date()                theBlob.name = fileName                return theBlob            },

5、清除

handleReset() {    // 清除                if (this.$refs.esign) {                       this.$refs.esign.reset();                }                var obj = document.getElementById("canvas");                obj.style.backgroundColor = "#fff";  保存时背景            },

6、图例

在这里插入图片描述

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

你可能感兴趣的文章
MySQL连环炮,你扛得住嘛?
查看>>
mysql逗号分隔的字符串如何搜索
查看>>
MySQL通用优化手册
查看>>
Mysql通过data文件恢复
查看>>
MYSQL遇到Deadlock found when trying to get lock,解决方案
查看>>
MYSQL遇到Deadlock found when trying to get lock,解决方案
查看>>
mysql部署错误
查看>>
MySQL配置信息解读(my.cnf)
查看>>
Mysql配置文件my.ini详解
查看>>
MySQL配置文件深度解析:10个关键参数及优化技巧---强烈要求的福利来咯。
查看>>
Mysql配置表名忽略大小写(SpringBoot连接表时提示不存在,实际是存在的)
查看>>
mysql配置读写分离并在若依框架使用读写分离
查看>>
MySQL里为什么会建议不要使用SELECT *?
查看>>
MySQL里的那些日志们
查看>>
MySQL锁
查看>>
MySQL锁与脏读、不可重复读、幻读详解
查看>>
MySQL锁机制
查看>>
mysql锁机制,主从复制
查看>>
Mysql锁机制,行锁表锁
查看>>
MySQL锁表问题排查
查看>>