博客
关于我
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启动失败:Can't start server: Bind on TCP/IP port
查看>>
mysql启动报错
查看>>
mysql启动报错The server quit without updating PID file几种解决办法
查看>>
MySQL命令行登陆,远程登陆MySQL
查看>>
mysql命令:set sql_log_bin=on/off
查看>>
mySQL和Hive的区别
查看>>
MySQL和Java数据类型对应
查看>>
mysql和oorcale日期区间查询【含左右区间问题】
查看>>
MYSQL和ORACLE的一些操作区别
查看>>
mysql和redis之间互相备份
查看>>
MySQL和SQL入门
查看>>
mysql在centos下用命令批量导入报错_Variable ‘character_set_client‘ can‘t be set to the value of ‘---linux工作笔记042
查看>>
Mysql在Linux运行时新增配置文件提示:World-wrirable config file ‘/etc/mysql/conf.d/my.cnf‘ is ignored 权限过高导致
查看>>
Mysql在Windows上离线安装与配置
查看>>
MySQL在渗透测试中的应用
查看>>
Mysql在离线安装时启动失败:mysql服务无法启动,服务没有报告任何错误
查看>>
Mysql在离线安装时提示:error: Found option without preceding group in config file
查看>>
MySQL基于SSL的主从复制
查看>>
Mysql基本操作
查看>>
mysql基本操作
查看>>