oil-station/pos-uni/pagesHome/AddVip/AddCode.vue

201 lines
4.3 KiB
Vue
Raw Normal View History

2024-05-28 09:34:09 +08:00
<template>
<view class="content">
<view class="container">
<headers :titles="titles"><u-icon name="arrow-left" color="#fff" size="22"></u-icon></headers>
2024-05-28 10:12:15 +08:00
<view class="box-">
<view class="title_">扫码成为京博加油站会员</view>
<view
style="background: #fff;width: 215px; height: 220px; border-radius: 8px ; margin: 15px auto; box-sizing: border-box; padding-top: 10px; ">
2024-05-31 10:37:17 +08:00
<canvas id="qrcode" canvas-id="qrcode" style="width: 200px;height: 200px; margin: 0px auto; ">
<!-- <image url="https://cdn.uviewui.com/uview/resources/18496183264.png"></image> -->
</canvas>
2024-05-28 10:12:15 +08:00
</view>
2024-05-31 10:37:17 +08:00
<view class="title_">扫码识别领取会员卡</view>
2024-05-28 09:34:09 +08:00
</view>
<view class="p-bottom">
<view class="anniu" @click="goback()">
2024-05-28 10:12:15 +08:00
手动添加
2024-05-28 09:34:09 +08:00
</view>
</view>
</view>
</view>
</template>
<script>
2024-05-29 15:15:33 +08:00
import request from "../../utils/request";
2024-05-31 10:37:17 +08:00
import config from '@/config'
2024-05-29 15:15:33 +08:00
2024-05-28 09:34:09 +08:00
import headers from '../../components/header/headers.vue'
2024-05-28 10:12:15 +08:00
import UQRCode from '../../uni_modules/Sansnn-uQRCode/js_sdk/uqrcode/uqrcode.js';
2024-05-28 09:34:09 +08:00
export default {
data() {
return {
titles: "新增会员",
2024-05-31 10:37:17 +08:00
storeId: '',
collectionImg: '',
baseUrl: config.baseUrl,
2024-05-28 09:34:09 +08:00
}
},
onShow() {
2024-05-29 15:15:33 +08:00
2024-05-28 09:34:09 +08:00
// this.actList = ["1", "1", "1", "1", "1", ]
// this.status = "nomore" 底部刷新结束
2024-05-31 10:37:17 +08:00
// this.getStore()
this.getQRCodeInfoByStoreId()
// this.onReady2()
// await this.onReady()
2024-05-28 09:34:09 +08:00
},
onPullDownRefresh() {
console.log("刷新");
uni.stopPullDownRefresh()
},
onReachBottom() {
// this.show = true
setTimeout(() => {
console.log("加载执行");
}, 2000)
},
components: {
headers
},
methods: {
2024-05-31 10:37:17 +08:00
// async getStore() {
// await request({
// url: 'business/storeInformation/store',
// method: 'get',
// params: this.form
// }).then((res) => {
// if (res.code == 200) {
// this.storeId = res.data.id
// } else {
// uni.showToast({
// title: res.data,
// icon: "none"
// })
// }
// })
// },
getQRCodeInfoByStoreId() {
request({
url: 'business/storeInformation/qrCode/createStoreQrCodeByPos',
method: 'post',
data: {
type: 0
}
}).then((res) => {
if (res.code == 200) {
this.collectionImg = res.data;
console.log("res", res)
this.onReady2()
} else {
uni.showToast({
title: res.data,
icon: "none"
})
}
})
},
onReady2() {
2024-05-28 10:12:15 +08:00
// 获取uQRCode实例
var qr = new UQRCode();
// 设置二维码内容
qr.data = "https://uqrcode.cn/doc";
// 设置二维码大小必须与canvas设置的宽高一致
qr.size = 200;
// 调用制作二维码方法
qr.make();
// 获取canvas上下文
2024-05-31 10:37:17 +08:00
// var canvasContext = uni.createCanvasContext('qrcode', this); // 如果是组件this必须传入
// // 设置uQRCode实例的canvas上下文
// qr.canvasContext = canvasContext;
// // 调用绘制方法将二维码图案绘制到canvas上
// qr.drawCanvas();
const url = this.baseUrl + this.collectionImg
// const url = ""
console.log("this.collectionImg()", url)
const ctx = uni.createCanvasContext('qrcode', this);
ctx.drawImage(url, 0, 0, 200, 200);
ctx.draw(true, () => {})
2024-05-28 10:12:15 +08:00
},
2024-05-28 09:34:09 +08:00
goback() {
2024-05-28 10:12:15 +08:00
uni.navigateTo({
url: '/pagesHome/AddVip/AddVip'
})
2024-05-28 09:34:09 +08:00
}
}
}
</script>
<style scoped lang="scss">
.content {
background: #fff;
// 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: #fff;
box-sizing: border-box;
padding-top: 88px;
}
.img-box {
image {
width: 100%;
height: 100%;
}
}
2024-05-28 10:12:15 +08:00
.p-bottom {
width: 100%;
height: 68px;
background: #fff;
position: fixed;
bottom: 0px;
left: 0px;
}
.anniu {
height: 40px;
background: #0864E9;
width: 80%;
display: flex;
align-items: center;
justify-content: center;
color: #fff;
border-radius: 50px;
margin: 5px auto;
}
.box- {
width: 95%;
margin: 15px auto;
border-radius: 8px;
background: #0864E9;
height: 400px;
2024-05-28 14:28:36 +08:00
box-sizing: border-box;
padding-top: 15px;
2024-05-28 10:12:15 +08:00
}
.title_ {
text-align: center;
width: 100%;
font-weight: bold;
font-size: 16px;
color: #FFFFFF;
margin-bottom: 15px;
}
2024-05-28 09:34:09 +08:00
</style>