vue3实现实现二维码扫码支付
在做一些跨境电商网站的支付功能时,如果遇到一些用户没有安装MetaMask钱包插件的话,就实现另一种方案,那就是用到今天的生成二维码,然后引导用户来做一个扫码支付的行为。
首先下载一个插件
这个插件主要的功能可以将你输入的内容,转换为加密格式,然后拼接生成二维码
npm install qrcode
使用方法
const qrCodeData = ref('');
const imageUrl = ref('');
const generateQRCode = async (address, amount) => {
// 第一项为USDT的合约地址,第二项为USDT的转账方法transfer,第三项为收款地址,第四项为转账金额,10*18次方
const url = `ethereum:${contractAddress}/transfer?address=${address}&uint256=${amount * 10 ** 18}`;
const qrCodeDataUrl = await QRCode.toDataURL(url);
imageUrl.value = qrCodeDataUrl;
console.log(qrCodeData.value);
};
// usdt合约地址
const contractAddress = '0x55d398326f99059ff775485246999027b3197955'
// 收款地址
const address = '0xb0e73E6e9794DD5a86e5F64aD766f205412D72A7';
// 转账金额
const amount = 5.6;
生成图片后,实现长按图片保存到本地功能
const image = ref(null)
const timer = ref(null);
// 长按调用保存图片事件
const startLongPress = (event) => {
event.preventDefault();
// console.log(event);
timer.value = setTimeout(() => {
downloadImage();
console.log('Long press event triggered');
}, 1000); // 设置长按的时间,单位为毫秒
};
// 手指抬起清除定时器
const endLongPress = () => {
clearTimeout(timer.value);
};
// 移动端长按保存图片到本地
const downloadImage = () => {
const imageElement = image.value;
const link = document.createElement('a');
link.href = imageElement.src;
link.download = 'payment';
link.click();
console.log('Image downloaded');
};
如何在页面上显示?
<div class="dialog">
<img ref="image" @touchstart="startLongPress" @touchend="endLongPress" :src="imageUrl" alt="QR Code" />
</div>
最终效果图展示:
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhgiiebk
系列文章
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
怎样阻止微信小程序自动打开
PHP中文网 06-13