关于微信小程序生成小程序码出现空白或不显示的解决方案

1.如何生成小程序码

我们先来一码压压惊!(该码来自官方,仅作娱乐大众使用)

image.png

2.生成二维码种类

为满足不同需求和场景,这里提供了两个接口,开发者可挑选适合自己的接口。

  • 接口 A: 适用于需要的码数量较少的业务场景
    生成小程序码,可接受 path 参数较长,生成个数受限,数量限制见 注意事项,请谨慎使用。

  • 接口 B:适用于需要的码数量极多的业务场景
    生成小程序码,可接受页面参数较短,生成个数不受限

  • 接口 C:适用于需要的码数量较少的业务场景
    生成二维码,可接受 path 参数较长,生成个数受限,数量限制见 注意事项。

  • 接口 D:适用于“一物一码”的业务场景
    微信一物一码 支持生成小程序码。微信通过“一物一码”接口发放的二维码相比较普通链接二维码更安全、支持更小的印刷面积,支持跳转到指定小程序页面,且无数量限制。

      --------以上文档,四种生成二维码接口种类均来自微信官方文档.----------
    

3.解决创建二维码请求数据成功但显示为空的问题

先给大家看个截图,


image.png
{"respCode":"000000",
"respImg":"data:image/png;base64,eyJlcnJjb2RlIjo0MDE2OSwiZXJybXNnIjoiaW52YWxpZCBsZW5ndGggZm9yIHNjZW5lLCBvciB0aGUgZGF0YSBpcyBub3QganNvbiBzdHJpbmcgaGludDogW3lJMXFCYTAwMzYxNTQzXSJ9",
"respMsg":"成功"}

本应显示小程序二维码的界面却空空如也....


image.png

是不是感觉返回的图片信息非常眼熟?眼熟就对了, 这貌似是微信的一个小漏洞吧. 当你存入的数据超过32个长度,就会出现这样情况.

据我所知,基本上大家需要使用的接口都会选择[接口B],也就是能够生成无限个二维码.
出现请求二维码的接口成功并且也成功返回了data/base64数据,但还是无法正常显示,为什么?因为大家没有把文档看仔细.[这貌似是大家都会犯的错误.]

我们重新回顾一下,接口B的文档中的字段说明.
请求地址

    POST https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=ACCESS_TOKEN
image.png

我着重加粗了字体,最大只支持32个可见字符,我发现很多需求要求存值的时候,压根没有注意到字段还有限制,所以造成了长字段生成为空,短字段无问题的情况,为此,我还让后台好好查了一下代码,结果无功而返,开始以为是数据结构问题,后面才发现是字段长度过长的问题.

4.提供解决字段过长的解决方案(个人观点)

image.png

千言万语,也不如一张图显示的清楚,所以图即表示我的意思.该图是我自己画的,好坏自品.


以上是我关于解决方案 的个人见解,如有疑惑,还是那句话,私信皆可.

Finally . Thank you watching my note.
goodbye next time.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。