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.
62 lines
1.5 KiB
62 lines
1.5 KiB
<template>
|
|
<view class="pageBgImg">
|
|
<topNavbar title="个人二维码"></topNavbar>
|
|
<view class="pad">
|
|
<view class="card">
|
|
<view class="qcode">
|
|
<canvas id="qrcode" canvas-id="qrcode" style="width: 200px;height: 200px;"></canvas>
|
|
</view>
|
|
</view>
|
|
|
|
<view class="card">
|
|
<user-info/>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</template>
|
|
|
|
<script>
|
|
import UQRCode from 'uqrcodejs';
|
|
export default {
|
|
onReady() {
|
|
// 获取uQRCode实例
|
|
var qr = new UQRCode();
|
|
let {coachId, nickname, schoolId, tenantId} = this.vuex_userInfo.user
|
|
// 设置二维码内容
|
|
qr.data = JSON.stringify({
|
|
coachId,
|
|
schoolId,
|
|
nickname: encodeURIComponent(nickname),
|
|
schoolName: encodeURIComponent('必须与canvas设置的宽高一致/设置二维码大小')
|
|
})
|
|
|
|
// 设置二维码大小,必须与canvas设置的宽高一致
|
|
qr.size = 200;
|
|
qr.margin = 10;
|
|
qr.errorCorrectLevel = UQRCode.errorCorrectLevel.L
|
|
// 调用制作二维码方法
|
|
qr.make()
|
|
qr.foregroundImageSrc = require('./coach.png')
|
|
// 获取canvas上下文
|
|
var canvasContext = uni.createCanvasContext('qrcode', this); // 如果是组件,this必须传入
|
|
// 设置uQRCode实例的canvas上下文
|
|
qr.canvasContext = canvasContext;
|
|
// 调用绘制方法将二维码图案绘制到canvas上
|
|
qr.drawCanvas();
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style lang="scss" scoped>
|
|
.qcode {
|
|
width: 100%;
|
|
height: 600rpx;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
.card {
|
|
padding: 28rpx;
|
|
margin-bottom: 24rpx;
|
|
}
|
|
</style>
|