第五期:如何经过知晓云生成带参数二维码

做者:知晓云 - 小程序开发快人一步
来源:知晓课堂json

许多小程序开发者,都须要获取进入小程序不一样页面的二维码:包括常见的四方形「QR 码」和微信推出的「小程序码」。小程序

这时候,咱们直接在小程序后台中获取到的二维码,就远远没法知足咱们以上需求了。贴心的是,微信提供了「获取小程序二维码」的接口segmentfault

经过这个接口,商家和开发者可以制做进入不一样页面的小程序二维码,而不会限定扫码进入小程序主页微信小程序

下面,咱们就以某游戏资料库小程序的英雄详情页为例,展现这个接口的使用方法。api

准备工做

首先,咱们须要确保在小程序的app.json代码中,已经注册了相应的页面服务器

在本例的设定中,咱们就须要在pages里,将pages/detail/hero/hero这个页面注册进去。微信

固然,相应目录下也须要有相应的页面文件,且你的小程序已经有已发布的线上版本。不然,用户扫码后,微信会提示出错。app

接下来,咱们须要到微信小程序后台,获取小程序的 AppSecret(若是已经获取,这一步能够跳过)。spa

进入小程序后台,点击左侧「设置」,找到「开发设置」,咱们就能找到 AppSecret 一项。点击「获取」或「重置」,扫码以后,网页就会显示新的 AppSecret。须要注意的是,若是你以前生成过新的 AppSecret,那么旧的 AppSecret 会随这个操做而失效。3d

开发者也须要记得妥善保管 AppSecret,尽量保证 AppSecret 不会丢失、泄漏。

获取二维码

有了小程序的 AppID 和 AppSecret,咱们就能利用服务器,获取小程序的二维码了。在本例,咱们经过模拟请求的方式,让你们了解这个接口的使用方法和原理。

首先,咱们要利用 AppID 和 AppSecret,获取 Access Token

这一步,咱们请求的地址是https://api.weixin.qq.com/cgi-bin/token,你须要使用GET方法,传递你的 AppID 和 AppSecret。

从结果中,咱们能够得知:执行这个操做后,微信会给你返回一个 JSON 数据包。解析这个数据包,咱们就能够得到 Access Token。

有了 Access Token,咱们就能够获取不一样的小程序二维码了。

微信提供了两个POST 获取小程序二维码的接口。你能够根据你的业务需求,自由选择任一接口,获取相应的小程序二维码(GET参数中的ACCESS_TOKEN部分填入上一步咱们获取到的 Access Token)。

  • 获取「小程序码」,可使用这个接口:

    https://api.weixin.qq.com/wxa/getwxacode?access_token=ACCESS_TOKEN

  • 想要经典的「小程序二维码」,可使用这个接口:

    https://api.weixin.qq.com/cgi-bin/wxaapp/createwxaqrcode?access_token=ACCESS_TOKEN

POST请求体中,须要包含小程序的页面地址,以及传入小程序的参数。记住,这个页面必需要在小程序里的app.json进行注册。

本例中,JSON 请求体以下:

发送请求后,微信会直接返回一张制做好的「小程序码」。

如今,长按上图扫一扫,看看是否是到了指定页面了?

注意事项

除了咱们文中举例的接口,微信还开放了另外一个与二维码相关的接口,即 wxacodeunlimit 来获取小程序码。(数量不限;但没法携带参数)

微信将经过「获取小程序二维码」接口获取的二维码的数量限定在十万个,而且彷佛并无「注销之前生成的二维码」的功能和机制。

因此,若是你有很是大量的小程序二维码生成需求,建议使用普通连接小程序的方式生成小程序码。若是须要使用微信提供的二维码生成接口生成带参数的小程序码,也要注意不要超过限额。

更便捷的方式

知晓云 JS SDK 将上面的实现过程进行了封装,一个接口就能够实现上文提到的三种获取方式(知晓云还会帮你存储管理 Access Token)。该接口为:

wx.BaaS.getWXACode(type, params)

接口中 type 的三种类型

  • wxacode :获取小程序码,适用于须要的码数量较少的场景,生成的码永久有效,数量有限
  • wxacodeunlimit:获取小程序码,适用于须要的码数量极多的业务场景,生成的码永久有效,数量暂无限制
  • xaqrcode:获取小程序二维码,该接口生成的码永久有效,数量有限
    params 对应了微信获取二维码的参数,详情请查阅知晓云 SDK 文档

注意,该接口不须要再传入 Access Token,但在调用前须要提早确保:

  • 在知晓云「设置」->SDK 页面中开启了 SDK 生成小程序码的权限
  • 知晓云「设置」->小程序页面中已经配置好了 AppID 和 AppSecret

PS:知晓云后台自带二维码生成功能,无需开发也能快速获取进入小程序不一样页面的二维码。

image.png

相关阅读

第一期:快速实现图片爬虫
第二期:快速生成分享海报
第三期:处理微信卡券消息
第四期:自动回复客服消息

关注「知晓云」公众号,点击菜单栏「知晓云」-「知晓课堂」,获取更多开发教程。

相关文章
相关标签/搜索