You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
51 lines
1.1 KiB
51 lines
1.1 KiB
<template>
|
|
<div v-if="false">
|
|
<!-- 你可以选择是否需要展示 base64 编码字符串 -->
|
|
<div v-for="(code, index) in qrCodesBase64" :key="index">
|
|
<!-- <p>{{ code }}</p>-->
|
|
<img :src="code"/>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
|
|
<script>
|
|
import QRCode from 'qrcode'
|
|
|
|
export default {
|
|
name: 'QrCode',
|
|
data() {
|
|
return {
|
|
texts: ['text1', 'text2', 'text3'], // 你要生成二维码的文本数组
|
|
qrCodesBase64: []
|
|
}
|
|
},
|
|
methods: {
|
|
init(contextList){
|
|
this.texts = contextList
|
|
this.generateQRCodesSync(this.texts)
|
|
return this.qrCodesBase64
|
|
},
|
|
generateQRCodeSync(text) {
|
|
let base64 = ''
|
|
QRCode.toDataURL(text, { errorCorrectionLevel: 'H' }, (err, url) => {
|
|
if (err) {
|
|
console.error(err)
|
|
return
|
|
}
|
|
base64 = url
|
|
})
|
|
return base64
|
|
},
|
|
generateQRCodesSync(texts) {
|
|
this.qrCodesBase64 = texts.map(text => this.generateQRCodeSync(text))
|
|
}
|
|
},
|
|
mounted() {
|
|
this.generateQRCodesSync(this.texts)
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style>
|
|
/* 你的样式 */
|
|
</style>
|