1、生成二维码
- 在小程序开发中,经常需要用到通过分享小程序二维码,进行扫码进入小程序。
- 官方文档 生成小程序二维码接口,这个生成接口可以放置服务器使用。
page:是扫码之后需要打开的小程序页面
scene:是小程序通过扫码之后进入小程序页面带进来的参数,这个参数也是你在生成二维码的时候填好的识别参数
其他的属性可以直接看文档,主要功能还是在这两个参数上。 - 生成二维码的时候报错:
invalid page hint: [khnDRb0gE-rMmlpA] rid: 5f475efd-096822b7-643b3732
1、一种原因是线上小程序不存在当前这个配置的页面地址,所以需要等上线之后才可以测试。
2、一种原因是在填写参数 page 的时候:pages/index/index
不要写成/pages/index/index
。 - 通过文档生成小程序二维码之后,并分享之后,如何获取到扫码进来二维码所带的参数呢,我们只需要生成二维码的时候配置的 page 页面中 onLoad 中进行判断处理即可:
onLoad: function (options) { if (options.scene) { // 必须要 decodeURIComponent 格式化一下,不然里面的符号会是 %23... 这样的格式 let scene = decodeURIComponent(options.scene); // '&'是我们定义的参数链接方式 let userID = scene.split("&")[0]; let bookID = scene.split('&')[1]; // 其他逻辑处理。。。。。 } }
2、扫码进入开发版测试二维码数据
- 我们通过下面数据生成二维码,注意配置的页面需要存在于小程序项目里面,不存在是无法打开页面的:
{ "page": "pages/index/index", "scene": "name=dzm#age=18" }
- 生成二维码之后,我们将二维码保存到桌面上,然后打开小程序工具:
点击头部的编译模式,找到通过二维码编译
,然后选择桌面上的二维码图片,这样就会跟手机上扫码一样,打开二维码中配置的页面,以及通过页面中onLoad: function (options)
方法带过来之前配置的scene
参数。
- 解析参数看第一步中最后一步即可。
3、扫码进入开发版测试二维码数据
- 其实还可以通过 选择编译模式中的
自定义编译条件
来进行测试
- 模式名称: 随便起个名字,方便下次找到在重复使用
- 启动页面: 我们之前配置二维码中需要打开的页面
- 启动参数:我们之前配置二维码中需要打开的页面附带的参数,填写格式为:
scene=yq#397#261
,也可以传入格式化好的数据scene=yq%23397%23261
这里就不能出现多余的=
号了 例如scene=name=dzm#age=18
这中数据就不能这么传的,自己拿去格式化一下在放进来,里面的 scene 就需要我们自己指定好,打开页面的时候获取到的数据就是这样的了:{scene: "yq#397#261"}
或{scene: "yq%23397%23261"}
,然后参数通过decodeURIComponent
格式化回来就都是yq#397#261
了。 - 进入场景:无特殊情况默认即可
- 然后点击确定即可测试!