博客
关于我
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灵魂16问,你能撑到第几问?
查看>>
MySQL灵魂拷问:36题带你面试通关
查看>>
mysql状态分析之show global status
查看>>
mysql状态查看 QPS/TPS/缓存命中率查看
查看>>
mysql生成树形数据_mysql 实现树形的遍历
查看>>
mysql用于检索的关键字_Mysql全文搜索match...against的用法
查看>>
MySQL用得好好的,为什么要转ES?
查看>>
MySql用户以及权限的管理。
查看>>
MySQL用户权限配置:精细控制和远程访问的艺术!------文章最后有惊喜哦。
查看>>
mysql用户管理、常用语句、数据分备份恢复
查看>>
MySQL留疑问:left join时选on还是where?
查看>>
mysql登陆慢问题解决
查看>>
Mysql百万级数据查询优化
查看>>
MySQL的 DDL和DML和DQL的基本语法
查看>>
mysql的 if else , case when then, IFNULL
查看>>
MySQL的10种常用数据类型
查看>>
MySQL的btree索引和hash索引的区别
查看>>
mysql的cast函数
查看>>
MySql的CRUD(增、删、改、查)操作
查看>>