因为我们需要用户扫码进入小程序,每一个货柜都有一个对应的二维码,当然每个二维码里的信息也不一样。用户扫码进入小程序之后,二维码的信息会以参数q带进去,而我们只能在onLoad事件中拿到这个参数,
坑1:
但是获取到的信息是经过encodeURIComponent()编码的,注意不是encodeURI()编码的,所以需要用decodeURIComponent()解码,而不能用decodeURI(),这个在文档上没太说明白,见文档 mp.weixin.qq.com/debug/wxadoc/introduction/qrcode.html#二维码跳转规则 。
坑2:二维码内容获取
在小程序后台配置二维码跳转小程序规则之后即可使用微信(6.5.6及其以上客户端版本)扫码打开小程序。
二维码链接内容会以参数q的形式带给页面,
重点
注意
重点
在onLoad事件中提取q参数并自行
decodeURIComponent
一次,即可获取原二维码的完整内容。
也就是说你要在代码里机密才能获取二维码的参数
eg:
onLoad(options) {
if (options.scene) {
console.log("has scene");
var scene = decodeURIComponent(options.scene);
console.log("scene is ", scene);
var arrPara = scene.split("&");
var arr = [];
for (var i in arrPara) {
arr = arrPara[i].split("=");
wx.setStorageSync(arr[0],arr[1]);
console.log("setStorageSync:",arr[0],"=",arr[1]);
}
} else {
console.log("no scene");
}
},
所以在这迷茫了一会。这个小坑跨过去了,在此记录一下。
网友评论