小程序踩过的一个小坑---解析二维码decodeURICompo

2020-05-14  本文已影响0人  端木安玉

因为我们需要用户扫码进入小程序,每一个货柜都有一个对应的二维码,当然每个二维码里的信息也不一样。用户扫码进入小程序之后,二维码的信息会以参数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");
    }
  },

所以在这迷茫了一会。这个小坑跨过去了,在此记录一下。

上一篇 下一篇

猜你喜欢

热点阅读