前端vue uni-app基于uQRCode封装简单快速实用全端二维码生成插件

快速实现基于uQRCode封装简单快速实用全端二维码生成插件; 阅读全文下载完整代码请关注微信公众号: 前端组件开发

效果图如下:

 

代码如下:
# 基于uQRCode封装简单快速实用全端二维码生成插件

#### 使用方法

```使用方法

#引入js文件

import uQRCode from '@/common/uqrcode.js'

<view class="canvas">

<!-- 二维码插件 width height设置宽高 -->

<canvas canvas-id="qrcode" :style="{width: `${qrcodeSize}px`, height: `${qrcodeSize}px`}" />

</view>

```

#### HTML代码部分

```html

<template>

<view class="content">

<view class="canvas">

<!-- 二维码插件 width height设置宽高 -->

<canvas canvas-id="qrcode" :style="{width: `${qrcodeSize}px`, height: `${qrcodeSize}px`}" />

</view>

<text class="list-text">{{ '预约号码:' + ' ' + this.myFormatData.yyh}}

</text>

<text class="list-text"> {{ '预约窗口:' + '  ' + this.myFormatData.bsdmc}}

</text>

<text class="list-text"> {{ '业务类型:' + '  ' + this.myFormatData.Yylxmc}}

</text>

<text class="list-text"> {{ '预约日期:' + '  ' + this.myFormatData.yyrq}}

</text>

</view>

</template>

```

#### JS代码 (引入组件 填充数据)

```javascript

<script>

import Vue from 'vue';

import uQRCode from '@/common/uqrcode.js'

export default {

data() {

return {

// 二维码标识串

qrcodeText: '',

// 二维码尺寸

qrcodeSize: 136,

// 最终生成的二维码图片

qrcodeSrc: '',

myFormatData:{'yyh':'eoruw20230528','bsdmc':'窗口1','Yylxmc':'租金缴纳','yyrq':'预约日期'},

}

},

onLoad(e) {

this.make();

},

methods: {

make() {

uni.showLoading({

title: '二维码生成中',

mask: true

})

uQRCode.make({

canvasId: 'qrcode',

text: this.qrcodeText,

size: this.qrcodeSize,

margin: 10,

success: res => {

this.qrcodeSrc = res

console.log('qrcodeSrc = ' + this.qrcodeSrc);

},

complete: () => {

uni.hideLoading()

}

})

},

}

}

</script>

```

#### CSS

```CSS

<style>

page {

 

}

.content {

display: flex;

flex-direction: column;

justify-content: center;

align-items: center;

margin-top: var(--status-bar-height);

}

.text {

display: flex;

justify-content: center;

margin-top: 46rpx;

margin-bottom: 6rpx;

font-size: 36rpx;

height: 44rpx;

color: #333333;

}

.canvas {

margin-top: 50rpx;

margin-bottom: 36rpx;

text-align: center;

}

.list-text {

display: flex;

justify-content: center;

width: 100%;

line-height: 60rpx;

font-size: 28rpx;

color: #666666;

}

.button {

width: 88%;

margin-top: 52rpx;

}

</style>

```

 


 

posted @ 2023-06-10 07:35  前端组件开发  阅读(323)  评论(0编辑  收藏  举报