当前位置:   article > 正文

微信小程序中生成二维码跳转到指定页面_小程序配置完二维码跳转到网页端了

小程序配置完二维码跳转到网页端了

在微信小程序使用中,我们会遇到这样的场景,我们使用微信扫描一个二维码,然后会跳转到这个小程序中的一个页面,然后具体我们应该怎么实现呢?下面就是围绕这个功能展开的。

由于我也是第一次做,在网上查阅了一些资料后,发现小程序的文档中有下图几个api:

找小程序中的现成的api

在这里插入图片描述

这里有三个api前两个是数量有限,后一个数量没有限制,根据自己项目的具体情况可自己选择。

三个接口都可以云函数调用,下面讲的不是云函数调用方法的。

我以第三个接口为例讲一下,首先我们看一下这个请求地址和参数。

请求地址https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=ACCESS_TOKENpost请求这个就是请求的地址,那个也不是变量

在这里插入图片描述

首先我们需要先获取到access_token,如下图:

在这里插入图片描述

解决二进制返回的问题

我们拿到这个access_token之后请求这个二维码,我们会拿到这个图片的二进制数据。这里我们采取的是把整个二进制流返回给小程序端 ,这个我们小程序端接收数据的时候有一个需要注意的点,我们小程序端使用wx.request的时候设置responseType,这个api里面的细节我们可以在文档中看到,我只截出如下图:

在这里插入图片描述

这个属性默认值是text,但是我们要注意我们收到的请求是一个二进制类型的,因此我们要使用下面那个。(如果使用text,我们的响应会默认转成text会看到一堆乱码)。我们拿到这个二进制之后我们可以通过:

在这里插入图片描述

这个图中的api把二进制数据转化成base64的数据。

const img_url = `data:image/qrcode;base64,${base64}`
  • 1

然后可以通过这个方式把这个img_url放入img标签的src属性中,这样我们就能显示出来二维码了,但是这里会有一个问题,因为我们的这个二维码太大了,使用base64放入img的src中会影响渲染性能,因此我们会收到一个黄色的警告,暂时还没解决。

预想(并没有实现)

我们把图片放在后端进行处理,我们拿到二进制的图片后,先把二进制的图片转化成一个图片,然后再把这个图片的网络地址返回给小程序,这样我们在img中加载这个网络地址就行了,这样就不会有这个性能问题了,但是目前试了试二进制流转换成一个图片太好的办法,因此还没实现。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/煮酒与君饮/article/detail/994533
推荐阅读
相关标签
  

闽ICP备14008679号