赞
踩
在小程序开发中,经常需要用到通过分享小程序二维码,进行扫码进入小程序。
官方文档 生成小程序二维码接口,这个生成接口可以放置服务器使用。
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];
// 其他逻辑处理。。。。。
}
}
{
"page": "pages/index/index",
"scene": "name=dzm#age=18"
}
生成二维码之后,我们将二维码保存到桌面上,然后打开小程序工具:
点击头部的编译模式,找到通过二维码编译
,然后选择桌面上的二维码图片,这样就会跟手机上扫码一样,打开二维码中配置的页面,以及通过页面中 onLoad: function (options)
方法带过来之前配置的 scene
参数。
自定义编译条件
来进行测试模式名称: 随便起个名字,方便下次找到在重复使用
启动页面: 我们之前配置二维码中需要打开的页面
启动参数:我们之前配置二维码中需要打开的页面附带的参数,填写格式为: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
了。
进入场景:无特殊情况默认即可
然后点击确定即可测试!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。