美文网首页从零学Java笔录凯哥Java-工作总结
小程序识别带多个参数二维码进入商品详情

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

作者: 凯哥Java | 来源:发表于2019-08-08 13:04 被阅读0次

    前提:

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

    首先,要生成带参数的二维码,然后你把这个二维码放到海报上,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

          })

        }

    }

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

    相关文章

      网友评论

        本文标题:小程序识别带多个参数二维码进入商品详情

        本文链接:https://www.haomeiwen.com/subject/tftxjctx.html