vue 实现签字功能

1、安装:npm install vue-esign --save

2、main.js文件中全局引入:

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

3、页面内容

<vue-esign ref="esign" :width="800" :height="300" :isCrop="isCrop" :lineWidth="lineWidth" :lineColor="lineColor" :bgColor.sync="bgColor" />

<button @click="handleReset">清空画板</button>

<button @click="handleGenerate">生成图片</button>

4、说明:

5、

data () {

return {

lineWidth: 6,

lineColor: '#000000',

bgColor: '',

resultImg: '',

isCrop: false

}

},

methods: {

handleReset () {

this.$refs['esign'].reset() //清空画布

},

handleGenerate () {

this.$refs['esign'].generate().then(res => {

this.resultImg = res // 得到了签字生成的base64图片

let imgFile = this.base64ImgtoFile(res, 'file') //得到文件格式

}).catch(err => { // 没有签名,点击生成图片时调用

this.$message({

message: err + ' 未签名!',

type: 'warning'

})

alert(err) // 画布没有签字时会执行这里 'Not Signned'

})

}

}

6、将base64转化成图片方法:

// 将base64,转换成图片
base64ImgtoFile(dataurl, filename='file') {
const arr = dataurl.split(',')
const mime = arr[0].match(/:(.*?);/)[1]
const suffix = mime.split('/')[1]
const bstr = atob(arr[1])
let n = bstr.length
const u8arr = new Uint8Array(n)
while (n--) {
u8arr[n] = bstr.charCodeAt(n)
}
return new File([u8arr], `${filename}.${suffix}`, {
type: mime
})
},
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/241429.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

自由贸易协定与跨境电商:全球贸易新时代的开启

自由贸易协定&#xff08;Free Trade Agreements, FTA&#xff09;的崛起和跨境电商的兴起相辅相成&#xff0c;共同推动着全球贸易迈入新的时代。本文将深入探讨自由贸易协定与跨境电商的紧密关系&#xff0c;分析它们如何共同促成全球贸易的自由化和便利化&#xff0c;开启全…

KaiwuDB × 国网山东综能 | 分布式储能云边端一体化项目建设

项目背景 济南韩家峪村首个高光伏渗透率台区示范项目因其所处地理位置拥有丰富的光照资源&#xff0c;该区域住户 80% 以上的屋顶都安装了光伏板。仅 2022 年全年&#xff0c;光伏发电总量达到了百万千瓦时。 大量分布式光伏并网&#xff0c;在输出清洁电力的同时&#xff0c…

Android Studio中配置Flutter插件,创建小项目“hello world”

文章目录 一、下载Flutter SDK二、Android studio中安装Flutter插件三、创建Flutter小项目 一、下载Flutter SDK 打开官网https://flutter.io/setup-windows/下载Flutter sdk并解压到一目录 二、Android studio中安装Flutter插件 Android studio中安装Flutter插件&#x…

源代码泄密困扰企业?上海迅软DSE助力解决问题

源代码是软件开发最重要的资源&#xff0c;同时也是开发人员思想、经验和工作的结晶。对于软件开发企业来说&#xff0c;实施有效的源代码防泄密措施至关重要&#xff0c;因为源代码文档和程序文档都具有极高的商业价值&#xff0c;属于企业的商业机密。 为了确保企业的源代码…

Docker 安装Apache Superset 并实现汉化和快速入门

什么是Apache Superset Apache Superset是一个现代化的企业级商业智能Web应用程序。Apache Superset 支持用户的各种数据类型可视化和数据分析&#xff0c;支持简单图饼图到复杂的地理空间图表。Apache Superset 是一个轻量级、简单化、直观化、可配置的BI 框架。 Docker 安…

AI智能视界,视频监控技术的革新与突破

智能视频监控概述 TSINGSEE青犀智能监控系统是通过摄像头采集视频数据&#xff0c;经过压缩技术处理后传输至服务器&#xff0c;再由服务器进行存储和管理并汇聚到EasyCVR视频融合平台之中&#xff0c;进行统一的分发处理。采用先进的视频压缩技术&#xff0c;确保视频质量&am…

PyCharm安装教程

1.1 为什么要安装python开发环境 上一篇文章我们安装了python&#xff0c;准确来说是python解释器&#xff0c;它没有自带的可视化开发工具&#xff0c;只能通过命令行窗口来执行python代码&#xff0c;这里我们就来下载一个用于python开发的可视化工具——PyCharm。 1.2 PyC…

C语言 二叉树详解(自我理解版)!!!二叉树的实现

目录 1.树的概念和结构&#xff08;了解&#xff09; 1.1树的概念 1.2关于树的每个组成结构的叫法 1.3树的结构体表示 1.4树在实际中的运用 2.二叉树的概念和结构和实现&#xff08;本期偏重点之一&#xff09; 二叉树的概念 ​编辑 特殊的二叉树 1.完全二叉树 2.满二…

HarmonyOS4.0从零开始的开发教程11Video组件的使用

HarmonyOS&#xff08;九&#xff09;Video组件的使用 概述 在手机、平板或是智慧屏这些终端设备上&#xff0c;媒体功能可以算作是我们最常用的场景之一。无论是实现音频的播放、录制、采集&#xff0c;还是视频的播放、切换、循环&#xff0c;亦或是相机的预览、拍照等功能…

react 学习笔记 李立超老师(学习中~) | JSX - React组件 - 钩子函数

文章目录 react学习笔记01入门概述React 基础案例HelloWorld三个API介绍 JSXJSX 解构数组 创建react项目(手动)创建React项目(自动) | create-react-app事件处理React中的CSS样式内联样式 | 内联样式中使用state (不建议使用)外部样式表 | CSS Module React组件函数式组件和类组…

郑重声明 | 【机器学习之心】无小号,打者本人旗号干活的其他号,本人概不负责,可笑,未经过我同意就成你们的合作账号了?

打着本人旗号的号如下&#xff08;主要是天天Matlab团队&#xff09; 可笑&#xff0c;未经过我同意就成你们的合作账号了&#xff1f; 天天Matlab科研工作室 科研助手大师 机器学习之星主&#xff08;这个恶心&#xff0c;名字都仿我&#xff09; 海神之光 上述号没有程序售…

亚马逊鲲鹏系统:防关联技术守护您的账户安全

亚马逊买家账号注册是一项相当简便的操作&#xff0c;但当涉及到批量注册时&#xff0c;我们就需要更加注意防关联的问题。对于那些对此领域不够熟悉的朋友们&#xff0c;可以使用亚马逊鲲鹏系统&#xff0c;这款系统能够为我们提供一站式的解决方案。该系统不仅支持买家账号的…

Windows提权方法

简介 内网提权&#xff0c;本意为通过某些服务的漏洞&#xff0c;从而获取到该服务器的shell&#xff0c;进而内网渗透&#xff0c;最终从普通用户变成超级管理员的一个过程 以下是一些常见的内网提权原理和方法&#xff1a; 横向移动&#xff1a;攻击者通过在内网中的一台受感…

(五)STM32 NVIC 中断、优先级管理及 AFIO 时钟的开启

目录 1. 中断相关知识简介 1.1 什么是中断 1.2 什么是内中断、外中断 1.3 什么是可屏蔽中断、不可屏蔽中断 2. CM3 内核中断介绍 2.1 F103系统异常清单 2.2 F103 外部中断清单 3. NVIC 简介 3.1 NVIC 寄存器简介 3.2 NVIC 相关寄存器的介绍 4. 中断优先级 4.1 优先…

同义词替换器降低论文重复率的最新技术进展

大家好&#xff0c;今天来聊聊同义词替换器降低论文重复率的最新技术进展&#xff0c;希望能给大家提供一点参考。 以下是针对论文重复率高的情况&#xff0c;提供一些修改建议和技巧&#xff1a; 标题&#xff1a;同义词替换器降低论文重复率的最新技术进展 一、引言 随着学术…

Android : Room 数据库的基本用法 —简单应用_一_入门

1.Room介绍&#xff1a; Android Room 是 Android 官方提供的一个持久性库&#xff0c;用于在 Android 应用程序中管理数据库。它提供了一个简单的 API 层&#xff0c;使得使用 SQLite 数据库变得更加容易和方便。 以下是 Android Room 的主要特点&#xff1a; 对象关系映射…

一个人全干!之后台管理中的搜索区域的展开收缩组件。

后台管理系统中大多数都有列表的搜索&#xff0c;那么用户的需求又需要必要时收缩搜索区域&#xff0c;需要时再展开。 而且怪的是他还需要一些部分不可收缩&#xff0c;不需要的地方才收缩。使用v-if来解决吧又不咋美观&#xff0c;我们还需要一个简单的动画效果。我们先写一…

.NET医院检验系统LIS源码,使用了oracle数据库,保证数据的隔离和安全性

医院检验系统LIS源码&#xff0c;LIS系统全套商业源码 LIS系统实现了实验室人力资源管理、标本管理、日常事务管理、网络管理、检验数据管理&#xff08;采集、传输、处理、输出、发布&#xff09;、报表管理过程的自动化&#xff0c;使实验室的操作人员和管理者从繁杂的手工劳…

vue的computed中的getter和setter

vue的computed中的getter和setter 定义getter写法setter写法 定义 computed 中可以分成 getter&#xff08;读取&#xff09; 和 setter&#xff08;设值&#xff09;&#xff0c;一般情况下是没有 setter 的&#xff0c;computed 预设只有 getter&#xff0c;也就是只能读取&a…

【EI会议征稿】第三届电力系统与电力工程国际学术会议(PSPE 2024)

第三届电力系统与电力工程国际学术会议&#xff08;PSPE 2024&#xff09; 2024 3rd International Conference on Power System and Power Engineering(PSPE 2024) 第三届电力系统与电力工程国际学术会议&#xff08;PSPE 2024&#xff09;于2024年3月29-31日在中国三亚隆重召…