小程序识别带多个参数二维码进入商品详情

  • 作者: 凯哥Java
  • 经验分享
  • 时间:2019-08-08 12:01
  • 111人已阅读
简介 前提:因为在商品详情页面中有个一功能是点击分享生成海报,海报上面有商品信息以及商品小程序码,用户通过将海报分享给别人的时候,那个人可以通过识别那个商品小程序码进入该商品详情页。 首先,要生成带参数的二维码,然后你把这个二维码放到海报上,canvas绘制海报的方法在我之前的博文里已经写过,不清楚的可以翻看一下: //获取海报商品二维码 getQCoder:functio

前提:

因为在商品详情页面中有个一功能是点击分享生成海报,海报上面有商品信息以及商品小程序码,用户通过将海报分享给别人的时候,那个人可以通过识别那个商品小程序码进入该商品详情页。

首先,要生成带参数的二维码,然后你把这个二维码放到海报上,canvas绘制海报的方法在我之前的博文里已经写过,不清楚的可以翻看一下:

  // 获取海报商品二维码

  getQCoder: function() {

    var that = this

    wx.request({

      url: url + "/mini/createwxaqrcode",

      data: {

        page: "pages/Community/C-product/C-product",

        scene: that.data.productId + "-" + that.data.spikeId

      },

      method: 'GET',

      dataType: 'json',

      header: {

        'content-type': 'application/x-www-form-urlencoded'

      },

      success: (res) => {

        //从res中获取海报商品二维码

      },

    })

  },

url:是后台小伙伴给你提供的路径


data:page是通过识别小程序码进入的那个页面路径;scene是小程序码带的参数


scene参数不能有参数名,只能直接写值,若多参数的情况下你要在值与值之间拿分隔符隔开(这里分隔符使用的啥,后面获取参数值的时候就得拿这个分隔符截取);

不固定的参数:scene: that.data.productId + "-" + that.data.spikeId


固定的参数:scene: "123-csh"

其次,截取二维码参数:

onLoad: function(options) {

    var that = this

    if (options.scene) {

      let scene = decodeURIComponent(options.scene);

      //-是我们分隔参数的方式

      let productId = scene.split("-")[0];

      let spikeId = scene.split('-')[1];

      that.setData({

        productId: productId,

        spikeId: spikeId

      })

    }

}

最后,使用小程序开发工具中 编译状态下的 "通过二维码编译" 识别小程序码测试是否获取到参数:



 



TopTop