<template> <view class="content"> <view class="container"> <headers :titles="titles"><u-icon name="arrow-left" color="#fff" size="22"></u-icon></headers> <view class="img-box"> <view class="title_">请扫码支付</view> <canvas id="qrcode" canvas-id="qrcode" style="width: 200px;height: 200px; margin: 15px auto;"></canvas> <view class="z-size"> <view class="" @click="setAmount">设置金额</view> <view class="">保存图片</view> </view> </view> </view> </view> </template> <script> import headers from '../../components/header/headers.vue' import UQRCode from '../../uni_modules/Sansnn-uQRCode/js_sdk/uqrcode/uqrcode.js'; export default { data() { return { titles: "刷卡支付", orderNo:"", qrCode:"", } }, onLoad(e) { this.orderNo = e.orderNo this.qrCode = uni.getStorageSync("qrCode") console.log(this.qrCode); this.onReady() }, onShow() { // this.actList = ["1", "1", "1", "1", "1", ] // this.status = "nomore" 底部刷新结束 }, onPullDownRefresh() { console.log("刷新"); uni.stopPullDownRefresh() }, onReachBottom() { // this.show = true setTimeout(() => { console.log("加载执行"); }, 2000) }, components: { headers }, methods: { // 设置金额 setAmount() { uni.navigateTo({ url: "/pagesHome/PaymentCode/SetUpCode?orderNo="+this.orderNo }) }, onReady() { // 获取uQRCode实例 var qr = new UQRCode(); // 设置二维码内容 qr.data = this.qrCode; // 设置二维码大小,必须与canvas设置的宽高一致 qr.size = 200; // 调用制作二维码方法 qr.make(); // 获取canvas上下文 var canvasContext = uni.createCanvasContext('qrcode', this); // 如果是组件,this必须传入 // 设置uQRCode实例的canvas上下文 qr.canvasContext = canvasContext; // 调用绘制方法将二维码图案绘制到canvas上 qr.drawCanvas(); }, goback() { uni.navigateBack() } } } </script> <style scoped lang="scss"> .content { background: #0864e9; // background: linear-gradient(180deg, #B2D2FC 0%, #B2D2FC 14%, rgba(255, 255, 255, 0.84) 24%, rgba(255, 255, 255, 0.84) 100%); height: 100vh; } .container { width: 100%; background: #0864e9; box-sizing: border-box; padding-top: 88px; } .img-box { width: 95%; height: 300px; background: #FFFFFF; border-radius: 8px; margin: 15px auto; box-sizing: border-box; padding: 15px; } .title_ { width: 100%; text-align: center; font-weight: bold; font-size: 16px; color: #333333; margin-bottom: 15px; } .z-size { width: 200px; display: flex; align-items: center; justify-content: space-between; margin: 0 auto; } </style>