您的位置:首页 > 文旅 > 旅游 > 微信小程序和支付宝小程序生成二维码

微信小程序和支付宝小程序生成二维码

2024/10/6 16:24:27 来源:https://blog.csdn.net/hanchengmei/article/details/139529588  浏览:    关键词:微信小程序和支付宝小程序生成二维码

描述:前端生成二维码

一、页面
<canvas type="2d" style="width: 312px; height: 312px;" id="myQrcode"></canvas>
二、微信小程序

安装 weapp-qrcode-canvas-2d
官方文档传送门

const query = wx.createSelectorQuery()
query.select(canvasId).fields({node: true,size: true}).exec((res) => {const canvas = res[0].node// 调用方法drawQrcode生成二维码drawQrcode({canvas: canvas,canvasId,width,padding: 0, // 码的白边background: '#ffffff',foreground: '#000000',text: '这里是二维码上的内容',}).then(res => {wx.canvasToTempFilePath({canvasId,canvas: canvas,x: 0,y: 0,width,height,destWidth: width,destHeight: height,success(res) {console.log('二维码临时路径:', res.tempFilePath)},fail(err) {console.error(err)}})})})
三、支付宝小程序
my.generateImageFromCode ({code: '这里是二维码上的内容',format: 'QRCODE',width,correctLevel: 'H',codeColor: '#e70b0b',backgroundColor: '#ffffff',success: function (res) {console.log('二维码临时路径:', res.image) // 这里是base64},fail: function (err) {console.log (err)}})
四、注意:

1、画出的二维码大小如果跟设计稿的一样,需要各种计算,为了方便,我这里是直接用的image显示的路径,然后设置image的样式

2、支付宝生成的是base64

3、ios微信小程序报错 (in promise) MiniProgramError
{“errMsg”:“canvasToTempFilePath:fail image size is 0x0”}
Object
解决:发现是canvas写了display: none

4、如果需要隐藏canvas, 不能用display:none, 也不能用transform(会占位), 我用的是fixed

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com