前提:
因为在商品详情页面中有个一功能是点击分享生成海报,海报上面有商品信息以及商品小程序码,用户通过将海报分享给别人的时候,那个人可以通过识别那个商品小程序码进入该商品详情页。
首先,要生成带参数的二维码,然后你把这个二维码放到海报上,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
})
}
}
最后,使用小程序开发工具中 编译状态下的 "通过二维码编译" 识别小程序码测试是否获取到参数:
网友评论