小程序踩过的一个小坑---解析二维码decodeURIComponent() url解码

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

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。