共计 2036 个字符,预计需要花费 6 分钟才能阅读完成。
安装 vue-qr
npm install vue-qr --save
生成二维码实列
<vue-qr ref="Qrcode"
:text="qrCodeConfig.text"
:download="downloadFilename"
:margin="10"
:size="200"
:dotScale="qrCodeConfig.dotScale"
:colorDark="qrCodeConfig.colorDark"
>
</vue-qr>
data(){
return {
qrCodeConfig: {
text: 'http://121.40.121.142:8080/register?parent_id='+id,
dotScale: 0.9,
colorDark: '#663300'
},
downloadFilename:''
}
}
属性介绍
属性 | 描述 | 举列 |
---|---|---|
text | 要生成二维码的内容 | https://segmentfault.com/write |
size | 设置二维码大小, 宽高相等 | 200 |
margin | 二维码与边框的距离, 可以设置白边 | 20 |
colorDark | 实点的颜色 | #333 |
colorLight | 空白区的颜色 | #999 |
bgSrc | 欲嵌入的背景图地址 | https://www.vipbic.com/**.jpg |
gifBgSrc | 欲嵌入的背景图 gif 地址, 设置后普通的背景图将失效。设置此选项会影响性能 | 200 |
backgroundColor | 背景色 | #666 |
backgroundDimming | 叠加在背景图上的颜色, 在解码有难度的时有一定帮助 | #444 |
logoSrc | 中央图片或 logo 的路径 | https://www.vipbic.com/**.jpg |
logoMargin | LOGO 标识周围的空白边框 | 1 |
logoBackgroundColor | Logo 背景色, 需要设置 logo margin | #888 |
logoCornerRadius | LOGO 标识及其边框的圆角半径 | 3 |
下载二维码
downloadImg () {
const iconUrl = this.$refs.Qrcode.$el.src
let a = document.createElement('a')
let event = new MouseEvent('click')
a.download = '二维码'
a.href = iconUrl
a.dispatchEvent(event)
}
最终效果
最终代码
<template>
<div class="full-screen-btn-con">
<Button type="warning" @click="showImage"> 获取二维码 </Button>
<Modal
v-model="modal"
title="经济人二维码"
>
<div class="code-img">
<vue-qr ref="Qrcode" :text="qrCodeConfig.text" :download="downloadFilename" :margin="10" :size="200" :dotScale="qrCodeConfig.dotScale" :colorDark="qrCodeConfig.colorDark"></vue-qr>
</div>
<div slot="footer">
<Button type="primary" @click="downloadImg"> 下载二维码 </Button>
<Button type="primary" @click="modal = !modal"> 关闭 </Button>
</div>
</Modal>
</div>
</template>
<script>
import VueQr from 'vue-qr'
export default {
name: 'Fullscreen',
components: {VueQr},
data(){
let id = this.$store.state.user.userId;
return {
modal : false,
qrCodeConfig: {
text: 'http://121.40.122.152:8080/register?parent_id='+id,
dotScale: 0.9,
colorDark: '#663300'
},
downloadFilename:''
}
},
methods: {showImage (sid, key, index) {this.modal = true},
downloadImg () {
const iconUrl = this.$refs.Qrcode.$el.src
let a = document.createElement('a')
let event = new MouseEvent('click')
a.download = '二维码'
a.href = iconUrl
a.dispatchEvent(event)
}
},
mounted () {}
}
</script>
<style lang="less" scoped>
.code-img{text-align: center;}
</style>
正文完